diff --git a/apps/metro-example-host/.bundle/config b/apps/metro-example-host/.bundle/config
new file mode 100644
index 0000000000..848943bb52
--- /dev/null
+++ b/apps/metro-example-host/.bundle/config
@@ -0,0 +1,2 @@
+BUNDLE_PATH: "vendor/bundle"
+BUNDLE_FORCE_RUBY_PLATFORM: 1
diff --git a/apps/metro-example-host/.eslintrc.js b/apps/metro-example-host/.eslintrc.js
new file mode 100644
index 0000000000..187894b6af
--- /dev/null
+++ b/apps/metro-example-host/.eslintrc.js
@@ -0,0 +1,4 @@
+module.exports = {
+ root: true,
+ extends: '@react-native',
+};
diff --git a/apps/metro-example-host/.gitignore b/apps/metro-example-host/.gitignore
new file mode 100644
index 0000000000..4ea16da8b4
--- /dev/null
+++ b/apps/metro-example-host/.gitignore
@@ -0,0 +1,81 @@
+# OSX
+#
+.DS_Store
+
+# Xcode
+#
+build/
+*.pbxuser
+!default.pbxuser
+*.mode1v3
+!default.mode1v3
+*.mode2v3
+!default.mode2v3
+*.perspectivev3
+!default.perspectivev3
+xcuserdata
+*.xccheckout
+*.moved-aside
+DerivedData
+*.hmap
+*.ipa
+*.xcuserstate
+**/.xcode.env.local
+
+# Android/IntelliJ
+#
+build/
+.idea
+.gradle
+local.properties
+*.iml
+*.hprof
+.cxx/
+*.keystore
+!debug.keystore
+.kotlin/
+
+# node.js
+#
+node_modules/
+npm-debug.log
+yarn-error.log
+
+# fastlane
+#
+# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
+# screenshots whenever they are needed.
+# For more information about the recommended setup visit:
+# https://docs.fastlane.tools/best-practices/source-control/
+
+**/fastlane/report.xml
+**/fastlane/Preview.html
+**/fastlane/screenshots
+**/fastlane/test_output
+
+# Bundle artifact
+*.jsbundle
+
+# Ruby / CocoaPods
+**/Pods/
+/vendor/bundle/
+
+# Temporary files created by Metro to check the health of the file watcher
+.metro-health-check*
+
+# testing
+/coverage
+
+# Yarn
+.yarn/*
+!.yarn/patches
+!.yarn/plugins
+!.yarn/releases
+!.yarn/sdks
+!.yarn/versions
+
+# build artifacts
+dist/
+
+# RNEF
+.rnef
diff --git a/apps/metro-example-host/.prettierrc.js b/apps/metro-example-host/.prettierrc.js
new file mode 100644
index 0000000000..2b540746a7
--- /dev/null
+++ b/apps/metro-example-host/.prettierrc.js
@@ -0,0 +1,7 @@
+module.exports = {
+ arrowParens: 'avoid',
+ bracketSameLine: true,
+ bracketSpacing: false,
+ singleQuote: true,
+ trailingComma: 'all',
+};
diff --git a/apps/metro-example-host/.watchmanconfig b/apps/metro-example-host/.watchmanconfig
new file mode 100644
index 0000000000..0967ef424b
--- /dev/null
+++ b/apps/metro-example-host/.watchmanconfig
@@ -0,0 +1 @@
+{}
diff --git a/apps/metro-example-host/Gemfile b/apps/metro-example-host/Gemfile
new file mode 100644
index 0000000000..6a4c5f1718
--- /dev/null
+++ b/apps/metro-example-host/Gemfile
@@ -0,0 +1,16 @@
+source 'https://rubygems.org'
+
+# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
+ruby ">= 2.6.10"
+
+# Exclude problematic versions of cocoapods and activesupport that causes build failures.
+gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1'
+gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0'
+gem 'xcodeproj', '< 1.26.0'
+gem 'concurrent-ruby', '< 1.3.4'
+
+# Ruby 3.4.0 has removed some libraries from the standard library.
+gem 'bigdecimal'
+gem 'logger'
+gem 'benchmark'
+gem 'mutex_m'
diff --git a/apps/metro-example-host/Gemfile.lock b/apps/metro-example-host/Gemfile.lock
new file mode 100644
index 0000000000..46cb5c886c
--- /dev/null
+++ b/apps/metro-example-host/Gemfile.lock
@@ -0,0 +1,124 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ CFPropertyList (3.0.7)
+ base64
+ nkf
+ rexml
+ activesupport (7.2.2.1)
+ base64
+ benchmark (>= 0.3)
+ bigdecimal
+ concurrent-ruby (~> 1.0, >= 1.3.1)
+ connection_pool (>= 2.2.5)
+ drb
+ i18n (>= 1.6, < 2)
+ logger (>= 1.4.2)
+ minitest (>= 5.1)
+ securerandom (>= 0.3)
+ tzinfo (~> 2.0, >= 2.0.5)
+ addressable (2.8.7)
+ public_suffix (>= 2.0.2, < 7.0)
+ algoliasearch (1.27.5)
+ httpclient (~> 2.8, >= 2.8.3)
+ json (>= 1.5.1)
+ atomos (0.1.3)
+ base64 (0.2.0)
+ benchmark (0.4.0)
+ bigdecimal (3.1.9)
+ claide (1.1.0)
+ cocoapods (1.15.2)
+ addressable (~> 2.8)
+ claide (>= 1.0.2, < 2.0)
+ cocoapods-core (= 1.15.2)
+ cocoapods-deintegrate (>= 1.0.3, < 2.0)
+ cocoapods-downloader (>= 2.1, < 3.0)
+ cocoapods-plugins (>= 1.0.0, < 2.0)
+ cocoapods-search (>= 1.0.0, < 2.0)
+ cocoapods-trunk (>= 1.6.0, < 2.0)
+ cocoapods-try (>= 1.1.0, < 2.0)
+ colored2 (~> 3.1)
+ escape (~> 0.0.4)
+ fourflusher (>= 2.3.0, < 3.0)
+ gh_inspector (~> 1.0)
+ molinillo (~> 0.8.0)
+ nap (~> 1.0)
+ ruby-macho (>= 2.3.0, < 3.0)
+ xcodeproj (>= 1.23.0, < 2.0)
+ cocoapods-core (1.15.2)
+ activesupport (>= 5.0, < 8)
+ addressable (~> 2.8)
+ algoliasearch (~> 1.0)
+ concurrent-ruby (~> 1.1)
+ fuzzy_match (~> 2.0.4)
+ nap (~> 1.0)
+ netrc (~> 0.11)
+ public_suffix (~> 4.0)
+ typhoeus (~> 1.0)
+ cocoapods-deintegrate (1.0.5)
+ cocoapods-downloader (2.1)
+ cocoapods-plugins (1.0.0)
+ nap
+ cocoapods-search (1.0.1)
+ cocoapods-trunk (1.6.0)
+ nap (>= 0.8, < 2.0)
+ netrc (~> 0.11)
+ cocoapods-try (1.2.0)
+ colored2 (3.1.2)
+ concurrent-ruby (1.3.3)
+ connection_pool (2.5.3)
+ drb (2.2.1)
+ escape (0.0.4)
+ ethon (0.16.0)
+ ffi (>= 1.15.0)
+ ffi (1.17.2)
+ fourflusher (2.3.1)
+ fuzzy_match (2.0.4)
+ gh_inspector (1.1.3)
+ httpclient (2.9.0)
+ mutex_m
+ i18n (1.14.7)
+ concurrent-ruby (~> 1.0)
+ json (2.11.3)
+ logger (1.7.0)
+ minitest (5.25.5)
+ molinillo (0.8.0)
+ mutex_m (0.3.0)
+ nanaimo (0.3.0)
+ nap (1.1.0)
+ netrc (0.11.0)
+ nkf (0.2.0)
+ public_suffix (4.0.7)
+ rexml (3.4.1)
+ ruby-macho (2.5.1)
+ securerandom (0.4.1)
+ typhoeus (1.4.1)
+ ethon (>= 0.9.0)
+ tzinfo (2.0.6)
+ concurrent-ruby (~> 1.0)
+ xcodeproj (1.25.1)
+ CFPropertyList (>= 2.3.3, < 4.0)
+ atomos (~> 0.1.3)
+ claide (>= 1.0.2, < 2.0)
+ colored2 (~> 3.1)
+ nanaimo (~> 0.3.0)
+ rexml (>= 3.3.6, < 4.0)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ activesupport (>= 6.1.7.5, != 7.1.0)
+ benchmark
+ bigdecimal
+ cocoapods (>= 1.13, != 1.15.1, != 1.15.0)
+ concurrent-ruby (< 1.3.4)
+ logger
+ mutex_m
+ xcodeproj (< 1.26.0)
+
+RUBY VERSION
+ ruby 3.1.0p0
+
+BUNDLED WITH
+ 2.6.1
diff --git a/apps/metro-example-host/README.md b/apps/metro-example-host/README.md
new file mode 100644
index 0000000000..89fe752e4c
--- /dev/null
+++ b/apps/metro-example-host/README.md
@@ -0,0 +1,106 @@
+This is a new [**React Native**](https://reactnative.dev) project, bootstrapped using [`@react-native-community/cli`](https://github.com/react-native-community/cli).
+
+# Getting Started
+
+> **Note**: Make sure you have completed the [Set Up Your Environment](https://reactnative.dev/docs/set-up-your-environment) guide before proceeding.
+
+## Step 1: Start Metro
+
+First, you will need to run **Metro**, the JavaScript build tool for React Native.
+
+To start the Metro dev server, run the following command from the root of your React Native project:
+
+```sh
+# Using npm
+npm start
+
+# OR using Yarn
+yarn start
+
+# OR using pnpm
+pnpm start
+```
+
+## Step 2: Build and run your app
+
+With Metro running, open a new terminal window/pane from the root of your React Native project, and use one of the following commands to build and run your Android or iOS app:
+
+### Android
+
+```sh
+# Using npm
+npm run android
+
+# OR using Yarn
+yarn android
+
+# OR using pnpm
+pnpm android
+```
+
+### iOS
+
+For iOS, remember to install CocoaPods dependencies (this only needs to be run on first clone or after updating native deps).
+
+The first time you create a new project, run the Ruby bundler to install CocoaPods itself:
+
+```sh
+bundle install
+```
+
+Then, and every time you update your native dependencies, run:
+
+```sh
+bundle exec pod install
+```
+
+For more information, please visit [CocoaPods Getting Started guide](https://guides.cocoapods.org/using/getting-started.html).
+
+```sh
+# Using npm
+npm run ios
+
+# OR using Yarn
+yarn ios
+
+# OR using pnpm
+pnpm ios
+```
+
+If everything is set up correctly, you should see your new app running in the Android Emulator, iOS Simulator, or your connected device.
+
+This is one way to run your app — you can also build it directly from Android Studio or Xcode.
+
+## Step 3: Modify your app
+
+Now that you have successfully run the app, let's make changes!
+
+Open `App.tsx` in your text editor of choice and make some changes. When you save, your app will automatically update and reflect these changes — this is powered by [Fast Refresh](https://reactnative.dev/docs/fast-refresh).
+
+When you want to forcefully reload, for example to reset the state of your app, you can perform a full reload:
+
+- **Android**: Press the R key twice or select **"Reload"** from the **Dev Menu**, accessed via Ctrl + M (Windows/Linux) or Cmd ⌘ + M (macOS).
+- **iOS**: Press R in iOS Simulator.
+
+## 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 [docs](https://reactnative.dev/docs/getting-started).
+
+# Troubleshooting
+
+If you're having issues getting the above steps to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page.
+
+# Learn More
+
+To learn more about React Native, take a look at the following resources:
+
+- [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.
diff --git a/apps/metro-example-host/android/app/build.gradle b/apps/metro-example-host/android/app/build.gradle
new file mode 100644
index 0000000000..f8eac47f2d
--- /dev/null
+++ b/apps/metro-example-host/android/app/build.gradle
@@ -0,0 +1,119 @@
+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/@rnef/cli/dist/src/bin.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 = "bundle-mf-host"
+ //
+ // 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.mf.example.host"
+ defaultConfig {
+ applicationId "com.mf.example.host"
+ 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/apps/metro-example-host/android/app/debug.keystore b/apps/metro-example-host/android/app/debug.keystore
new file mode 100644
index 0000000000..364e105ed3
Binary files /dev/null and b/apps/metro-example-host/android/app/debug.keystore differ
diff --git a/apps/metro-example-host/android/app/proguard-rules.pro b/apps/metro-example-host/android/app/proguard-rules.pro
new file mode 100644
index 0000000000..11b025724a
--- /dev/null
+++ b/apps/metro-example-host/android/app/proguard-rules.pro
@@ -0,0 +1,10 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
diff --git a/apps/metro-example-host/android/app/src/debug/AndroidManifest.xml b/apps/metro-example-host/android/app/src/debug/AndroidManifest.xml
new file mode 100644
index 0000000000..eb98c01afd
--- /dev/null
+++ b/apps/metro-example-host/android/app/src/debug/AndroidManifest.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/apps/metro-example-host/android/app/src/main/AndroidManifest.xml b/apps/metro-example-host/android/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..89ac1d1ba4
--- /dev/null
+++ b/apps/metro-example-host/android/app/src/main/AndroidManifest.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/metro-example-host/android/app/src/main/java/com/mf/example/host/MainActivity.kt b/apps/metro-example-host/android/app/src/main/java/com/mf/example/host/MainActivity.kt
new file mode 100644
index 0000000000..982c1061c3
--- /dev/null
+++ b/apps/metro-example-host/android/app/src/main/java/com/mf/example/host/MainActivity.kt
@@ -0,0 +1,22 @@
+package com.mf.example.host
+
+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 = "MFExampleHost"
+
+ /**
+ * 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/apps/metro-example-host/android/app/src/main/java/com/mf/example/host/MainApplication.kt b/apps/metro-example-host/android/app/src/main/java/com/mf/example/host/MainApplication.kt
new file mode 100644
index 0000000000..e931216eae
--- /dev/null
+++ b/apps/metro-example-host/android/app/src/main/java/com/mf/example/host/MainApplication.kt
@@ -0,0 +1,38 @@
+package com.mf.example.host
+
+import android.app.Application
+import com.facebook.react.PackageList
+import com.facebook.react.ReactApplication
+import com.facebook.react.ReactHost
+import com.facebook.react.ReactNativeApplicationEntryPoint.loadReactNative
+import com.facebook.react.ReactNativeHost
+import com.facebook.react.ReactPackage
+import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost
+import com.facebook.react.defaults.DefaultReactNativeHost
+
+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()
+ loadReactNative(this)
+ }
+}
diff --git a/apps/metro-example-host/android/app/src/main/res/drawable/rn_edit_text_material.xml b/apps/metro-example-host/android/app/src/main/res/drawable/rn_edit_text_material.xml
new file mode 100644
index 0000000000..5c25e728ea
--- /dev/null
+++ b/apps/metro-example-host/android/app/src/main/res/drawable/rn_edit_text_material.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/metro-example-host/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/apps/metro-example-host/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 0000000000..a2f5908281
Binary files /dev/null and b/apps/metro-example-host/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/apps/metro-example-host/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/apps/metro-example-host/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
new file mode 100644
index 0000000000..1b52399808
Binary files /dev/null and b/apps/metro-example-host/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/apps/metro-example-host/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/apps/metro-example-host/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 0000000000..ff10afd6e1
Binary files /dev/null and b/apps/metro-example-host/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/apps/metro-example-host/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/apps/metro-example-host/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
new file mode 100644
index 0000000000..115a4c768a
Binary files /dev/null and b/apps/metro-example-host/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/apps/metro-example-host/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/apps/metro-example-host/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 0000000000..dcd3cd8083
Binary files /dev/null and b/apps/metro-example-host/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/apps/metro-example-host/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/apps/metro-example-host/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
new file mode 100644
index 0000000000..459ca609d3
Binary files /dev/null and b/apps/metro-example-host/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/apps/metro-example-host/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/apps/metro-example-host/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000000..8ca12fe024
Binary files /dev/null and b/apps/metro-example-host/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/apps/metro-example-host/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/apps/metro-example-host/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000000..8e19b410a1
Binary files /dev/null and b/apps/metro-example-host/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/apps/metro-example-host/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/apps/metro-example-host/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000000..b824ebdd48
Binary files /dev/null and b/apps/metro-example-host/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/apps/metro-example-host/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/apps/metro-example-host/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000000..4c19a13c23
Binary files /dev/null and b/apps/metro-example-host/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/apps/metro-example-host/android/app/src/main/res/values/strings.xml b/apps/metro-example-host/android/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000000..d4e8e271ca
--- /dev/null
+++ b/apps/metro-example-host/android/app/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+
+ MFExampleHost
+
diff --git a/apps/metro-example-host/android/app/src/main/res/values/styles.xml b/apps/metro-example-host/android/app/src/main/res/values/styles.xml
new file mode 100644
index 0000000000..7ba83a2ad5
--- /dev/null
+++ b/apps/metro-example-host/android/app/src/main/res/values/styles.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
diff --git a/apps/metro-example-host/android/build.gradle b/apps/metro-example-host/android/build.gradle
new file mode 100644
index 0000000000..b4f3ad9dea
--- /dev/null
+++ b/apps/metro-example-host/android/build.gradle
@@ -0,0 +1,21 @@
+buildscript {
+ ext {
+ buildToolsVersion = "35.0.0"
+ minSdkVersion = 24
+ compileSdkVersion = 35
+ targetSdkVersion = 35
+ ndkVersion = "27.1.12297006"
+ kotlinVersion = "2.1.20"
+ }
+ 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/apps/metro-example-host/android/gradle.properties b/apps/metro-example-host/android/gradle.properties
new file mode 100644
index 0000000000..5e24e3aa8d
--- /dev/null
+++ b/apps/metro-example-host/android/gradle.properties
@@ -0,0 +1,39 @@
+# 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/apps/metro-example-host/android/gradle/wrapper/gradle-wrapper.jar b/apps/metro-example-host/android/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000000..1b33c55baa
Binary files /dev/null and b/apps/metro-example-host/android/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/apps/metro-example-host/android/gradle/wrapper/gradle-wrapper.properties b/apps/metro-example-host/android/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000000..002b867c48
--- /dev/null
+++ b/apps/metro-example-host/android/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,7 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/apps/metro-example-host/android/gradlew b/apps/metro-example-host/android/gradlew
new file mode 100755
index 0000000000..23d15a9367
--- /dev/null
+++ b/apps/metro-example-host/android/gradlew
@@ -0,0 +1,251 @@
+#!/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.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+
+##############################################################################
+#
+# 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/platforms/jvm/plugins-application/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 -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || 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="\\\"\\\""
+
+
+# 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=SC2039,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=SC2039,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 optsEnvironmentVar are not allowed to contain shell fragments,
+# and any embedded shellness will be escaped.
+# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
+# treated as '${Hostname}' itself on the command line.
+
+set -- \
+ "-Dorg.gradle.appname=$APP_BASE_NAME" \
+ -classpath "$CLASSPATH" \
+ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
+ "$@"
+
+# 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/apps/metro-example-host/android/gradlew.bat b/apps/metro-example-host/android/gradlew.bat
new file mode 100644
index 0000000000..db3a6ac207
--- /dev/null
+++ b/apps/metro-example-host/android/gradlew.bat
@@ -0,0 +1,94 @@
+@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
+@rem SPDX-License-Identifier: Apache-2.0
+@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. 1>&2
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
+
+: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/apps/metro-example-host/android/settings.gradle b/apps/metro-example-host/android/settings.gradle
new file mode 100644
index 0000000000..0d9688ec04
--- /dev/null
+++ b/apps/metro-example-host/android/settings.gradle
@@ -0,0 +1,6 @@
+pluginManagement { includeBuild("../../../node_modules/@react-native/gradle-plugin") }
+plugins { id("com.facebook.react.settings") }
+extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand(['npx', 'rnef', 'config', '-p', 'android']) }
+rootProject.name = "MFExampleHost"
+include ':app'
+includeBuild('../../../node_modules/@react-native/gradle-plugin')
diff --git a/apps/metro-example-host/app.json b/apps/metro-example-host/app.json
new file mode 100644
index 0000000000..fb463b7aaa
--- /dev/null
+++ b/apps/metro-example-host/app.json
@@ -0,0 +1,4 @@
+{
+ "name": "MFExampleHost",
+ "displayName": "MF Example Host"
+}
diff --git a/apps/metro-example-host/babel.config.js b/apps/metro-example-host/babel.config.js
new file mode 100644
index 0000000000..f7b3da3b33
--- /dev/null
+++ b/apps/metro-example-host/babel.config.js
@@ -0,0 +1,3 @@
+module.exports = {
+ presets: ['module:@react-native/babel-preset'],
+};
diff --git a/apps/metro-example-host/e2e/config.yaml b/apps/metro-example-host/e2e/config.yaml
new file mode 100644
index 0000000000..96ead2109b
--- /dev/null
+++ b/apps/metro-example-host/e2e/config.yaml
@@ -0,0 +1,2 @@
+flows:
+ - 'flows/*'
diff --git a/apps/metro-example-host/e2e/flows/core.yaml b/apps/metro-example-host/e2e/flows/core.yaml
new file mode 100644
index 0000000000..b2a5563284
--- /dev/null
+++ b/apps/metro-example-host/e2e/flows/core.yaml
@@ -0,0 +1,33 @@
+appId: com.mf.example.host
+---
+- launchApp:
+ clearState: true
+- waitForAnimationToEnd
+
+# Check Host Info
+- assertVisible:
+ id: 'host-app-info'
+- copyTextFrom:
+ id: 'host-lodash'
+- assertTrue:
+ condition: ${maestro.copiedText === "4.16.6"}
+
+# Check Mini App Info
+- assertNotVisible:
+ id: 'mini-info'
+- tapOn:
+ id: 'load-mini-button'
+- assertVisible:
+ id: 'mini-info'
+- copyTextFrom:
+ id: 'mini-lodash'
+- assertTrue:
+ condition: ${maestro.copiedText === "4.17.21"}
+
+# Check Nested Mini App Info
+- assertVisible:
+ id: 'nested-mini-info'
+- copyTextFrom:
+ id: 'nested-mini-lodash'
+- assertTrue:
+ condition: ${maestro.copiedText === "4.16.6"}
diff --git a/apps/metro-example-host/index.js b/apps/metro-example-host/index.js
new file mode 100644
index 0000000000..28a97dd996
--- /dev/null
+++ b/apps/metro-example-host/index.js
@@ -0,0 +1,14 @@
+import {withAsyncStartup} from '@module-federation/metro/bootstrap';
+import {AppRegistry} from 'react-native';
+import {name as appName} from './app.json';
+
+// create async boundry through withAsyncStartup helper
+// and pass the getter function for the app component
+// optionally a getter function for the fallback component
+AppRegistry.registerComponent(
+ appName,
+ withAsyncStartup(
+ () => require('./src/App'),
+ () => require('./src/Fallback'),
+ ),
+);
diff --git a/apps/metro-example-host/ios/.xcode.env b/apps/metro-example-host/ios/.xcode.env
new file mode 100644
index 0000000000..3d5782c715
--- /dev/null
+++ b/apps/metro-example-host/ios/.xcode.env
@@ -0,0 +1,11 @@
+# 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/apps/metro-example-host/ios/MFExampleHost.xcodeproj/project.pbxproj b/apps/metro-example-host/ios/MFExampleHost.xcodeproj/project.pbxproj
new file mode 100644
index 0000000000..5402edaaa7
--- /dev/null
+++ b/apps/metro-example-host/ios/MFExampleHost.xcodeproj/project.pbxproj
@@ -0,0 +1,488 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 54;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 0C80B921A6F3F58F76C31292 /* libPods-MFExampleHost.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-MFExampleHost.a */; };
+ 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
+ 761780ED2CA45674006654EE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 761780EC2CA45674006654EE /* AppDelegate.swift */; };
+ 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
+ FFFE2754517F605BCB5D0193 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 13B07F961A680F5B00A75B9A /* MFExampleHost.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MFExampleHost.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = MFExampleHost/Images.xcassets; sourceTree = ""; };
+ 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = MFExampleHost/Info.plist; sourceTree = ""; };
+ 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = MFExampleHost/PrivacyInfo.xcprivacy; sourceTree = ""; };
+ 3B4392A12AC88292D35C810B /* Pods-MFExampleHost.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MFExampleHost.debug.xcconfig"; path = "Target Support Files/Pods-MFExampleHost/Pods-MFExampleHost.debug.xcconfig"; sourceTree = ""; };
+ 5709B34CF0A7D63546082F79 /* Pods-MFExampleHost.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MFExampleHost.release.xcconfig"; path = "Target Support Files/Pods-MFExampleHost/Pods-MFExampleHost.release.xcconfig"; sourceTree = ""; };
+ 5DCACB8F33CDC322A6C60F78 /* libPods-MFExampleHost.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-MFExampleHost.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 761780EC2CA45674006654EE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = MFExampleHost/AppDelegate.swift; sourceTree = ""; };
+ 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = MFExampleHost/LaunchScreen.storyboard; sourceTree = ""; };
+ ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 13B07F8C1A680F5B00A75B9A /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 0C80B921A6F3F58F76C31292 /* libPods-MFExampleHost.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 13B07FAE1A68108700A75B9A /* MFExampleHost */ = {
+ isa = PBXGroup;
+ children = (
+ 13B07FB51A68108700A75B9A /* Images.xcassets */,
+ 761780EC2CA45674006654EE /* AppDelegate.swift */,
+ 13B07FB61A68108700A75B9A /* Info.plist */,
+ 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */,
+ 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */,
+ );
+ name = MFExampleHost;
+ sourceTree = "";
+ };
+ 2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
+ 5DCACB8F33CDC322A6C60F78 /* libPods-MFExampleHost.a */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ 832341AE1AAA6A7D00B99B32 /* Libraries */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Libraries;
+ sourceTree = "";
+ };
+ 83CBB9F61A601CBA00E9B192 = {
+ isa = PBXGroup;
+ children = (
+ 13B07FAE1A68108700A75B9A /* MFExampleHost */,
+ 832341AE1AAA6A7D00B99B32 /* Libraries */,
+ 83CBBA001A601CBA00E9B192 /* Products */,
+ 2D16E6871FA4F8E400B85C8A /* Frameworks */,
+ BBD78D7AC51CEA395F1C20DB /* Pods */,
+ );
+ indentWidth = 2;
+ sourceTree = "";
+ tabWidth = 2;
+ usesTabs = 0;
+ };
+ 83CBBA001A601CBA00E9B192 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 13B07F961A680F5B00A75B9A /* MFExampleHost.app */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ BBD78D7AC51CEA395F1C20DB /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ 3B4392A12AC88292D35C810B /* Pods-MFExampleHost.debug.xcconfig */,
+ 5709B34CF0A7D63546082F79 /* Pods-MFExampleHost.release.xcconfig */,
+ );
+ path = Pods;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 13B07F861A680F5B00A75B9A /* MFExampleHost */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "MFExampleHost" */;
+ buildPhases = (
+ C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */,
+ 13B07F871A680F5B00A75B9A /* Sources */,
+ 13B07F8C1A680F5B00A75B9A /* Frameworks */,
+ 13B07F8E1A680F5B00A75B9A /* Resources */,
+ 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
+ 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */,
+ E235C05ADACE081382539298 /* [CP] Copy Pods Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = MFExampleHost;
+ productName = MFExampleHost;
+ productReference = 13B07F961A680F5B00A75B9A /* MFExampleHost.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 83CBB9F71A601CBA00E9B192 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 1210;
+ TargetAttributes = {
+ 13B07F861A680F5B00A75B9A = {
+ LastSwiftMigration = 1120;
+ };
+ };
+ };
+ buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "MFExampleHost" */;
+ compatibilityVersion = "Xcode 12.0";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = 83CBB9F61A601CBA00E9B192;
+ productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 13B07F861A680F5B00A75B9A /* MFExampleHost */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 13B07F8E1A680F5B00A75B9A /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */,
+ 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
+ FFFE2754517F605BCB5D0193 /* 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\nif [[ -f \"$PODS_ROOT/../.xcode.env\" ]]; then\nsource \"$PODS_ROOT/../.xcode.env\"\nfi\nif [[ -f \"$PODS_ROOT/../.xcode.env.local\" ]]; then\nsource \"$PODS_ROOT/../.xcode.env.local\"\nfi\nexport BUNDLE_COMMAND=\"bundle-mf-host\"\nexport CONFIG_CMD=\"dummy-workaround-value\"\nexport CLI_PATH=\"$(\"$NODE_BINARY\" --print \"require('path').dirname(require.resolve('@rnef/cli/package.json')) + '/dist/src/bin.js'\")\"\nWITH_ENVIRONMENT=\"$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"$REACT_NATIVE_PATH/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
+ };
+ 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-MFExampleHost/Pods-MFExampleHost-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-MFExampleHost/Pods-MFExampleHost-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MFExampleHost/Pods-MFExampleHost-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ C38B50BA6285516D6DCD4F65 /* [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-MFExampleHost-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;
+ };
+ E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-MFExampleHost/Pods-MFExampleHost-resources-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Copy Pods Resources";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-MFExampleHost/Pods-MFExampleHost-resources-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MFExampleHost/Pods-MFExampleHost-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 13B07F871A680F5B00A75B9A /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 761780ED2CA45674006654EE /* AppDelegate.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ 13B07F941A680F5B00A75B9A /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-MFExampleHost.debug.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_ENABLE_MODULES = YES;
+ CURRENT_PROJECT_VERSION = 1;
+ ENABLE_BITCODE = NO;
+ INFOPLIST_FILE = MFExampleHost/Info.plist;
+ INFOPLIST_KEY_CFBundleDisplayName = MFExampleHost;
+ IPHONEOS_DEPLOYMENT_TARGET = 15.1;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ MARKETING_VERSION = 1.0;
+ OTHER_LDFLAGS = (
+ "$(inherited)",
+ "-ObjC",
+ "-lc++",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = com.mf.example.host;
+ PRODUCT_NAME = MFExampleHost;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Debug;
+ };
+ 13B07F951A680F5B00A75B9A /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-MFExampleHost.release.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_ENABLE_MODULES = YES;
+ CURRENT_PROJECT_VERSION = 1;
+ INFOPLIST_FILE = MFExampleHost/Info.plist;
+ INFOPLIST_KEY_CFBundleDisplayName = MFExampleHost;
+ IPHONEOS_DEPLOYMENT_TARGET = 15.1;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ MARKETING_VERSION = 1.0;
+ OTHER_LDFLAGS = (
+ "$(inherited)",
+ "-ObjC",
+ "-lc++",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = com.mf.example.host;
+ PRODUCT_NAME = MFExampleHost;
+ SWIFT_VERSION = 5.0;
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Release;
+ };
+ 83CBBA201A601CBA00E9B192 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ 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;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
+ 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 = 15.1;
+ 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_CPLUSPLUSFLAGS = (
+ "$(OTHER_CFLAGS)",
+ "-DFOLLY_NO_CONFIG",
+ "-DFOLLY_MOBILE=1",
+ "-DFOLLY_USE_LIBCPP=1",
+ "-DFOLLY_CFG_NO_COROUTINES=1",
+ "-DFOLLY_HAVE_CLOCK_GETTIME=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;
+ 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;
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
+ 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 = 15.1;
+ 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_CPLUSPLUSFLAGS = (
+ "$(OTHER_CFLAGS)",
+ "-DFOLLY_NO_CONFIG",
+ "-DFOLLY_MOBILE=1",
+ "-DFOLLY_USE_LIBCPP=1",
+ "-DFOLLY_CFG_NO_COROUTINES=1",
+ "-DFOLLY_HAVE_CLOCK_GETTIME=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 "MFExampleHost" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 13B07F941A680F5B00A75B9A /* Debug */,
+ 13B07F951A680F5B00A75B9A /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "MFExampleHost" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 83CBBA201A601CBA00E9B192 /* Debug */,
+ 83CBBA211A601CBA00E9B192 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;
+}
diff --git a/apps/metro-example-host/ios/MFExampleHost.xcodeproj/xcshareddata/xcschemes/MFExampleHost.xcscheme b/apps/metro-example-host/ios/MFExampleHost.xcodeproj/xcshareddata/xcschemes/MFExampleHost.xcscheme
new file mode 100644
index 0000000000..8340e8498a
--- /dev/null
+++ b/apps/metro-example-host/ios/MFExampleHost.xcodeproj/xcshareddata/xcschemes/MFExampleHost.xcscheme
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/metro-example-host/ios/MFExampleHost.xcworkspace/contents.xcworkspacedata b/apps/metro-example-host/ios/MFExampleHost.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000000..56faf7d486
--- /dev/null
+++ b/apps/metro-example-host/ios/MFExampleHost.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/apps/metro-example-host/ios/MFExampleHost/AppDelegate.swift b/apps/metro-example-host/ios/MFExampleHost/AppDelegate.swift
new file mode 100644
index 0000000000..2c654061ad
--- /dev/null
+++ b/apps/metro-example-host/ios/MFExampleHost/AppDelegate.swift
@@ -0,0 +1,48 @@
+import UIKit
+import React
+import React_RCTAppDelegate
+import ReactAppDependencyProvider
+
+@main
+class AppDelegate: UIResponder, UIApplicationDelegate {
+ var window: UIWindow?
+
+ var reactNativeDelegate: ReactNativeDelegate?
+ var reactNativeFactory: RCTReactNativeFactory?
+
+ func application(
+ _ application: UIApplication,
+ didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
+ ) -> Bool {
+ let delegate = ReactNativeDelegate()
+ let factory = RCTReactNativeFactory(delegate: delegate)
+ delegate.dependencyProvider = RCTAppDependencyProvider()
+
+ reactNativeDelegate = delegate
+ reactNativeFactory = factory
+
+ window = UIWindow(frame: UIScreen.main.bounds)
+
+ factory.startReactNative(
+ withModuleName: "MFExampleHost",
+ in: window,
+ launchOptions: launchOptions
+ )
+
+ return true
+ }
+}
+
+class ReactNativeDelegate: RCTDefaultReactNativeFactoryDelegate {
+ 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/apps/metro-example-host/ios/MFExampleHost/Images.xcassets/AppIcon.appiconset/Contents.json b/apps/metro-example-host/ios/MFExampleHost/Images.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 0000000000..ddd7fca89e
--- /dev/null
+++ b/apps/metro-example-host/ios/MFExampleHost/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,53 @@
+{
+ "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/apps/metro-example-host/ios/MFExampleHost/Images.xcassets/Contents.json b/apps/metro-example-host/ios/MFExampleHost/Images.xcassets/Contents.json
new file mode 100644
index 0000000000..97a8662ebd
--- /dev/null
+++ b/apps/metro-example-host/ios/MFExampleHost/Images.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info": {
+ "version": 1,
+ "author": "xcode"
+ }
+}
diff --git a/apps/metro-example-host/ios/MFExampleHost/Info.plist b/apps/metro-example-host/ios/MFExampleHost/Info.plist
new file mode 100644
index 0000000000..f0bb8ae3bb
--- /dev/null
+++ b/apps/metro-example-host/ios/MFExampleHost/Info.plist
@@ -0,0 +1,53 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleDisplayName
+ MFExampleHost
+ 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/apps/metro-example-host/ios/MFExampleHost/LaunchScreen.storyboard b/apps/metro-example-host/ios/MFExampleHost/LaunchScreen.storyboard
new file mode 100644
index 0000000000..4eb7cf9983
--- /dev/null
+++ b/apps/metro-example-host/ios/MFExampleHost/LaunchScreen.storyboard
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/metro-example-host/ios/MFExampleHost/PrivacyInfo.xcprivacy b/apps/metro-example-host/ios/MFExampleHost/PrivacyInfo.xcprivacy
new file mode 100644
index 0000000000..41b8317f06
--- /dev/null
+++ b/apps/metro-example-host/ios/MFExampleHost/PrivacyInfo.xcprivacy
@@ -0,0 +1,37 @@
+
+
+
+
+ NSPrivacyAccessedAPITypes
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryFileTimestamp
+ NSPrivacyAccessedAPITypeReasons
+
+ C617.1
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryUserDefaults
+ NSPrivacyAccessedAPITypeReasons
+
+ CA92.1
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategorySystemBootTime
+ NSPrivacyAccessedAPITypeReasons
+
+ 35F9.1
+
+
+
+ NSPrivacyCollectedDataTypes
+
+ NSPrivacyTracking
+
+
+
diff --git a/apps/metro-example-host/ios/Podfile b/apps/metro-example-host/ios/Podfile
new file mode 100644
index 0000000000..16b4df67d9
--- /dev/null
+++ b/apps/metro-example-host/ios/Podfile
@@ -0,0 +1,35 @@
+# 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 'MFExampleHost' do
+ config = use_native_modules!(['npx', 'rnef', 'config', '-p', 'ios'])
+
+ 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/apps/metro-example-host/ios/Podfile.lock b/apps/metro-example-host/ios/Podfile.lock
new file mode 100644
index 0000000000..33788d401f
--- /dev/null
+++ b/apps/metro-example-host/ios/Podfile.lock
@@ -0,0 +1,2432 @@
+PODS:
+ - boost (1.84.0)
+ - DoubleConversion (1.1.6)
+ - fast_float (8.0.0)
+ - FBLazyVector (0.80.0)
+ - fmt (11.0.2)
+ - glog (0.3.5)
+ - hermes-engine (0.80.0):
+ - hermes-engine/Pre-built (= 0.80.0)
+ - hermes-engine/Pre-built (0.80.0)
+ - 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.80.0)
+ - RCTRequired (0.80.0)
+ - RCTTypeSafety (0.80.0):
+ - FBLazyVector (= 0.80.0)
+ - RCTRequired (= 0.80.0)
+ - React-Core (= 0.80.0)
+ - React (0.80.0):
+ - React-Core (= 0.80.0)
+ - React-Core/DevSupport (= 0.80.0)
+ - React-Core/RCTWebSocket (= 0.80.0)
+ - React-RCTActionSheet (= 0.80.0)
+ - React-RCTAnimation (= 0.80.0)
+ - React-RCTBlob (= 0.80.0)
+ - React-RCTImage (= 0.80.0)
+ - React-RCTLinking (= 0.80.0)
+ - React-RCTNetwork (= 0.80.0)
+ - React-RCTSettings (= 0.80.0)
+ - React-RCTText (= 0.80.0)
+ - React-RCTVibration (= 0.80.0)
+ - React-callinvoker (0.80.0)
+ - React-Core (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTDeprecation
+ - React-Core/Default (= 0.80.0)
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsitooling
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/CoreModulesHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/Default (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/DevSupport (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTDeprecation
+ - React-Core/Default (= 0.80.0)
+ - React-Core/RCTWebSocket (= 0.80.0)
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsitooling
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTActionSheetHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTAnimationHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTBlobHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTImageHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTLinkingHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTNetworkHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTSettingsHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTTextHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTVibrationHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTWebSocket (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTDeprecation
+ - React-Core/Default (= 0.80.0)
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsitooling
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-CoreModules (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTTypeSafety (= 0.80.0)
+ - React-Core/CoreModulesHeaders (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectortracing
+ - React-NativeModulesApple
+ - React-RCTBlob
+ - React-RCTFBReactNativeSpec
+ - React-RCTImage (= 0.80.0)
+ - ReactCommon
+ - SocketRocket
+ - React-cxxreact (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-callinvoker (= 0.80.0)
+ - React-debug (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectortracing
+ - React-logger (= 0.80.0)
+ - React-perflogger (= 0.80.0)
+ - React-runtimeexecutor (= 0.80.0)
+ - React-timing (= 0.80.0)
+ - SocketRocket
+ - React-debug (0.80.0)
+ - React-defaultsnativemodule (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-domnativemodule
+ - React-featureflagsnativemodule
+ - React-hermes
+ - React-idlecallbacksnativemodule
+ - React-jsi
+ - React-jsiexecutor
+ - React-microtasksnativemodule
+ - React-RCTFBReactNativeSpec
+ - SocketRocket
+ - React-domnativemodule (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-Fabric
+ - React-FabricComponents
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-RCTFBReactNativeSpec
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-Fabric (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric/animations (= 0.80.0)
+ - React-Fabric/attributedstring (= 0.80.0)
+ - React-Fabric/componentregistry (= 0.80.0)
+ - React-Fabric/componentregistrynative (= 0.80.0)
+ - React-Fabric/components (= 0.80.0)
+ - React-Fabric/consistency (= 0.80.0)
+ - React-Fabric/core (= 0.80.0)
+ - React-Fabric/dom (= 0.80.0)
+ - React-Fabric/imagemanager (= 0.80.0)
+ - React-Fabric/leakchecker (= 0.80.0)
+ - React-Fabric/mounting (= 0.80.0)
+ - React-Fabric/observers (= 0.80.0)
+ - React-Fabric/scheduler (= 0.80.0)
+ - React-Fabric/telemetry (= 0.80.0)
+ - React-Fabric/templateprocessor (= 0.80.0)
+ - React-Fabric/uimanager (= 0.80.0)
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/animations (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/attributedstring (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/componentregistry (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/componentregistrynative (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/components (0.80.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.80.0)
+ - React-Fabric/components/root (= 0.80.0)
+ - React-Fabric/components/scrollview (= 0.80.0)
+ - React-Fabric/components/view (= 0.80.0)
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/components/legacyviewmanagerinterop (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/components/root (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/components/scrollview (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/components/view (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-renderercss
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-Fabric/consistency (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/core (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/dom (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/imagemanager (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/leakchecker (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/mounting (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/observers (0.80.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.80.0)
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/observers/events (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/scheduler (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-performancetimeline
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/telemetry (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/templateprocessor (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/uimanager (0.80.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.80.0)
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererconsistency
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/uimanager/consistency (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererconsistency
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-FabricComponents (0.80.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.80.0)
+ - React-FabricComponents/textlayoutmanager (= 0.80.0)
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components (0.80.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.80.0)
+ - React-FabricComponents/components/iostextinput (= 0.80.0)
+ - React-FabricComponents/components/modal (= 0.80.0)
+ - React-FabricComponents/components/rncore (= 0.80.0)
+ - React-FabricComponents/components/safeareaview (= 0.80.0)
+ - React-FabricComponents/components/scrollview (= 0.80.0)
+ - React-FabricComponents/components/text (= 0.80.0)
+ - React-FabricComponents/components/textinput (= 0.80.0)
+ - React-FabricComponents/components/unimplementedview (= 0.80.0)
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/inputaccessory (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/iostextinput (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/modal (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/rncore (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/safeareaview (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/scrollview (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/text (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/textinput (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/unimplementedview (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/textlayoutmanager (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricImage (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTRequired (= 0.80.0)
+ - RCTTypeSafety (= 0.80.0)
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-ImageManager
+ - React-jsi
+ - React-jsiexecutor (= 0.80.0)
+ - React-logger
+ - React-rendererdebug
+ - React-utils
+ - ReactCommon
+ - SocketRocket
+ - Yoga
+ - React-featureflags (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - SocketRocket
+ - React-featureflagsnativemodule (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-RCTFBReactNativeSpec
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-graphics (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-utils
+ - SocketRocket
+ - React-hermes (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-cxxreact (= 0.80.0)
+ - React-jsi
+ - React-jsiexecutor (= 0.80.0)
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectortracing
+ - React-perflogger (= 0.80.0)
+ - React-runtimeexecutor
+ - SocketRocket
+ - React-idlecallbacksnativemodule (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-RCTFBReactNativeSpec
+ - React-runtimescheduler
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-ImageManager (0.80.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-jserrorhandler (0.80.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.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - SocketRocket
+ - React-jsiexecutor (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-cxxreact (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectortracing
+ - React-perflogger (= 0.80.0)
+ - SocketRocket
+ - React-jsinspector (0.80.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-perflogger (= 0.80.0)
+ - React-runtimeexecutor (= 0.80.0)
+ - SocketRocket
+ - React-jsinspectorcdp (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - SocketRocket
+ - React-jsinspectornetwork (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-jsinspectorcdp
+ - SocketRocket
+ - React-jsinspectortracing (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-oscompat
+ - SocketRocket
+ - React-jsitooling (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-cxxreact (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectortracing
+ - SocketRocket
+ - React-jsitracing (0.80.0):
+ - React-jsi
+ - React-logger (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - SocketRocket
+ - React-Mapbuffer (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-debug
+ - SocketRocket
+ - React-microtasksnativemodule (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-RCTFBReactNativeSpec
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-NativeModulesApple (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-callinvoker
+ - React-Core
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-runtimeexecutor
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-oscompat (0.80.0)
+ - React-perflogger (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - SocketRocket
+ - React-performancetimeline (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-featureflags
+ - React-jsinspectortracing
+ - React-perflogger
+ - React-timing
+ - SocketRocket
+ - React-RCTActionSheet (0.80.0):
+ - React-Core/RCTActionSheetHeaders (= 0.80.0)
+ - React-RCTAnimation (0.80.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.80.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-runtimescheduler
+ - React-utils
+ - ReactCommon
+ - SocketRocket
+ - React-RCTBlob (0.80.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.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-FabricComponents
+ - React-FabricImage
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-ImageManager
+ - React-jsi
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectornetwork
+ - React-jsinspectortracing
+ - React-performancetimeline
+ - React-RCTAnimation
+ - React-RCTImage
+ - React-RCTText
+ - React-rendererconsistency
+ - React-renderercss
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-RCTFBReactNativeSpec (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-NativeModulesApple
+ - ReactCommon
+ - SocketRocket
+ - React-RCTImage (0.80.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.80.0):
+ - React-Core/RCTLinkingHeaders (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-NativeModulesApple
+ - React-RCTFBReactNativeSpec
+ - ReactCommon
+ - ReactCommon/turbomodule/core (= 0.80.0)
+ - React-RCTNetwork (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTTypeSafety
+ - React-Core/RCTNetworkHeaders
+ - React-featureflags
+ - React-jsi
+ - React-jsinspectorcdp
+ - React-jsinspectornetwork
+ - React-NativeModulesApple
+ - React-RCTFBReactNativeSpec
+ - ReactCommon
+ - SocketRocket
+ - React-RCTRuntime (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-Core
+ - React-hermes
+ - React-jsi
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectortracing
+ - React-jsitooling
+ - React-RuntimeApple
+ - React-RuntimeCore
+ - React-RuntimeHermes
+ - SocketRocket
+ - React-RCTSettings (0.80.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.80.0):
+ - React-Core/RCTTextHeaders (= 0.80.0)
+ - Yoga
+ - React-RCTVibration (0.80.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.80.0)
+ - React-renderercss (0.80.0):
+ - React-debug
+ - React-utils
+ - React-rendererdebug (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-debug
+ - SocketRocket
+ - React-rncore (0.80.0)
+ - React-RuntimeApple (0.80.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.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-cxxreact
+ - React-Fabric
+ - React-featureflags
+ - React-hermes
+ - React-jserrorhandler
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-jsitooling
+ - React-performancetimeline
+ - React-runtimeexecutor
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - React-runtimeexecutor (0.80.0):
+ - React-jsi (= 0.80.0)
+ - React-RuntimeHermes (0.80.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-utils
+ - SocketRocket
+ - React-runtimescheduler (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-callinvoker
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsinspectortracing
+ - React-performancetimeline
+ - React-rendererconsistency
+ - React-rendererdebug
+ - React-runtimeexecutor
+ - React-timing
+ - React-utils
+ - SocketRocket
+ - React-timing (0.80.0)
+ - React-utils (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-debug
+ - React-hermes
+ - React-jsi (= 0.80.0)
+ - SocketRocket
+ - ReactAppDependencyProvider (0.80.0):
+ - ReactCodegen
+ - ReactCodegen (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-NativeModulesApple
+ - React-RCTAppDelegate
+ - React-rendererdebug
+ - React-utils
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - ReactCommon (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - ReactCommon/turbomodule (= 0.80.0)
+ - SocketRocket
+ - ReactCommon/turbomodule (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-callinvoker (= 0.80.0)
+ - React-cxxreact (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-logger (= 0.80.0)
+ - React-perflogger (= 0.80.0)
+ - ReactCommon/turbomodule/bridging (= 0.80.0)
+ - ReactCommon/turbomodule/core (= 0.80.0)
+ - SocketRocket
+ - ReactCommon/turbomodule/bridging (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-callinvoker (= 0.80.0)
+ - React-cxxreact (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-logger (= 0.80.0)
+ - React-perflogger (= 0.80.0)
+ - SocketRocket
+ - ReactCommon/turbomodule/core (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-callinvoker (= 0.80.0)
+ - React-cxxreact (= 0.80.0)
+ - React-debug (= 0.80.0)
+ - React-featureflags (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-logger (= 0.80.0)
+ - React-perflogger (= 0.80.0)
+ - React-utils (= 0.80.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`)
+ - 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`)
+ - 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-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-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
+ - React-oscompat (from `../node_modules/react-native/ReactCommon/oscompat`)
+ - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`)
+ - 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-rncore (from `../node_modules/react-native/ReactCommon`)
+ - 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`)
+ - ReactAppDependencyProvider (from `build/generated/ios`)
+ - ReactCodegen (from `build/generated/ios`)
+ - 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-2025-05-06-RNv0.80.0-4eb6132a5bf0450bf4c6c91987675381d7ac8bca
+ 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"
+ 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-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-NativeModulesApple:
+ :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios"
+ React-oscompat:
+ :path: "../node_modules/react-native/ReactCommon/oscompat"
+ React-perflogger:
+ :path: "../node_modules/react-native/ReactCommon/reactperflogger"
+ 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-rncore:
+ :path: "../node_modules/react-native/ReactCommon"
+ 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"
+ ReactAppDependencyProvider:
+ :path: build/generated/ios
+ ReactCodegen:
+ :path: build/generated/ios
+ 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: 778b815a6fb3fa1599f581ffb9a5e85fad313c1d
+ fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd
+ glog: 5683914934d5b6e4240e497e0f4a3b42d1854183
+ hermes-engine: 7068e976238b29e97b3bafd09a994542af7d5c0b
+ RCT-Folly: 846fda9475e61ec7bcbf8a3fe81edfcaeb090669
+ RCTDeprecation: ff787f6c860a1b97dd1bc27264b61d23ad1994da
+ RCTRequired: 664eb8399ed8a83e26ab65af7c2ad390f7e61696
+ RCTTypeSafety: a5cf7a7e80baf972e331dc028e5d5c19bb2535a4
+ React: 606d4dccbcf29aec4dc84a7921405a28e1701a22
+ React-callinvoker: 0e13bd3c039df9ceef04f7381a81f017655c8361
+ React-Core: d118e66b5b561f5ab999dd7f9cf14f54dab376a7
+ React-CoreModules: 6ec48c52c9ff2ca3fa110153de09e4c2379f1860
+ React-cxxreact: cb406100002503e44de4b725e581ce24f47003b9
+ React-debug: a9e91845f3670c3a19249f52919f0488b7842cf7
+ React-defaultsnativemodule: ee76dbbfc31db775bc318f707f01869cd8a32f42
+ React-domnativemodule: a3f44d7ea5c7f8ef5c6f88574471d6f0b73d2f17
+ React-Fabric: bb3b550229a1cf7a93f9d8569a3a672cae115d94
+ React-FabricComponents: a3b5184c705b5b45c8e6736f8bc579bae5cbecbe
+ React-FabricImage: 8d3a479a8c6097d20b7bd170df7d28b9da72381e
+ React-featureflags: 2d450523e473b3923790f9502feb8d13691b9e0e
+ React-featureflagsnativemodule: 90429c06d7aa290896a76639eaaa78c1d0bf4bca
+ React-graphics: 9e11a80b48b66d08d47c16cb5d922f1171840e70
+ React-hermes: ae85ffa5ce034f07f63c95a7cbd15a391da8a6d3
+ React-idlecallbacksnativemodule: bbacde3a9c82e14b9f3bfc9494bb960ce6801bf3
+ React-ImageManager: d9f55275912e0ee5e34a66d30ad7c6327ce7daa4
+ React-jserrorhandler: eeac7d0ce29ef27a5828d376ae84e516c2f3bab0
+ React-jsi: 8eba045092d3ebe6b30f11e397185080e22e1c3d
+ React-jsiexecutor: 84978b702963ecee46f8e4d510931d4fdb7e8429
+ React-jsinspector: 5efae7cf4601cb0c7441e4caaa5a6cc16781bf54
+ React-jsinspectorcdp: df0f2b157b62a9f5d91c87600331c55414c35881
+ React-jsinspectornetwork: af69093cf9d60dbcd00cda064ac271e2123f623e
+ React-jsinspectortracing: 2519b0016db1f338e56620a3fec253f455318359
+ React-jsitooling: ffb70ee2d0c8836b1e8feddd0945847ae89271ad
+ React-jsitracing: 4a6b9ca5ed4195c51c9205712f06aba38fbb758e
+ React-logger: dce52a571ba0e0149c3f0fcc6866cbc0c8552c5e
+ React-Mapbuffer: f5754c33877eaf36e4c76c613b35615a181c85c5
+ React-microtasksnativemodule: 23df6374a3ac422d8c2927839bcaeed61fee3dad
+ React-NativeModulesApple: e16d5c133019987285f001fbf1461a861e40426f
+ React-oscompat: 7c0a341cc31e350da71ddf2e46de0a845d1d1626
+ React-perflogger: c91e01612298b74f70d846ae3666d2b078c547e0
+ React-performancetimeline: 6b9a6951922d764073bc69617be43a9552de96ba
+ React-RCTActionSheet: 99864bd8422649219f24eca9a51445e698b70b8e
+ React-RCTAnimation: ae0790201f87e9782f4a8b4346ac414f4c3273f3
+ React-RCTAppDelegate: e94955f941036818be7583fe820d13bf47c5e9af
+ React-RCTBlob: 472203c0f6fa4f25996ed94a2cdf5eaa92200fe3
+ React-RCTFabric: 6f6b6979e6395f4fc33e6e25612f6272a71b7af5
+ React-RCTFBReactNativeSpec: 9a0d5b08fcc6e0c73f2afc8fce60e8537db82b58
+ React-RCTImage: 14ce85b3f9e898ad8ab2fd49be97f09e43251fb9
+ React-RCTLinking: b189fd2fd5fce9c3189d64204f1a92c36ffc27bd
+ React-RCTNetwork: 66f7536d038d5ecec63acdc5e7c9b7f843fed4ac
+ React-RCTRuntime: 62482bc3df825749a51ff2c7aa2dd0b8d74ee930
+ React-RCTSettings: 98360df5a9e6f6d10bd9738c6d4637005e4f842e
+ React-RCTText: 667ac6f696da8cd6671b5b562adf43419a787705
+ React-RCTVibration: 13de9226d181fb939b187f3f682767c6e8cc80f8
+ React-rendererconsistency: a4db9bb060c65bce8ae83d936ed0719696055bd2
+ React-renderercss: f7788003b3c65702cbc123f8ba7678dd3cb67753
+ React-rendererdebug: 67c92da913f21ebe041ce959f024ab89cf2a7bde
+ React-rncore: 322add36430c38049067a5d365f166256975391f
+ React-RuntimeApple: f3eedaeab424b467cfc61a308422235399ded08c
+ React-RuntimeCore: fd5ff77cca527e2ecd42e0d6a3eeafafde74d9c9
+ React-runtimeexecutor: 49ea276161508d50b3486c385e1ca7972d1699f5
+ React-RuntimeHermes: 85e8e095e106dbc6bcf5dcae051f56ba18b1d629
+ React-runtimescheduler: c8581138c14a1e2036e8403628b963c0d1c88b26
+ React-timing: a275a1c2e6112dba17f8f7dd496d439213bbea0d
+ React-utils: 449a6e1fd53886510e284e80bdbb1b1c6db29452
+ ReactAppDependencyProvider: 3267432b637c9b38e86961b287f784ee1b08dde0
+ ReactCodegen: a1a6d7288d6a5fc86f109e46149c35d707932702
+ ReactCommon: b028d09a66e60ebd83ca59d8cc9a1216360db147
+ SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
+ Yoga: 0c4b7d2aacc910a1f702694fa86be830386f4ceb
+
+PODFILE CHECKSUM: a8134080201cda3c42e54a89f48d0930861e3c58
+
+COCOAPODS: 1.15.2
\ No newline at end of file
diff --git a/apps/metro-example-host/jest.config.js b/apps/metro-example-host/jest.config.js
new file mode 100644
index 0000000000..8eb675e9bc
--- /dev/null
+++ b/apps/metro-example-host/jest.config.js
@@ -0,0 +1,3 @@
+module.exports = {
+ preset: 'react-native',
+};
diff --git a/apps/metro-example-host/metro.config.js b/apps/metro-example-host/metro.config.js
new file mode 100644
index 0000000000..b885fa5594
--- /dev/null
+++ b/apps/metro-example-host/metro.config.js
@@ -0,0 +1,59 @@
+const path = require('node:path');
+const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
+
+const {withModuleFederation} = require('@module-federation/metro');
+
+/**
+ * Metro configuration
+ * https://reactnative.dev/docs/metro
+ *
+ * @type {import('@react-native/metro-config').MetroConfig}
+ */
+
+const config = {
+ resolver: {useWatchman: false},
+ watchFolders: [
+ path.resolve(__dirname, '../../node_modules'),
+ path.resolve(__dirname, '../../packages/core'),
+ ],
+};
+
+module.exports = withModuleFederation(
+ mergeConfig(getDefaultConfig(__dirname), config),
+ {
+ name: 'example-host',
+ remotes: {
+ mini: 'mini@http://localhost:8082/mf-manifest.json',
+ nestedMini: 'nestedMini@http://localhost:8083/mf-manifest.json',
+ },
+ shared: {
+ react: {
+ singleton: true,
+ eager: true,
+ requiredVersion: '19.1.0',
+ version: '19.1.0',
+ },
+ 'react-native': {
+ singleton: true,
+ eager: true,
+ requiredVersion: '0.80.0',
+ version: '0.80.0',
+ },
+ lodash: {
+ singleton: false,
+ eager: false,
+ requiredVersion: '4.16.6',
+ version: '4.16.6',
+ },
+ },
+ shareStrategy: 'loaded-first',
+ plugins: [path.resolve(__dirname, './runtime-plugin.ts')],
+ },
+ {
+ flags: {
+ unstable_patchHMRClient: true,
+ unstable_patchInitializeCore: true,
+ unstable_patchRuntimeRequire: true,
+ },
+ },
+);
diff --git a/apps/metro-example-host/package.json b/apps/metro-example-host/package.json
new file mode 100644
index 0000000000..b1a96c4e38
--- /dev/null
+++ b/apps/metro-example-host/package.json
@@ -0,0 +1,57 @@
+{
+ "name": "example-host",
+ "version": "0.0.1",
+ "private": true,
+ "scripts": {
+ "android": "rnef run:android",
+ "ios": "rnef run:ios",
+ "android:release": "rnef run:android --variant 'Release'",
+ "ios:release": "rnef run:ios --configuration 'Release' --destination=\"simulator\"",
+ "lint": "eslint .",
+ "dev": "nodemon --config ../../nodemon.json --exec NODE_OPTIONS='--conditions=dev' pnpm start",
+ "start": "rnef start --reset-cache --client-logs",
+ "pods": "(cd ios && bundle install && (bundle exec pod install || bundle exec pod update))",
+ "test": "jest",
+ "adbreverse": "pnpm --filter example-mini --filter example-nested-mini run adbreverse",
+ "e2e:prepare:ios": "pnpm --filter example-mini --filter example-nested-mini run build:ios",
+ "e2e:prepare:android": "pnpm --filter example-mini --filter example-nested-mini run build:android",
+ "e2e:serve:ios": "pnpm --filter example-mini --filter example-nested-mini run serve:ios",
+ "e2e:serve:android": "pnpm --filter example-mini --filter example-nested-mini run serve:android",
+ "e2e:run:ios": "maestro --platform=ios test e2e",
+ "e2e:run:android": "maestro --platform=android test e2e"
+ },
+ "dependencies": {
+ "lodash": "4.16.6",
+ "react": "19.1.0",
+ "react-native": "0.80.0"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.25.2",
+ "@babel/preset-env": "^7.25.3",
+ "@babel/runtime": "^7.25.0",
+ "@module-federation/metro": "workspace:*",
+ "@module-federation/metro-plugin-rnef": "workspace:*",
+ "@module-federation/runtime": "^0.15.0",
+ "@react-native/babel-preset": "0.80.0",
+ "@react-native/eslint-config": "0.80.0",
+ "@react-native/metro-config": "0.80.0",
+ "@react-native/typescript-config": "0.80.0",
+ "@rnef/cli": "^0.7.25",
+ "@rnef/platform-android": "^0.7.25",
+ "@rnef/platform-ios": "^0.7.25",
+ "@rnef/plugin-metro": "^0.7.25",
+ "@types/jest": "^29.5.13",
+ "@types/lodash": "^4",
+ "@types/react": "^19.1.0",
+ "@types/react-test-renderer": "^19.1.0",
+ "eslint": "^8.19.0",
+ "jest": "^29.6.3",
+ "nodemon": "^3.1.9",
+ "prettier": "2.8.8",
+ "react-test-renderer": "19.1.0",
+ "typescript": "5.0.4"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+}
diff --git a/apps/metro-example-host/rnef.config.mjs b/apps/metro-example-host/rnef.config.mjs
new file mode 100644
index 0000000000..d0d538260e
--- /dev/null
+++ b/apps/metro-example-host/rnef.config.mjs
@@ -0,0 +1,16 @@
+import {pluginMetroModuleFederation} from '@module-federation/metro-plugin-rnef';
+import {platformAndroid} from '@rnef/platform-android';
+// @ts-check
+import {platformIOS} from '@rnef/platform-ios';
+import {pluginMetro} from '@rnef/plugin-metro';
+
+/** @type {import('@rnef/config').Config} */
+export default {
+ bundler: pluginMetro(),
+ platforms: {
+ ios: platformIOS(),
+ android: platformAndroid(),
+ },
+ remoteCacheProvider: 'github-actions',
+ plugins: [pluginMetroModuleFederation()],
+};
diff --git a/apps/metro-example-host/runtime-plugin.ts b/apps/metro-example-host/runtime-plugin.ts
new file mode 100644
index 0000000000..2045941faa
--- /dev/null
+++ b/apps/metro-example-host/runtime-plugin.ts
@@ -0,0 +1,11 @@
+import type {FederationRuntimePlugin} from '@module-federation/runtime';
+
+export default function (): FederationRuntimePlugin {
+ return {
+ name: 'custom-plugin-build',
+ beforeLoadShare(args) {
+ console.log('[build time inject] beforeLoadShare', args.pkgName);
+ return args;
+ },
+ };
+}
diff --git a/apps/metro-example-host/src/App.tsx b/apps/metro-example-host/src/App.tsx
new file mode 100644
index 0000000000..cd8b0a5c16
--- /dev/null
+++ b/apps/metro-example-host/src/App.tsx
@@ -0,0 +1,108 @@
+import React, {useEffect, useState} from 'react';
+import {
+ ActivityIndicator,
+ Pressable,
+ SafeAreaView,
+ StyleSheet,
+ Text,
+ View,
+} from 'react-native';
+
+// @ts-ignore
+import NestedMiniInfo from 'nestedMini/nestedMiniInfo';
+import Card from './Card';
+
+// @ts-ignore
+const Info = React.lazy(() => import('mini/info'));
+
+function App(): React.JSX.Element {
+ const [shouldLoadMini, setShouldLoadMini] = useState(false);
+ const [lodashVersion, setLodashVersion] = useState();
+
+ useEffect(() => {
+ import('lodash').then(lodash => {
+ setLodashVersion(lodash.VERSION);
+ });
+ }, []);
+
+ return (
+
+
+
+
+
+
+
+ }>
+
+
+
+
+ {!shouldLoadMini ? (
+ setShouldLoadMini(true)}>
+
+ Load Remote Component
+
+
+ ) : (
+
+
+
+ }>
+
+
+ )}
+
+
+
+
+
+
+ );
+}
+
+const styles = StyleSheet.create({
+ backgroundStyle: {
+ flex: 1,
+ backgroundColor: 'rgba(0, 0, 0, 0.65)',
+ },
+ contentContainer: {
+ flex: 1,
+ paddingHorizontal: 24,
+ },
+ defaultButton: {
+ backgroundColor: '#000',
+ padding: 16,
+ borderRadius: 8,
+ alignItems: 'center',
+ justifyContent: 'center',
+ alignSelf: 'center',
+ borderWidth: 1,
+ borderColor: 'rgba(255, 255, 255, 0.1)',
+ },
+ defaultButtonText: {
+ color: '#fff',
+ fontSize: 16,
+ fontWeight: '600',
+ letterSpacing: 0.5,
+ },
+});
+
+export default App;
diff --git a/apps/metro-example-host/src/Card.tsx b/apps/metro-example-host/src/Card.tsx
new file mode 100644
index 0000000000..ccf1d17441
--- /dev/null
+++ b/apps/metro-example-host/src/Card.tsx
@@ -0,0 +1,74 @@
+import type React from 'react';
+import {StyleSheet, Text, View} from 'react-native';
+
+type Props = {
+ title: string;
+ description?: string;
+};
+
+export default function Card({
+ children,
+ title,
+ description,
+}: React.PropsWithChildren) {
+ return (
+
+
+
+ {title}
+ {description ? (
+ {description}
+ ) : null}
+
+ {children}
+
+
+ );
+}
+
+const styles = StyleSheet.create({
+ mainContainer: {
+ justifyContent: 'center',
+ alignItems: 'center',
+ marginVertical: 16,
+ },
+ miniappSection: {
+ width: '100%',
+ },
+ miniappCaption: {
+ paddingVertical: 12,
+ paddingHorizontal: 16,
+ borderRadius: 16,
+ borderBottomLeftRadius: 0,
+ borderBottomRightRadius: 0,
+ backgroundColor: 'rgba(0, 0, 0, 0.5)',
+ },
+ miniappHighlight: {
+ backgroundColor: 'rgba(255, 255, 255, 0.95)',
+ borderRadius: 16,
+ borderTopLeftRadius: 0,
+ borderTopRightRadius: 0,
+ borderColor: 'rgba(255, 255, 255, 0.1)',
+ borderWidth: 2,
+ shadowColor: '#8b5cf6',
+ shadowOffset: {
+ width: 0,
+ height: 2,
+ },
+ shadowOpacity: 0.25,
+ shadowRadius: 8,
+ elevation: 5,
+ padding: 20,
+ minHeight: 60,
+ },
+ miniappTitle: {
+ fontSize: 20,
+ fontWeight: '600',
+ color: '#fff',
+ marginBottom: 4,
+ },
+ miniappDescription: {
+ fontSize: 14,
+ color: '#a1a1aa',
+ },
+});
diff --git a/apps/metro-example-host/src/Fallback.tsx b/apps/metro-example-host/src/Fallback.tsx
new file mode 100644
index 0000000000..8475b92748
--- /dev/null
+++ b/apps/metro-example-host/src/Fallback.tsx
@@ -0,0 +1,25 @@
+import React from 'react';
+import {ActivityIndicator, LayoutAnimation, Text, View} from 'react-native';
+
+export default function Fallback() {
+ React.useEffect(() => {
+ LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut, () =>
+ LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut),
+ );
+ });
+
+ return (
+
+
+
+ Async Startup in progress...
+
+
+ );
+}
diff --git a/apps/metro-example-host/tsconfig.json b/apps/metro-example-host/tsconfig.json
new file mode 100644
index 0000000000..88fa317f10
--- /dev/null
+++ b/apps/metro-example-host/tsconfig.json
@@ -0,0 +1,3 @@
+{
+ "extends": "@react-native/typescript-config"
+}
diff --git a/apps/metro-example-mini/.bundle/config b/apps/metro-example-mini/.bundle/config
new file mode 100644
index 0000000000..848943bb52
--- /dev/null
+++ b/apps/metro-example-mini/.bundle/config
@@ -0,0 +1,2 @@
+BUNDLE_PATH: "vendor/bundle"
+BUNDLE_FORCE_RUBY_PLATFORM: 1
diff --git a/apps/metro-example-mini/.eslintrc.js b/apps/metro-example-mini/.eslintrc.js
new file mode 100644
index 0000000000..187894b6af
--- /dev/null
+++ b/apps/metro-example-mini/.eslintrc.js
@@ -0,0 +1,4 @@
+module.exports = {
+ root: true,
+ extends: '@react-native',
+};
diff --git a/apps/metro-example-mini/.gitignore b/apps/metro-example-mini/.gitignore
new file mode 100644
index 0000000000..0a551b4713
--- /dev/null
+++ b/apps/metro-example-mini/.gitignore
@@ -0,0 +1,81 @@
+# OSX
+#
+.DS_Store
+
+# Xcode
+#
+build/
+*.pbxuser
+!default.pbxuser
+*.mode1v3
+!default.mode1v3
+*.mode2v3
+!default.mode2v3
+*.perspectivev3
+!default.perspectivev3
+xcuserdata
+*.xccheckout
+*.moved-aside
+DerivedData
+*.hmap
+*.ipa
+*.xcuserstate
+**/.xcode.env.local
+
+# Android/IntelliJ
+#
+build/
+.idea
+.gradle
+local.properties
+*.iml
+*.hprof
+.cxx/
+*.keystore
+!debug.keystore
+.kotlin/
+
+# node.js
+#
+node_modules/
+npm-debug.log
+yarn-error.log
+
+# fastlane
+#
+# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
+# screenshots whenever they are needed.
+# For more information about the recommended setup visit:
+# https://docs.fastlane.tools/best-practices/source-control/
+
+**/fastlane/report.xml
+**/fastlane/Preview.html
+**/fastlane/screenshots
+**/fastlane/test_output
+
+# Bundle artifact
+*.jsbundle
+
+# Ruby / CocoaPods
+**/Pods/
+/vendor/bundle/
+
+# Temporary files created by Metro to check the health of the file watcher
+.metro-health-check*
+
+# testing
+/coverage
+
+# Yarn
+.yarn/*
+!.yarn/patches
+!.yarn/plugins
+!.yarn/releases
+!.yarn/sdks
+!.yarn/versions
+
+# build artifacts
+dist/
+
+# RNEF
+.rnef
\ No newline at end of file
diff --git a/apps/metro-example-mini/.prettierrc.js b/apps/metro-example-mini/.prettierrc.js
new file mode 100644
index 0000000000..2b540746a7
--- /dev/null
+++ b/apps/metro-example-mini/.prettierrc.js
@@ -0,0 +1,7 @@
+module.exports = {
+ arrowParens: 'avoid',
+ bracketSameLine: true,
+ bracketSpacing: false,
+ singleQuote: true,
+ trailingComma: 'all',
+};
diff --git a/apps/metro-example-mini/.watchmanconfig b/apps/metro-example-mini/.watchmanconfig
new file mode 100644
index 0000000000..0967ef424b
--- /dev/null
+++ b/apps/metro-example-mini/.watchmanconfig
@@ -0,0 +1 @@
+{}
diff --git a/apps/metro-example-mini/App.tsx b/apps/metro-example-mini/App.tsx
new file mode 100644
index 0000000000..f65764e08b
--- /dev/null
+++ b/apps/metro-example-mini/App.tsx
@@ -0,0 +1,130 @@
+/**
+ * Sample React Native App
+ * https://github.com/facebook/react-native
+ *
+ * @format
+ */
+
+import type React from 'react';
+import type {PropsWithChildren} from 'react';
+import {
+ ScrollView,
+ StatusBar,
+ StyleSheet,
+ Text,
+ View,
+ useColorScheme,
+} from 'react-native';
+
+import {
+ Colors,
+ DebugInstructions,
+ Header,
+ LearnMoreLinks,
+ ReloadInstructions,
+} from 'react-native/Libraries/NewAppScreen';
+
+type SectionProps = PropsWithChildren<{
+ title: string;
+}>;
+
+function Section({children, title}: SectionProps): React.JSX.Element {
+ const isDarkMode = useColorScheme() === 'dark';
+ return (
+
+
+ {title}
+
+
+ {children}
+
+
+ );
+}
+
+function App(): React.JSX.Element {
+ const isDarkMode = useColorScheme() === 'dark';
+
+ const backgroundStyle = {
+ backgroundColor: isDarkMode ? Colors.darker : Colors.lighter,
+ };
+
+ /*
+ * To keep the template simple and small we're adding padding to prevent view
+ * from rendering under the System UI.
+ * For bigger apps the recommendation is to use `react-native-safe-area-context`:
+ * https://github.com/AppAndFlow/react-native-safe-area-context
+ *
+ * You can read more about it here:
+ * https://github.com/react-native-community/discussions-and-proposals/discussions/827
+ */
+ const safePadding = '5%';
+
+ return (
+
+
+
+
+
+
+
+
+ Edit App.tsx to change this
+ screen and then come back to see your edits.
+
+
+
+
+ Read the docs to discover what to do next:
+
+
+
+
+
+ );
+}
+
+const styles = StyleSheet.create({
+ sectionContainer: {
+ marginTop: 32,
+ paddingHorizontal: 24,
+ },
+ sectionTitle: {
+ fontSize: 24,
+ fontWeight: '600',
+ },
+ sectionDescription: {
+ marginTop: 8,
+ fontSize: 18,
+ fontWeight: '400',
+ },
+ highlight: {
+ fontWeight: '700',
+ },
+});
+
+export default App;
diff --git a/apps/metro-example-mini/Gemfile b/apps/metro-example-mini/Gemfile
new file mode 100644
index 0000000000..6a4c5f1718
--- /dev/null
+++ b/apps/metro-example-mini/Gemfile
@@ -0,0 +1,16 @@
+source 'https://rubygems.org'
+
+# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
+ruby ">= 2.6.10"
+
+# Exclude problematic versions of cocoapods and activesupport that causes build failures.
+gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1'
+gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0'
+gem 'xcodeproj', '< 1.26.0'
+gem 'concurrent-ruby', '< 1.3.4'
+
+# Ruby 3.4.0 has removed some libraries from the standard library.
+gem 'bigdecimal'
+gem 'logger'
+gem 'benchmark'
+gem 'mutex_m'
diff --git a/apps/metro-example-mini/Gemfile.lock b/apps/metro-example-mini/Gemfile.lock
new file mode 100644
index 0000000000..792397b7eb
--- /dev/null
+++ b/apps/metro-example-mini/Gemfile.lock
@@ -0,0 +1,124 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ CFPropertyList (3.0.7)
+ base64
+ nkf
+ rexml
+ activesupport (7.2.2.1)
+ base64
+ benchmark (>= 0.3)
+ bigdecimal
+ concurrent-ruby (~> 1.0, >= 1.3.1)
+ connection_pool (>= 2.2.5)
+ drb
+ i18n (>= 1.6, < 2)
+ logger (>= 1.4.2)
+ minitest (>= 5.1)
+ securerandom (>= 0.3)
+ tzinfo (~> 2.0, >= 2.0.5)
+ addressable (2.8.7)
+ public_suffix (>= 2.0.2, < 7.0)
+ algoliasearch (1.27.5)
+ httpclient (~> 2.8, >= 2.8.3)
+ json (>= 1.5.1)
+ atomos (0.1.3)
+ base64 (0.3.0)
+ benchmark (0.4.1)
+ bigdecimal (3.2.2)
+ claide (1.1.0)
+ cocoapods (1.15.2)
+ addressable (~> 2.8)
+ claide (>= 1.0.2, < 2.0)
+ cocoapods-core (= 1.15.2)
+ cocoapods-deintegrate (>= 1.0.3, < 2.0)
+ cocoapods-downloader (>= 2.1, < 3.0)
+ cocoapods-plugins (>= 1.0.0, < 2.0)
+ cocoapods-search (>= 1.0.0, < 2.0)
+ cocoapods-trunk (>= 1.6.0, < 2.0)
+ cocoapods-try (>= 1.1.0, < 2.0)
+ colored2 (~> 3.1)
+ escape (~> 0.0.4)
+ fourflusher (>= 2.3.0, < 3.0)
+ gh_inspector (~> 1.0)
+ molinillo (~> 0.8.0)
+ nap (~> 1.0)
+ ruby-macho (>= 2.3.0, < 3.0)
+ xcodeproj (>= 1.23.0, < 2.0)
+ cocoapods-core (1.15.2)
+ activesupport (>= 5.0, < 8)
+ addressable (~> 2.8)
+ algoliasearch (~> 1.0)
+ concurrent-ruby (~> 1.1)
+ fuzzy_match (~> 2.0.4)
+ nap (~> 1.0)
+ netrc (~> 0.11)
+ public_suffix (~> 4.0)
+ typhoeus (~> 1.0)
+ cocoapods-deintegrate (1.0.5)
+ cocoapods-downloader (2.1)
+ cocoapods-plugins (1.0.0)
+ nap
+ cocoapods-search (1.0.1)
+ cocoapods-trunk (1.6.0)
+ nap (>= 0.8, < 2.0)
+ netrc (~> 0.11)
+ cocoapods-try (1.2.0)
+ colored2 (3.1.2)
+ concurrent-ruby (1.3.3)
+ connection_pool (2.5.3)
+ drb (2.2.3)
+ escape (0.0.4)
+ ethon (0.16.0)
+ ffi (>= 1.15.0)
+ ffi (1.17.2)
+ fourflusher (2.3.1)
+ fuzzy_match (2.0.4)
+ gh_inspector (1.1.3)
+ httpclient (2.9.0)
+ mutex_m
+ i18n (1.14.7)
+ concurrent-ruby (~> 1.0)
+ json (2.12.2)
+ logger (1.7.0)
+ minitest (5.25.5)
+ molinillo (0.8.0)
+ mutex_m (0.3.0)
+ nanaimo (0.3.0)
+ nap (1.1.0)
+ netrc (0.11.0)
+ nkf (0.2.0)
+ public_suffix (4.0.7)
+ rexml (3.4.1)
+ ruby-macho (2.5.1)
+ securerandom (0.4.1)
+ typhoeus (1.4.1)
+ ethon (>= 0.9.0)
+ tzinfo (2.0.6)
+ concurrent-ruby (~> 1.0)
+ xcodeproj (1.25.1)
+ CFPropertyList (>= 2.3.3, < 4.0)
+ atomos (~> 0.1.3)
+ claide (>= 1.0.2, < 2.0)
+ colored2 (~> 3.1)
+ nanaimo (~> 0.3.0)
+ rexml (>= 3.3.6, < 4.0)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ activesupport (>= 6.1.7.5, != 7.1.0)
+ benchmark
+ bigdecimal
+ cocoapods (>= 1.13, != 1.15.1, != 1.15.0)
+ concurrent-ruby (< 1.3.4)
+ logger
+ mutex_m
+ xcodeproj (< 1.26.0)
+
+RUBY VERSION
+ ruby 3.1.0p0
+
+BUNDLED WITH
+ 2.6.1
diff --git a/apps/metro-example-mini/README.md b/apps/metro-example-mini/README.md
new file mode 100644
index 0000000000..89fe752e4c
--- /dev/null
+++ b/apps/metro-example-mini/README.md
@@ -0,0 +1,106 @@
+This is a new [**React Native**](https://reactnative.dev) project, bootstrapped using [`@react-native-community/cli`](https://github.com/react-native-community/cli).
+
+# Getting Started
+
+> **Note**: Make sure you have completed the [Set Up Your Environment](https://reactnative.dev/docs/set-up-your-environment) guide before proceeding.
+
+## Step 1: Start Metro
+
+First, you will need to run **Metro**, the JavaScript build tool for React Native.
+
+To start the Metro dev server, run the following command from the root of your React Native project:
+
+```sh
+# Using npm
+npm start
+
+# OR using Yarn
+yarn start
+
+# OR using pnpm
+pnpm start
+```
+
+## Step 2: Build and run your app
+
+With Metro running, open a new terminal window/pane from the root of your React Native project, and use one of the following commands to build and run your Android or iOS app:
+
+### Android
+
+```sh
+# Using npm
+npm run android
+
+# OR using Yarn
+yarn android
+
+# OR using pnpm
+pnpm android
+```
+
+### iOS
+
+For iOS, remember to install CocoaPods dependencies (this only needs to be run on first clone or after updating native deps).
+
+The first time you create a new project, run the Ruby bundler to install CocoaPods itself:
+
+```sh
+bundle install
+```
+
+Then, and every time you update your native dependencies, run:
+
+```sh
+bundle exec pod install
+```
+
+For more information, please visit [CocoaPods Getting Started guide](https://guides.cocoapods.org/using/getting-started.html).
+
+```sh
+# Using npm
+npm run ios
+
+# OR using Yarn
+yarn ios
+
+# OR using pnpm
+pnpm ios
+```
+
+If everything is set up correctly, you should see your new app running in the Android Emulator, iOS Simulator, or your connected device.
+
+This is one way to run your app — you can also build it directly from Android Studio or Xcode.
+
+## Step 3: Modify your app
+
+Now that you have successfully run the app, let's make changes!
+
+Open `App.tsx` in your text editor of choice and make some changes. When you save, your app will automatically update and reflect these changes — this is powered by [Fast Refresh](https://reactnative.dev/docs/fast-refresh).
+
+When you want to forcefully reload, for example to reset the state of your app, you can perform a full reload:
+
+- **Android**: Press the R key twice or select **"Reload"** from the **Dev Menu**, accessed via Ctrl + M (Windows/Linux) or Cmd ⌘ + M (macOS).
+- **iOS**: Press R in iOS Simulator.
+
+## 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 [docs](https://reactnative.dev/docs/getting-started).
+
+# Troubleshooting
+
+If you're having issues getting the above steps to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page.
+
+# Learn More
+
+To learn more about React Native, take a look at the following resources:
+
+- [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.
diff --git a/apps/metro-example-mini/__tests__/App.test.tsx b/apps/metro-example-mini/__tests__/App.test.tsx
new file mode 100644
index 0000000000..b7ad47b4a5
--- /dev/null
+++ b/apps/metro-example-mini/__tests__/App.test.tsx
@@ -0,0 +1,8 @@
+import ReactTestRenderer from 'react-test-renderer';
+import App from '../App';
+
+test('renders correctly', async () => {
+ await ReactTestRenderer.act(() => {
+ ReactTestRenderer.create();
+ });
+});
diff --git a/apps/metro-example-mini/android/app/build.gradle b/apps/metro-example-mini/android/app/build.gradle
new file mode 100644
index 0000000000..59a3f53278
--- /dev/null
+++ b/apps/metro-example-mini/android/app/build.gradle
@@ -0,0 +1,119 @@
+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/@rnef/cli/dist/src/bin.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 = "bundle-mf-host"
+ //
+ // 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.mini"
+ defaultConfig {
+ applicationId "com.mini"
+ 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/apps/metro-example-mini/android/app/debug.keystore b/apps/metro-example-mini/android/app/debug.keystore
new file mode 100644
index 0000000000..364e105ed3
Binary files /dev/null and b/apps/metro-example-mini/android/app/debug.keystore differ
diff --git a/apps/metro-example-mini/android/app/proguard-rules.pro b/apps/metro-example-mini/android/app/proguard-rules.pro
new file mode 100644
index 0000000000..11b025724a
--- /dev/null
+++ b/apps/metro-example-mini/android/app/proguard-rules.pro
@@ -0,0 +1,10 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
diff --git a/apps/metro-example-mini/android/app/src/debug/AndroidManifest.xml b/apps/metro-example-mini/android/app/src/debug/AndroidManifest.xml
new file mode 100644
index 0000000000..eb98c01afd
--- /dev/null
+++ b/apps/metro-example-mini/android/app/src/debug/AndroidManifest.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/apps/metro-example-mini/android/app/src/main/AndroidManifest.xml b/apps/metro-example-mini/android/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..e1892528b8
--- /dev/null
+++ b/apps/metro-example-mini/android/app/src/main/AndroidManifest.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/metro-example-mini/android/app/src/main/java/com/mini/MainActivity.kt b/apps/metro-example-mini/android/app/src/main/java/com/mini/MainActivity.kt
new file mode 100644
index 0000000000..50d27112f6
--- /dev/null
+++ b/apps/metro-example-mini/android/app/src/main/java/com/mini/MainActivity.kt
@@ -0,0 +1,22 @@
+package com.mini
+
+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 = "mini"
+
+ /**
+ * 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/apps/metro-example-mini/android/app/src/main/java/com/mini/MainApplication.kt b/apps/metro-example-mini/android/app/src/main/java/com/mini/MainApplication.kt
new file mode 100644
index 0000000000..4ab3690adb
--- /dev/null
+++ b/apps/metro-example-mini/android/app/src/main/java/com/mini/MainApplication.kt
@@ -0,0 +1,38 @@
+package com.mini
+
+import android.app.Application
+import com.facebook.react.PackageList
+import com.facebook.react.ReactApplication
+import com.facebook.react.ReactHost
+import com.facebook.react.ReactNativeApplicationEntryPoint.loadReactNative
+import com.facebook.react.ReactNativeHost
+import com.facebook.react.ReactPackage
+import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost
+import com.facebook.react.defaults.DefaultReactNativeHost
+
+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()
+ loadReactNative(this)
+ }
+}
diff --git a/apps/metro-example-mini/android/app/src/main/res/drawable/rn_edit_text_material.xml b/apps/metro-example-mini/android/app/src/main/res/drawable/rn_edit_text_material.xml
new file mode 100644
index 0000000000..5c25e728ea
--- /dev/null
+++ b/apps/metro-example-mini/android/app/src/main/res/drawable/rn_edit_text_material.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/metro-example-mini/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/apps/metro-example-mini/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 0000000000..a2f5908281
Binary files /dev/null and b/apps/metro-example-mini/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/apps/metro-example-mini/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/apps/metro-example-mini/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
new file mode 100644
index 0000000000..1b52399808
Binary files /dev/null and b/apps/metro-example-mini/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/apps/metro-example-mini/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/apps/metro-example-mini/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 0000000000..ff10afd6e1
Binary files /dev/null and b/apps/metro-example-mini/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/apps/metro-example-mini/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/apps/metro-example-mini/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
new file mode 100644
index 0000000000..115a4c768a
Binary files /dev/null and b/apps/metro-example-mini/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/apps/metro-example-mini/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/apps/metro-example-mini/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 0000000000..dcd3cd8083
Binary files /dev/null and b/apps/metro-example-mini/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/apps/metro-example-mini/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/apps/metro-example-mini/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
new file mode 100644
index 0000000000..459ca609d3
Binary files /dev/null and b/apps/metro-example-mini/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/apps/metro-example-mini/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/apps/metro-example-mini/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000000..8ca12fe024
Binary files /dev/null and b/apps/metro-example-mini/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/apps/metro-example-mini/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/apps/metro-example-mini/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000000..8e19b410a1
Binary files /dev/null and b/apps/metro-example-mini/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/apps/metro-example-mini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/apps/metro-example-mini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000000..b824ebdd48
Binary files /dev/null and b/apps/metro-example-mini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/apps/metro-example-mini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/apps/metro-example-mini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000000..4c19a13c23
Binary files /dev/null and b/apps/metro-example-mini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/apps/metro-example-mini/android/app/src/main/res/values/strings.xml b/apps/metro-example-mini/android/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000000..e47a5678c3
--- /dev/null
+++ b/apps/metro-example-mini/android/app/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+
+ mini
+
diff --git a/apps/metro-example-mini/android/app/src/main/res/values/styles.xml b/apps/metro-example-mini/android/app/src/main/res/values/styles.xml
new file mode 100644
index 0000000000..7ba83a2ad5
--- /dev/null
+++ b/apps/metro-example-mini/android/app/src/main/res/values/styles.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
diff --git a/apps/metro-example-mini/android/build.gradle b/apps/metro-example-mini/android/build.gradle
new file mode 100644
index 0000000000..b4f3ad9dea
--- /dev/null
+++ b/apps/metro-example-mini/android/build.gradle
@@ -0,0 +1,21 @@
+buildscript {
+ ext {
+ buildToolsVersion = "35.0.0"
+ minSdkVersion = 24
+ compileSdkVersion = 35
+ targetSdkVersion = 35
+ ndkVersion = "27.1.12297006"
+ kotlinVersion = "2.1.20"
+ }
+ 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/apps/metro-example-mini/android/gradle.properties b/apps/metro-example-mini/android/gradle.properties
new file mode 100644
index 0000000000..5e24e3aa8d
--- /dev/null
+++ b/apps/metro-example-mini/android/gradle.properties
@@ -0,0 +1,39 @@
+# 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/apps/metro-example-mini/android/gradle/wrapper/gradle-wrapper.jar b/apps/metro-example-mini/android/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000000..1b33c55baa
Binary files /dev/null and b/apps/metro-example-mini/android/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/apps/metro-example-mini/android/gradle/wrapper/gradle-wrapper.properties b/apps/metro-example-mini/android/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000000..002b867c48
--- /dev/null
+++ b/apps/metro-example-mini/android/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,7 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/apps/metro-example-mini/android/gradlew b/apps/metro-example-mini/android/gradlew
new file mode 100755
index 0000000000..23d15a9367
--- /dev/null
+++ b/apps/metro-example-mini/android/gradlew
@@ -0,0 +1,251 @@
+#!/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.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+
+##############################################################################
+#
+# 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/platforms/jvm/plugins-application/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 -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || 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="\\\"\\\""
+
+
+# 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=SC2039,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=SC2039,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 optsEnvironmentVar are not allowed to contain shell fragments,
+# and any embedded shellness will be escaped.
+# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
+# treated as '${Hostname}' itself on the command line.
+
+set -- \
+ "-Dorg.gradle.appname=$APP_BASE_NAME" \
+ -classpath "$CLASSPATH" \
+ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
+ "$@"
+
+# 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/apps/metro-example-mini/android/gradlew.bat b/apps/metro-example-mini/android/gradlew.bat
new file mode 100644
index 0000000000..db3a6ac207
--- /dev/null
+++ b/apps/metro-example-mini/android/gradlew.bat
@@ -0,0 +1,94 @@
+@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
+@rem SPDX-License-Identifier: Apache-2.0
+@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. 1>&2
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
+
+: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/apps/metro-example-mini/android/settings.gradle b/apps/metro-example-mini/android/settings.gradle
new file mode 100644
index 0000000000..076181847a
--- /dev/null
+++ b/apps/metro-example-mini/android/settings.gradle
@@ -0,0 +1,6 @@
+pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") }
+plugins { id("com.facebook.react.settings") }
+extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand(['npx', 'rnef', 'config', '-p', 'android']) }
+rootProject.name = 'mini'
+include ':app'
+includeBuild('../node_modules/@react-native/gradle-plugin')
diff --git a/apps/metro-example-mini/app.json b/apps/metro-example-mini/app.json
new file mode 100644
index 0000000000..58dbc3c622
--- /dev/null
+++ b/apps/metro-example-mini/app.json
@@ -0,0 +1,4 @@
+{
+ "name": "mini",
+ "displayName": "mini"
+}
diff --git a/apps/metro-example-mini/babel.config.js b/apps/metro-example-mini/babel.config.js
new file mode 100644
index 0000000000..f7b3da3b33
--- /dev/null
+++ b/apps/metro-example-mini/babel.config.js
@@ -0,0 +1,3 @@
+module.exports = {
+ presets: ['module:@react-native/babel-preset'],
+};
diff --git a/apps/metro-example-mini/index.js b/apps/metro-example-mini/index.js
new file mode 100644
index 0000000000..a850d031de
--- /dev/null
+++ b/apps/metro-example-mini/index.js
@@ -0,0 +1,9 @@
+/**
+ * @format
+ */
+
+import {AppRegistry} from 'react-native';
+import App from './App';
+import {name as appName} from './app.json';
+
+AppRegistry.registerComponent(appName, () => App);
diff --git a/apps/metro-example-mini/ios/.xcode.env b/apps/metro-example-mini/ios/.xcode.env
new file mode 100644
index 0000000000..3d5782c715
--- /dev/null
+++ b/apps/metro-example-mini/ios/.xcode.env
@@ -0,0 +1,11 @@
+# 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/apps/metro-example-mini/ios/Podfile b/apps/metro-example-mini/ios/Podfile
new file mode 100644
index 0000000000..3d1b5c16c3
--- /dev/null
+++ b/apps/metro-example-mini/ios/Podfile
@@ -0,0 +1,35 @@
+# 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 'mini' do
+ config = use_native_modules!(['npx', 'rnef', 'config', '-p', 'ios'])
+
+ 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/apps/metro-example-mini/ios/Podfile.lock b/apps/metro-example-mini/ios/Podfile.lock
new file mode 100644
index 0000000000..3b3b7029bb
--- /dev/null
+++ b/apps/metro-example-mini/ios/Podfile.lock
@@ -0,0 +1,2432 @@
+PODS:
+ - boost (1.84.0)
+ - DoubleConversion (1.1.6)
+ - fast_float (8.0.0)
+ - FBLazyVector (0.80.0)
+ - fmt (11.0.2)
+ - glog (0.3.5)
+ - hermes-engine (0.80.0):
+ - hermes-engine/Pre-built (= 0.80.0)
+ - hermes-engine/Pre-built (0.80.0)
+ - 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.80.0)
+ - RCTRequired (0.80.0)
+ - RCTTypeSafety (0.80.0):
+ - FBLazyVector (= 0.80.0)
+ - RCTRequired (= 0.80.0)
+ - React-Core (= 0.80.0)
+ - React (0.80.0):
+ - React-Core (= 0.80.0)
+ - React-Core/DevSupport (= 0.80.0)
+ - React-Core/RCTWebSocket (= 0.80.0)
+ - React-RCTActionSheet (= 0.80.0)
+ - React-RCTAnimation (= 0.80.0)
+ - React-RCTBlob (= 0.80.0)
+ - React-RCTImage (= 0.80.0)
+ - React-RCTLinking (= 0.80.0)
+ - React-RCTNetwork (= 0.80.0)
+ - React-RCTSettings (= 0.80.0)
+ - React-RCTText (= 0.80.0)
+ - React-RCTVibration (= 0.80.0)
+ - React-callinvoker (0.80.0)
+ - React-Core (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTDeprecation
+ - React-Core/Default (= 0.80.0)
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsitooling
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/CoreModulesHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/Default (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/DevSupport (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTDeprecation
+ - React-Core/Default (= 0.80.0)
+ - React-Core/RCTWebSocket (= 0.80.0)
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsitooling
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTActionSheetHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTAnimationHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTBlobHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTImageHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTLinkingHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTNetworkHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTSettingsHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTTextHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTVibrationHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTWebSocket (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTDeprecation
+ - React-Core/Default (= 0.80.0)
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsitooling
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-CoreModules (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTTypeSafety (= 0.80.0)
+ - React-Core/CoreModulesHeaders (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectortracing
+ - React-NativeModulesApple
+ - React-RCTBlob
+ - React-RCTFBReactNativeSpec
+ - React-RCTImage (= 0.80.0)
+ - ReactCommon
+ - SocketRocket
+ - React-cxxreact (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-callinvoker (= 0.80.0)
+ - React-debug (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectortracing
+ - React-logger (= 0.80.0)
+ - React-perflogger (= 0.80.0)
+ - React-runtimeexecutor (= 0.80.0)
+ - React-timing (= 0.80.0)
+ - SocketRocket
+ - React-debug (0.80.0)
+ - React-defaultsnativemodule (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-domnativemodule
+ - React-featureflagsnativemodule
+ - React-hermes
+ - React-idlecallbacksnativemodule
+ - React-jsi
+ - React-jsiexecutor
+ - React-microtasksnativemodule
+ - React-RCTFBReactNativeSpec
+ - SocketRocket
+ - React-domnativemodule (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-Fabric
+ - React-FabricComponents
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-RCTFBReactNativeSpec
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-Fabric (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric/animations (= 0.80.0)
+ - React-Fabric/attributedstring (= 0.80.0)
+ - React-Fabric/componentregistry (= 0.80.0)
+ - React-Fabric/componentregistrynative (= 0.80.0)
+ - React-Fabric/components (= 0.80.0)
+ - React-Fabric/consistency (= 0.80.0)
+ - React-Fabric/core (= 0.80.0)
+ - React-Fabric/dom (= 0.80.0)
+ - React-Fabric/imagemanager (= 0.80.0)
+ - React-Fabric/leakchecker (= 0.80.0)
+ - React-Fabric/mounting (= 0.80.0)
+ - React-Fabric/observers (= 0.80.0)
+ - React-Fabric/scheduler (= 0.80.0)
+ - React-Fabric/telemetry (= 0.80.0)
+ - React-Fabric/templateprocessor (= 0.80.0)
+ - React-Fabric/uimanager (= 0.80.0)
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/animations (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/attributedstring (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/componentregistry (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/componentregistrynative (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/components (0.80.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.80.0)
+ - React-Fabric/components/root (= 0.80.0)
+ - React-Fabric/components/scrollview (= 0.80.0)
+ - React-Fabric/components/view (= 0.80.0)
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/components/legacyviewmanagerinterop (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/components/root (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/components/scrollview (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/components/view (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-renderercss
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-Fabric/consistency (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/core (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/dom (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/imagemanager (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/leakchecker (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/mounting (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/observers (0.80.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.80.0)
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/observers/events (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/scheduler (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-performancetimeline
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/telemetry (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/templateprocessor (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/uimanager (0.80.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.80.0)
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererconsistency
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/uimanager/consistency (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererconsistency
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-FabricComponents (0.80.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.80.0)
+ - React-FabricComponents/textlayoutmanager (= 0.80.0)
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components (0.80.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.80.0)
+ - React-FabricComponents/components/iostextinput (= 0.80.0)
+ - React-FabricComponents/components/modal (= 0.80.0)
+ - React-FabricComponents/components/rncore (= 0.80.0)
+ - React-FabricComponents/components/safeareaview (= 0.80.0)
+ - React-FabricComponents/components/scrollview (= 0.80.0)
+ - React-FabricComponents/components/text (= 0.80.0)
+ - React-FabricComponents/components/textinput (= 0.80.0)
+ - React-FabricComponents/components/unimplementedview (= 0.80.0)
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/inputaccessory (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/iostextinput (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/modal (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/rncore (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/safeareaview (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/scrollview (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/text (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/textinput (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/unimplementedview (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/textlayoutmanager (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricImage (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTRequired (= 0.80.0)
+ - RCTTypeSafety (= 0.80.0)
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-ImageManager
+ - React-jsi
+ - React-jsiexecutor (= 0.80.0)
+ - React-logger
+ - React-rendererdebug
+ - React-utils
+ - ReactCommon
+ - SocketRocket
+ - Yoga
+ - React-featureflags (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - SocketRocket
+ - React-featureflagsnativemodule (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-RCTFBReactNativeSpec
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-graphics (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-utils
+ - SocketRocket
+ - React-hermes (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-cxxreact (= 0.80.0)
+ - React-jsi
+ - React-jsiexecutor (= 0.80.0)
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectortracing
+ - React-perflogger (= 0.80.0)
+ - React-runtimeexecutor
+ - SocketRocket
+ - React-idlecallbacksnativemodule (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-RCTFBReactNativeSpec
+ - React-runtimescheduler
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-ImageManager (0.80.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-jserrorhandler (0.80.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.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - SocketRocket
+ - React-jsiexecutor (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-cxxreact (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectortracing
+ - React-perflogger (= 0.80.0)
+ - SocketRocket
+ - React-jsinspector (0.80.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-perflogger (= 0.80.0)
+ - React-runtimeexecutor (= 0.80.0)
+ - SocketRocket
+ - React-jsinspectorcdp (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - SocketRocket
+ - React-jsinspectornetwork (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-jsinspectorcdp
+ - SocketRocket
+ - React-jsinspectortracing (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-oscompat
+ - SocketRocket
+ - React-jsitooling (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-cxxreact (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectortracing
+ - SocketRocket
+ - React-jsitracing (0.80.0):
+ - React-jsi
+ - React-logger (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - SocketRocket
+ - React-Mapbuffer (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-debug
+ - SocketRocket
+ - React-microtasksnativemodule (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-RCTFBReactNativeSpec
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-NativeModulesApple (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-callinvoker
+ - React-Core
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-runtimeexecutor
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-oscompat (0.80.0)
+ - React-perflogger (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - SocketRocket
+ - React-performancetimeline (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-featureflags
+ - React-jsinspectortracing
+ - React-perflogger
+ - React-timing
+ - SocketRocket
+ - React-RCTActionSheet (0.80.0):
+ - React-Core/RCTActionSheetHeaders (= 0.80.0)
+ - React-RCTAnimation (0.80.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.80.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-runtimescheduler
+ - React-utils
+ - ReactCommon
+ - SocketRocket
+ - React-RCTBlob (0.80.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.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-FabricComponents
+ - React-FabricImage
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-ImageManager
+ - React-jsi
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectornetwork
+ - React-jsinspectortracing
+ - React-performancetimeline
+ - React-RCTAnimation
+ - React-RCTImage
+ - React-RCTText
+ - React-rendererconsistency
+ - React-renderercss
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-RCTFBReactNativeSpec (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-NativeModulesApple
+ - ReactCommon
+ - SocketRocket
+ - React-RCTImage (0.80.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.80.0):
+ - React-Core/RCTLinkingHeaders (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-NativeModulesApple
+ - React-RCTFBReactNativeSpec
+ - ReactCommon
+ - ReactCommon/turbomodule/core (= 0.80.0)
+ - React-RCTNetwork (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTTypeSafety
+ - React-Core/RCTNetworkHeaders
+ - React-featureflags
+ - React-jsi
+ - React-jsinspectorcdp
+ - React-jsinspectornetwork
+ - React-NativeModulesApple
+ - React-RCTFBReactNativeSpec
+ - ReactCommon
+ - SocketRocket
+ - React-RCTRuntime (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-Core
+ - React-hermes
+ - React-jsi
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectortracing
+ - React-jsitooling
+ - React-RuntimeApple
+ - React-RuntimeCore
+ - React-RuntimeHermes
+ - SocketRocket
+ - React-RCTSettings (0.80.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.80.0):
+ - React-Core/RCTTextHeaders (= 0.80.0)
+ - Yoga
+ - React-RCTVibration (0.80.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.80.0)
+ - React-renderercss (0.80.0):
+ - React-debug
+ - React-utils
+ - React-rendererdebug (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-debug
+ - SocketRocket
+ - React-rncore (0.80.0)
+ - React-RuntimeApple (0.80.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.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-cxxreact
+ - React-Fabric
+ - React-featureflags
+ - React-hermes
+ - React-jserrorhandler
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-jsitooling
+ - React-performancetimeline
+ - React-runtimeexecutor
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - React-runtimeexecutor (0.80.0):
+ - React-jsi (= 0.80.0)
+ - React-RuntimeHermes (0.80.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-utils
+ - SocketRocket
+ - React-runtimescheduler (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-callinvoker
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsinspectortracing
+ - React-performancetimeline
+ - React-rendererconsistency
+ - React-rendererdebug
+ - React-runtimeexecutor
+ - React-timing
+ - React-utils
+ - SocketRocket
+ - React-timing (0.80.0)
+ - React-utils (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-debug
+ - React-hermes
+ - React-jsi (= 0.80.0)
+ - SocketRocket
+ - ReactAppDependencyProvider (0.80.0):
+ - ReactCodegen
+ - ReactCodegen (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-NativeModulesApple
+ - React-RCTAppDelegate
+ - React-rendererdebug
+ - React-utils
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - ReactCommon (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - ReactCommon/turbomodule (= 0.80.0)
+ - SocketRocket
+ - ReactCommon/turbomodule (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-callinvoker (= 0.80.0)
+ - React-cxxreact (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-logger (= 0.80.0)
+ - React-perflogger (= 0.80.0)
+ - ReactCommon/turbomodule/bridging (= 0.80.0)
+ - ReactCommon/turbomodule/core (= 0.80.0)
+ - SocketRocket
+ - ReactCommon/turbomodule/bridging (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-callinvoker (= 0.80.0)
+ - React-cxxreact (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-logger (= 0.80.0)
+ - React-perflogger (= 0.80.0)
+ - SocketRocket
+ - ReactCommon/turbomodule/core (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-callinvoker (= 0.80.0)
+ - React-cxxreact (= 0.80.0)
+ - React-debug (= 0.80.0)
+ - React-featureflags (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-logger (= 0.80.0)
+ - React-perflogger (= 0.80.0)
+ - React-utils (= 0.80.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`)
+ - 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`)
+ - 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-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-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
+ - React-oscompat (from `../node_modules/react-native/ReactCommon/oscompat`)
+ - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`)
+ - 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-rncore (from `../node_modules/react-native/ReactCommon`)
+ - 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`)
+ - ReactAppDependencyProvider (from `build/generated/ios`)
+ - ReactCodegen (from `build/generated/ios`)
+ - 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-2025-05-06-RNv0.80.0-4eb6132a5bf0450bf4c6c91987675381d7ac8bca
+ 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"
+ 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-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-NativeModulesApple:
+ :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios"
+ React-oscompat:
+ :path: "../node_modules/react-native/ReactCommon/oscompat"
+ React-perflogger:
+ :path: "../node_modules/react-native/ReactCommon/reactperflogger"
+ 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-rncore:
+ :path: "../node_modules/react-native/ReactCommon"
+ 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"
+ ReactAppDependencyProvider:
+ :path: build/generated/ios
+ ReactCodegen:
+ :path: build/generated/ios
+ 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: 778b815a6fb3fa1599f581ffb9a5e85fad313c1d
+ fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd
+ glog: 5683914934d5b6e4240e497e0f4a3b42d1854183
+ hermes-engine: 7068e976238b29e97b3bafd09a994542af7d5c0b
+ RCT-Folly: 846fda9475e61ec7bcbf8a3fe81edfcaeb090669
+ RCTDeprecation: ff787f6c860a1b97dd1bc27264b61d23ad1994da
+ RCTRequired: 664eb8399ed8a83e26ab65af7c2ad390f7e61696
+ RCTTypeSafety: a5cf7a7e80baf972e331dc028e5d5c19bb2535a4
+ React: 606d4dccbcf29aec4dc84a7921405a28e1701a22
+ React-callinvoker: 0e13bd3c039df9ceef04f7381a81f017655c8361
+ React-Core: d118e66b5b561f5ab999dd7f9cf14f54dab376a7
+ React-CoreModules: 6ec48c52c9ff2ca3fa110153de09e4c2379f1860
+ React-cxxreact: cb406100002503e44de4b725e581ce24f47003b9
+ React-debug: a9e91845f3670c3a19249f52919f0488b7842cf7
+ React-defaultsnativemodule: ee76dbbfc31db775bc318f707f01869cd8a32f42
+ React-domnativemodule: a3f44d7ea5c7f8ef5c6f88574471d6f0b73d2f17
+ React-Fabric: bb3b550229a1cf7a93f9d8569a3a672cae115d94
+ React-FabricComponents: a3b5184c705b5b45c8e6736f8bc579bae5cbecbe
+ React-FabricImage: 8d3a479a8c6097d20b7bd170df7d28b9da72381e
+ React-featureflags: 2d450523e473b3923790f9502feb8d13691b9e0e
+ React-featureflagsnativemodule: 90429c06d7aa290896a76639eaaa78c1d0bf4bca
+ React-graphics: 9e11a80b48b66d08d47c16cb5d922f1171840e70
+ React-hermes: ae85ffa5ce034f07f63c95a7cbd15a391da8a6d3
+ React-idlecallbacksnativemodule: bbacde3a9c82e14b9f3bfc9494bb960ce6801bf3
+ React-ImageManager: d9f55275912e0ee5e34a66d30ad7c6327ce7daa4
+ React-jserrorhandler: eeac7d0ce29ef27a5828d376ae84e516c2f3bab0
+ React-jsi: 8eba045092d3ebe6b30f11e397185080e22e1c3d
+ React-jsiexecutor: 84978b702963ecee46f8e4d510931d4fdb7e8429
+ React-jsinspector: 5efae7cf4601cb0c7441e4caaa5a6cc16781bf54
+ React-jsinspectorcdp: df0f2b157b62a9f5d91c87600331c55414c35881
+ React-jsinspectornetwork: af69093cf9d60dbcd00cda064ac271e2123f623e
+ React-jsinspectortracing: 2519b0016db1f338e56620a3fec253f455318359
+ React-jsitooling: ffb70ee2d0c8836b1e8feddd0945847ae89271ad
+ React-jsitracing: 4a6b9ca5ed4195c51c9205712f06aba38fbb758e
+ React-logger: dce52a571ba0e0149c3f0fcc6866cbc0c8552c5e
+ React-Mapbuffer: f5754c33877eaf36e4c76c613b35615a181c85c5
+ React-microtasksnativemodule: 23df6374a3ac422d8c2927839bcaeed61fee3dad
+ React-NativeModulesApple: e16d5c133019987285f001fbf1461a861e40426f
+ React-oscompat: 7c0a341cc31e350da71ddf2e46de0a845d1d1626
+ React-perflogger: c91e01612298b74f70d846ae3666d2b078c547e0
+ React-performancetimeline: 6b9a6951922d764073bc69617be43a9552de96ba
+ React-RCTActionSheet: 99864bd8422649219f24eca9a51445e698b70b8e
+ React-RCTAnimation: ae0790201f87e9782f4a8b4346ac414f4c3273f3
+ React-RCTAppDelegate: e94955f941036818be7583fe820d13bf47c5e9af
+ React-RCTBlob: 472203c0f6fa4f25996ed94a2cdf5eaa92200fe3
+ React-RCTFabric: 6f6b6979e6395f4fc33e6e25612f6272a71b7af5
+ React-RCTFBReactNativeSpec: 9a0d5b08fcc6e0c73f2afc8fce60e8537db82b58
+ React-RCTImage: 14ce85b3f9e898ad8ab2fd49be97f09e43251fb9
+ React-RCTLinking: b189fd2fd5fce9c3189d64204f1a92c36ffc27bd
+ React-RCTNetwork: 66f7536d038d5ecec63acdc5e7c9b7f843fed4ac
+ React-RCTRuntime: 62482bc3df825749a51ff2c7aa2dd0b8d74ee930
+ React-RCTSettings: 98360df5a9e6f6d10bd9738c6d4637005e4f842e
+ React-RCTText: 667ac6f696da8cd6671b5b562adf43419a787705
+ React-RCTVibration: 13de9226d181fb939b187f3f682767c6e8cc80f8
+ React-rendererconsistency: a4db9bb060c65bce8ae83d936ed0719696055bd2
+ React-renderercss: f7788003b3c65702cbc123f8ba7678dd3cb67753
+ React-rendererdebug: 67c92da913f21ebe041ce959f024ab89cf2a7bde
+ React-rncore: 322add36430c38049067a5d365f166256975391f
+ React-RuntimeApple: f3eedaeab424b467cfc61a308422235399ded08c
+ React-RuntimeCore: fd5ff77cca527e2ecd42e0d6a3eeafafde74d9c9
+ React-runtimeexecutor: 49ea276161508d50b3486c385e1ca7972d1699f5
+ React-RuntimeHermes: 85e8e095e106dbc6bcf5dcae051f56ba18b1d629
+ React-runtimescheduler: c8581138c14a1e2036e8403628b963c0d1c88b26
+ React-timing: a275a1c2e6112dba17f8f7dd496d439213bbea0d
+ React-utils: 449a6e1fd53886510e284e80bdbb1b1c6db29452
+ ReactAppDependencyProvider: 3267432b637c9b38e86961b287f784ee1b08dde0
+ ReactCodegen: a1a6d7288d6a5fc86f109e46149c35d707932702
+ ReactCommon: b028d09a66e60ebd83ca59d8cc9a1216360db147
+ SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
+ Yoga: 0c4b7d2aacc910a1f702694fa86be830386f4ceb
+
+PODFILE CHECKSUM: a8134080201cda3c42e54a89f48d0930861e3c58
+
+COCOAPODS: 1.15.2
diff --git a/apps/metro-example-mini/ios/mini.xcodeproj/project.pbxproj b/apps/metro-example-mini/ios/mini.xcodeproj/project.pbxproj
new file mode 100644
index 0000000000..c45a5d0150
--- /dev/null
+++ b/apps/metro-example-mini/ios/mini.xcodeproj/project.pbxproj
@@ -0,0 +1,486 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 54;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 0C80B921A6F3F58F76C31292 /* libPods-mini.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-mini.a */; };
+ 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
+ 1B66602DC5347A69CC842176 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */; };
+ 761780ED2CA45674006654EE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 761780EC2CA45674006654EE /* AppDelegate.swift */; };
+ 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 13B07F961A680F5B00A75B9A /* mini.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = mini.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = mini/Images.xcassets; sourceTree = ""; };
+ 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mini/Info.plist; sourceTree = ""; };
+ 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = mini/PrivacyInfo.xcprivacy; sourceTree = ""; };
+ 3B4392A12AC88292D35C810B /* Pods-mini.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mini.debug.xcconfig"; path = "Target Support Files/Pods-mini/Pods-mini.debug.xcconfig"; sourceTree = ""; };
+ 5709B34CF0A7D63546082F79 /* Pods-mini.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mini.release.xcconfig"; path = "Target Support Files/Pods-mini/Pods-mini.release.xcconfig"; sourceTree = ""; };
+ 5DCACB8F33CDC322A6C60F78 /* libPods-mini.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-mini.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 761780EC2CA45674006654EE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = mini/AppDelegate.swift; sourceTree = ""; };
+ 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = mini/LaunchScreen.storyboard; sourceTree = ""; };
+ ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 13B07F8C1A680F5B00A75B9A /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 0C80B921A6F3F58F76C31292 /* libPods-mini.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 13B07FAE1A68108700A75B9A /* mini */ = {
+ isa = PBXGroup;
+ children = (
+ 13B07FB51A68108700A75B9A /* Images.xcassets */,
+ 761780EC2CA45674006654EE /* AppDelegate.swift */,
+ 13B07FB61A68108700A75B9A /* Info.plist */,
+ 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */,
+ 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */,
+ );
+ name = mini;
+ sourceTree = "";
+ };
+ 2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
+ 5DCACB8F33CDC322A6C60F78 /* libPods-mini.a */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ 832341AE1AAA6A7D00B99B32 /* Libraries */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Libraries;
+ sourceTree = "";
+ };
+ 83CBB9F61A601CBA00E9B192 = {
+ isa = PBXGroup;
+ children = (
+ 13B07FAE1A68108700A75B9A /* mini */,
+ 832341AE1AAA6A7D00B99B32 /* Libraries */,
+ 83CBBA001A601CBA00E9B192 /* Products */,
+ 2D16E6871FA4F8E400B85C8A /* Frameworks */,
+ BBD78D7AC51CEA395F1C20DB /* Pods */,
+ );
+ indentWidth = 2;
+ sourceTree = "";
+ tabWidth = 2;
+ usesTabs = 0;
+ };
+ 83CBBA001A601CBA00E9B192 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 13B07F961A680F5B00A75B9A /* mini.app */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ BBD78D7AC51CEA395F1C20DB /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ 3B4392A12AC88292D35C810B /* Pods-mini.debug.xcconfig */,
+ 5709B34CF0A7D63546082F79 /* Pods-mini.release.xcconfig */,
+ );
+ path = Pods;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 13B07F861A680F5B00A75B9A /* mini */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "mini" */;
+ buildPhases = (
+ C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */,
+ 13B07F871A680F5B00A75B9A /* Sources */,
+ 13B07F8C1A680F5B00A75B9A /* Frameworks */,
+ 13B07F8E1A680F5B00A75B9A /* Resources */,
+ 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
+ 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */,
+ E235C05ADACE081382539298 /* [CP] Copy Pods Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = mini;
+ productName = mini;
+ productReference = 13B07F961A680F5B00A75B9A /* mini.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 83CBB9F71A601CBA00E9B192 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 1210;
+ TargetAttributes = {
+ 13B07F861A680F5B00A75B9A = {
+ LastSwiftMigration = 1120;
+ };
+ };
+ };
+ buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "mini" */;
+ compatibilityVersion = "Xcode 12.0";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = 83CBB9F61A601CBA00E9B192;
+ productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 13B07F861A680F5B00A75B9A /* mini */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 13B07F8E1A680F5B00A75B9A /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */,
+ 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
+ 1B66602DC5347A69CC842176 /* 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\nif [[ -f \"$PODS_ROOT/../.xcode.env\" ]]; then\nsource \"$PODS_ROOT/../.xcode.env\"\nfi\nif [[ -f \"$PODS_ROOT/../.xcode.env.local\" ]]; then\nsource \"$PODS_ROOT/../.xcode.env.local\"\nfi\nexport BUNDLE_COMMAND=\"bundle-mf-host\"\nexport CONFIG_CMD=\"dummy-workaround-value\"\nexport CLI_PATH=\"$(\"$NODE_BINARY\" --print \"require('path').dirname(require.resolve('@rnef/cli/package.json')) + '/dist/src/bin.js'\")\"\nWITH_ENVIRONMENT=\"$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"$REACT_NATIVE_PATH/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
+ };
+ 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-mini/Pods-mini-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-mini/Pods-mini-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-mini/Pods-mini-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ C38B50BA6285516D6DCD4F65 /* [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-mini-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;
+ };
+ E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-mini/Pods-mini-resources-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Copy Pods Resources";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-mini/Pods-mini-resources-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-mini/Pods-mini-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 13B07F871A680F5B00A75B9A /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 761780ED2CA45674006654EE /* AppDelegate.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ 13B07F941A680F5B00A75B9A /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-mini.debug.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_ENABLE_MODULES = YES;
+ CURRENT_PROJECT_VERSION = 1;
+ ENABLE_BITCODE = NO;
+ INFOPLIST_FILE = mini/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 15.1;
+ 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 = mini;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Debug;
+ };
+ 13B07F951A680F5B00A75B9A /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-mini.release.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_ENABLE_MODULES = YES;
+ CURRENT_PROJECT_VERSION = 1;
+ INFOPLIST_FILE = mini/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 15.1;
+ 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 = mini;
+ SWIFT_VERSION = 5.0;
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Release;
+ };
+ 83CBBA201A601CBA00E9B192 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ 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;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
+ 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 = 15.1;
+ 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_CPLUSPLUSFLAGS = (
+ "$(OTHER_CFLAGS)",
+ "-DFOLLY_NO_CONFIG",
+ "-DFOLLY_MOBILE=1",
+ "-DFOLLY_USE_LIBCPP=1",
+ "-DFOLLY_CFG_NO_COROUTINES=1",
+ "-DFOLLY_HAVE_CLOCK_GETTIME=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;
+ 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;
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
+ 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 = 15.1;
+ 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_CPLUSPLUSFLAGS = (
+ "$(OTHER_CFLAGS)",
+ "-DFOLLY_NO_CONFIG",
+ "-DFOLLY_MOBILE=1",
+ "-DFOLLY_USE_LIBCPP=1",
+ "-DFOLLY_CFG_NO_COROUTINES=1",
+ "-DFOLLY_HAVE_CLOCK_GETTIME=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 "mini" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 13B07F941A680F5B00A75B9A /* Debug */,
+ 13B07F951A680F5B00A75B9A /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "mini" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 83CBBA201A601CBA00E9B192 /* Debug */,
+ 83CBBA211A601CBA00E9B192 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;
+}
diff --git a/apps/metro-example-mini/ios/mini.xcodeproj/xcshareddata/xcschemes/mini.xcscheme b/apps/metro-example-mini/ios/mini.xcodeproj/xcshareddata/xcschemes/mini.xcscheme
new file mode 100644
index 0000000000..8408ed7798
--- /dev/null
+++ b/apps/metro-example-mini/ios/mini.xcodeproj/xcshareddata/xcschemes/mini.xcscheme
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/metro-example-mini/ios/mini.xcworkspace/contents.xcworkspacedata b/apps/metro-example-mini/ios/mini.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000000..99e6cf4ecc
--- /dev/null
+++ b/apps/metro-example-mini/ios/mini.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/apps/metro-example-mini/ios/mini/AppDelegate.swift b/apps/metro-example-mini/ios/mini/AppDelegate.swift
new file mode 100644
index 0000000000..ba594ac611
--- /dev/null
+++ b/apps/metro-example-mini/ios/mini/AppDelegate.swift
@@ -0,0 +1,48 @@
+import UIKit
+import React
+import React_RCTAppDelegate
+import ReactAppDependencyProvider
+
+@main
+class AppDelegate: UIResponder, UIApplicationDelegate {
+ var window: UIWindow?
+
+ var reactNativeDelegate: ReactNativeDelegate?
+ var reactNativeFactory: RCTReactNativeFactory?
+
+ func application(
+ _ application: UIApplication,
+ didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
+ ) -> Bool {
+ let delegate = ReactNativeDelegate()
+ let factory = RCTReactNativeFactory(delegate: delegate)
+ delegate.dependencyProvider = RCTAppDependencyProvider()
+
+ reactNativeDelegate = delegate
+ reactNativeFactory = factory
+
+ window = UIWindow(frame: UIScreen.main.bounds)
+
+ factory.startReactNative(
+ withModuleName: "mini",
+ in: window,
+ launchOptions: launchOptions
+ )
+
+ return true
+ }
+}
+
+class ReactNativeDelegate: RCTDefaultReactNativeFactoryDelegate {
+ 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/apps/metro-example-mini/ios/mini/Images.xcassets/AppIcon.appiconset/Contents.json b/apps/metro-example-mini/ios/mini/Images.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 0000000000..ddd7fca89e
--- /dev/null
+++ b/apps/metro-example-mini/ios/mini/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,53 @@
+{
+ "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/apps/metro-example-mini/ios/mini/Images.xcassets/Contents.json b/apps/metro-example-mini/ios/mini/Images.xcassets/Contents.json
new file mode 100644
index 0000000000..97a8662ebd
--- /dev/null
+++ b/apps/metro-example-mini/ios/mini/Images.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info": {
+ "version": 1,
+ "author": "xcode"
+ }
+}
diff --git a/apps/metro-example-mini/ios/mini/Info.plist b/apps/metro-example-mini/ios/mini/Info.plist
new file mode 100644
index 0000000000..267e84c55a
--- /dev/null
+++ b/apps/metro-example-mini/ios/mini/Info.plist
@@ -0,0 +1,53 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleDisplayName
+ mini
+ 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/apps/metro-example-mini/ios/mini/LaunchScreen.storyboard b/apps/metro-example-mini/ios/mini/LaunchScreen.storyboard
new file mode 100644
index 0000000000..ee3d44f5ec
--- /dev/null
+++ b/apps/metro-example-mini/ios/mini/LaunchScreen.storyboard
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/metro-example-mini/ios/mini/PrivacyInfo.xcprivacy b/apps/metro-example-mini/ios/mini/PrivacyInfo.xcprivacy
new file mode 100644
index 0000000000..41b8317f06
--- /dev/null
+++ b/apps/metro-example-mini/ios/mini/PrivacyInfo.xcprivacy
@@ -0,0 +1,37 @@
+
+
+
+
+ NSPrivacyAccessedAPITypes
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryFileTimestamp
+ NSPrivacyAccessedAPITypeReasons
+
+ C617.1
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryUserDefaults
+ NSPrivacyAccessedAPITypeReasons
+
+ CA92.1
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategorySystemBootTime
+ NSPrivacyAccessedAPITypeReasons
+
+ 35F9.1
+
+
+
+ NSPrivacyCollectedDataTypes
+
+ NSPrivacyTracking
+
+
+
diff --git a/apps/metro-example-mini/jest.config.js b/apps/metro-example-mini/jest.config.js
new file mode 100644
index 0000000000..8eb675e9bc
--- /dev/null
+++ b/apps/metro-example-mini/jest.config.js
@@ -0,0 +1,3 @@
+module.exports = {
+ preset: 'react-native',
+};
diff --git a/apps/metro-example-mini/metro.config.js b/apps/metro-example-mini/metro.config.js
new file mode 100644
index 0000000000..93645a4efb
--- /dev/null
+++ b/apps/metro-example-mini/metro.config.js
@@ -0,0 +1,58 @@
+const path = require('node:path');
+const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
+
+const {withModuleFederation} = require('@module-federation/metro');
+
+/**
+ * Metro configuration
+ * https://reactnative.dev/docs/metro
+ *
+ * @type {import('@react-native/metro-config').MetroConfig}
+ */
+const config = {
+ resolver: {useWatchman: false},
+ watchFolders: [
+ path.resolve(__dirname, '../../node_modules'),
+ path.resolve(__dirname, '../../packages/core'),
+ ],
+};
+
+module.exports = withModuleFederation(
+ mergeConfig(getDefaultConfig(__dirname), config),
+ {
+ name: 'example-mini',
+ filename: 'mini.bundle',
+ exposes: {
+ './info': './src/info.tsx',
+ },
+ shared: {
+ react: {
+ singleton: true,
+ eager: false,
+ requiredVersion: '19.1.0',
+ version: '19.1.0',
+ import: false,
+ },
+ 'react-native': {
+ singleton: true,
+ eager: false,
+ requiredVersion: '0.80.0',
+ version: '0.80.0',
+ import: false,
+ },
+ lodash: {
+ singleton: false,
+ eager: false,
+ version: '4.17.21',
+ },
+ },
+ shareStrategy: 'version-first',
+ },
+ {
+ flags: {
+ unstable_patchHMRClient: true,
+ unstable_patchInitializeCore: true,
+ unstable_patchRuntimeRequire: true,
+ },
+ },
+);
diff --git a/apps/metro-example-mini/package.json b/apps/metro-example-mini/package.json
new file mode 100644
index 0000000000..b5eb580790
--- /dev/null
+++ b/apps/metro-example-mini/package.json
@@ -0,0 +1,57 @@
+{
+ "name": "example-mini",
+ "version": "0.0.1",
+ "private": true,
+ "scripts": {
+ "android": "rnef run:android",
+ "ios": "rnef run:ios",
+ "lint": "eslint .",
+ "dev": "nodemon --config ../../nodemon.json --exec NODE_OPTIONS='--conditions=dev' pnpm start",
+ "start": "rnef start --port 8082",
+ "test": "jest",
+ "pods": "(cd ios && bundle install && (bundle exec pod install || bundle exec pod update))",
+ "build:ios": "rnef bundle-mf-remote --platform ios --dev false",
+ "build:android": "rnef bundle-mf-remote --platform android --dev false",
+ "build:rnc:ios": "react-native bundle-mf-remote --platform ios --dev false",
+ "build:rnc:android": "react-native bundle-mf-remote --platform android --dev false",
+ "serve:ios": "serve dist/ios -p 8082",
+ "serve:android": "serve dist/android -p 8082",
+ "adbreverse": "adb reverse tcp:8082 tcp:8082"
+ },
+ "dependencies": {
+ "lodash": "^4.17.21",
+ "react": "19.1.0",
+ "react-native": "0.80.0"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.25.2",
+ "@babel/preset-env": "^7.25.3",
+ "@babel/runtime": "^7.25.0",
+ "@module-federation/metro": "workspace:*",
+ "@module-federation/metro-plugin-rnef": "workspace:*",
+ "@module-federation/runtime": "^0.15.0",
+ "@react-native-community/cli": "^19.1.0",
+ "@react-native/babel-preset": "0.80.0",
+ "@react-native/eslint-config": "0.80.0",
+ "@react-native/metro-config": "0.80.0",
+ "@react-native/typescript-config": "0.80.0",
+ "@rnef/cli": "^0.7.25",
+ "@rnef/platform-android": "^0.7.25",
+ "@rnef/platform-ios": "^0.7.25",
+ "@rnef/plugin-metro": "^0.7.25",
+ "@types/jest": "^29.5.13",
+ "@types/lodash": "^4",
+ "@types/react": "^19.1.0",
+ "@types/react-test-renderer": "^19.1.0",
+ "eslint": "^8.19.0",
+ "jest": "^29.6.3",
+ "nodemon": "^3.1.9",
+ "prettier": "2.8.8",
+ "react-test-renderer": "19.1.0",
+ "serve": "^14.2.4",
+ "typescript": "5.0.4"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+}
diff --git a/apps/metro-example-mini/rnef.config.mjs b/apps/metro-example-mini/rnef.config.mjs
new file mode 100644
index 0000000000..d0d538260e
--- /dev/null
+++ b/apps/metro-example-mini/rnef.config.mjs
@@ -0,0 +1,16 @@
+import {pluginMetroModuleFederation} from '@module-federation/metro-plugin-rnef';
+import {platformAndroid} from '@rnef/platform-android';
+// @ts-check
+import {platformIOS} from '@rnef/platform-ios';
+import {pluginMetro} from '@rnef/plugin-metro';
+
+/** @type {import('@rnef/config').Config} */
+export default {
+ bundler: pluginMetro(),
+ platforms: {
+ ios: platformIOS(),
+ android: platformAndroid(),
+ },
+ remoteCacheProvider: 'github-actions',
+ plugins: [pluginMetroModuleFederation()],
+};
diff --git a/apps/metro-example-mini/src/info.tsx b/apps/metro-example-mini/src/info.tsx
new file mode 100644
index 0000000000..3f5678389c
--- /dev/null
+++ b/apps/metro-example-mini/src/info.tsx
@@ -0,0 +1,51 @@
+import {VERSION} from 'lodash';
+import {Platform, StyleSheet, Text, View} from 'react-native';
+
+type Props = {
+ testID?: string;
+ sections?: Array<{name: string; value: string; testID: string}>;
+};
+
+const SECTIONS = [
+ {
+ name: 'lodash version',
+ value: VERSION,
+ testID: 'mini-lodash',
+ },
+];
+
+export default function Info({
+ testID = 'mini-info',
+ sections = SECTIONS,
+}: Props) {
+ return (
+
+ {sections.map(section => (
+
+
+ {section.name}
+
+
+ {section.value}
+
+
+ ))}
+
+ );
+}
+
+const styles = StyleSheet.create({
+ container: {},
+ monospace: {
+ fontFamily: Platform.select({
+ ios: 'Menlo',
+ default: 'monospace',
+ }),
+ },
+ sectionContainer: {
+ flexDirection: 'row',
+ },
+ sectionTitle: {
+ marginRight: 8,
+ },
+});
diff --git a/apps/metro-example-mini/tsconfig.json b/apps/metro-example-mini/tsconfig.json
new file mode 100644
index 0000000000..88fa317f10
--- /dev/null
+++ b/apps/metro-example-mini/tsconfig.json
@@ -0,0 +1,3 @@
+{
+ "extends": "@react-native/typescript-config"
+}
diff --git a/apps/metro-example-nested-mini/.bundle/config b/apps/metro-example-nested-mini/.bundle/config
new file mode 100644
index 0000000000..848943bb52
--- /dev/null
+++ b/apps/metro-example-nested-mini/.bundle/config
@@ -0,0 +1,2 @@
+BUNDLE_PATH: "vendor/bundle"
+BUNDLE_FORCE_RUBY_PLATFORM: 1
diff --git a/apps/metro-example-nested-mini/.eslintrc.js b/apps/metro-example-nested-mini/.eslintrc.js
new file mode 100644
index 0000000000..187894b6af
--- /dev/null
+++ b/apps/metro-example-nested-mini/.eslintrc.js
@@ -0,0 +1,4 @@
+module.exports = {
+ root: true,
+ extends: '@react-native',
+};
diff --git a/apps/metro-example-nested-mini/.gitignore b/apps/metro-example-nested-mini/.gitignore
new file mode 100644
index 0000000000..4ea16da8b4
--- /dev/null
+++ b/apps/metro-example-nested-mini/.gitignore
@@ -0,0 +1,81 @@
+# OSX
+#
+.DS_Store
+
+# Xcode
+#
+build/
+*.pbxuser
+!default.pbxuser
+*.mode1v3
+!default.mode1v3
+*.mode2v3
+!default.mode2v3
+*.perspectivev3
+!default.perspectivev3
+xcuserdata
+*.xccheckout
+*.moved-aside
+DerivedData
+*.hmap
+*.ipa
+*.xcuserstate
+**/.xcode.env.local
+
+# Android/IntelliJ
+#
+build/
+.idea
+.gradle
+local.properties
+*.iml
+*.hprof
+.cxx/
+*.keystore
+!debug.keystore
+.kotlin/
+
+# node.js
+#
+node_modules/
+npm-debug.log
+yarn-error.log
+
+# fastlane
+#
+# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
+# screenshots whenever they are needed.
+# For more information about the recommended setup visit:
+# https://docs.fastlane.tools/best-practices/source-control/
+
+**/fastlane/report.xml
+**/fastlane/Preview.html
+**/fastlane/screenshots
+**/fastlane/test_output
+
+# Bundle artifact
+*.jsbundle
+
+# Ruby / CocoaPods
+**/Pods/
+/vendor/bundle/
+
+# Temporary files created by Metro to check the health of the file watcher
+.metro-health-check*
+
+# testing
+/coverage
+
+# Yarn
+.yarn/*
+!.yarn/patches
+!.yarn/plugins
+!.yarn/releases
+!.yarn/sdks
+!.yarn/versions
+
+# build artifacts
+dist/
+
+# RNEF
+.rnef
diff --git a/apps/metro-example-nested-mini/.prettierrc.js b/apps/metro-example-nested-mini/.prettierrc.js
new file mode 100644
index 0000000000..2b540746a7
--- /dev/null
+++ b/apps/metro-example-nested-mini/.prettierrc.js
@@ -0,0 +1,7 @@
+module.exports = {
+ arrowParens: 'avoid',
+ bracketSameLine: true,
+ bracketSpacing: false,
+ singleQuote: true,
+ trailingComma: 'all',
+};
diff --git a/apps/metro-example-nested-mini/.watchmanconfig b/apps/metro-example-nested-mini/.watchmanconfig
new file mode 100644
index 0000000000..0967ef424b
--- /dev/null
+++ b/apps/metro-example-nested-mini/.watchmanconfig
@@ -0,0 +1 @@
+{}
diff --git a/apps/metro-example-nested-mini/App.tsx b/apps/metro-example-nested-mini/App.tsx
new file mode 100644
index 0000000000..f65764e08b
--- /dev/null
+++ b/apps/metro-example-nested-mini/App.tsx
@@ -0,0 +1,130 @@
+/**
+ * Sample React Native App
+ * https://github.com/facebook/react-native
+ *
+ * @format
+ */
+
+import type React from 'react';
+import type {PropsWithChildren} from 'react';
+import {
+ ScrollView,
+ StatusBar,
+ StyleSheet,
+ Text,
+ View,
+ useColorScheme,
+} from 'react-native';
+
+import {
+ Colors,
+ DebugInstructions,
+ Header,
+ LearnMoreLinks,
+ ReloadInstructions,
+} from 'react-native/Libraries/NewAppScreen';
+
+type SectionProps = PropsWithChildren<{
+ title: string;
+}>;
+
+function Section({children, title}: SectionProps): React.JSX.Element {
+ const isDarkMode = useColorScheme() === 'dark';
+ return (
+
+
+ {title}
+
+
+ {children}
+
+
+ );
+}
+
+function App(): React.JSX.Element {
+ const isDarkMode = useColorScheme() === 'dark';
+
+ const backgroundStyle = {
+ backgroundColor: isDarkMode ? Colors.darker : Colors.lighter,
+ };
+
+ /*
+ * To keep the template simple and small we're adding padding to prevent view
+ * from rendering under the System UI.
+ * For bigger apps the recommendation is to use `react-native-safe-area-context`:
+ * https://github.com/AppAndFlow/react-native-safe-area-context
+ *
+ * You can read more about it here:
+ * https://github.com/react-native-community/discussions-and-proposals/discussions/827
+ */
+ const safePadding = '5%';
+
+ return (
+
+
+
+
+
+
+
+
+ Edit App.tsx to change this
+ screen and then come back to see your edits.
+
+
+
+
+ Read the docs to discover what to do next:
+
+
+
+
+
+ );
+}
+
+const styles = StyleSheet.create({
+ sectionContainer: {
+ marginTop: 32,
+ paddingHorizontal: 24,
+ },
+ sectionTitle: {
+ fontSize: 24,
+ fontWeight: '600',
+ },
+ sectionDescription: {
+ marginTop: 8,
+ fontSize: 18,
+ fontWeight: '400',
+ },
+ highlight: {
+ fontWeight: '700',
+ },
+});
+
+export default App;
diff --git a/apps/metro-example-nested-mini/Gemfile b/apps/metro-example-nested-mini/Gemfile
new file mode 100644
index 0000000000..6a4c5f1718
--- /dev/null
+++ b/apps/metro-example-nested-mini/Gemfile
@@ -0,0 +1,16 @@
+source 'https://rubygems.org'
+
+# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
+ruby ">= 2.6.10"
+
+# Exclude problematic versions of cocoapods and activesupport that causes build failures.
+gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1'
+gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0'
+gem 'xcodeproj', '< 1.26.0'
+gem 'concurrent-ruby', '< 1.3.4'
+
+# Ruby 3.4.0 has removed some libraries from the standard library.
+gem 'bigdecimal'
+gem 'logger'
+gem 'benchmark'
+gem 'mutex_m'
diff --git a/apps/metro-example-nested-mini/Gemfile.lock b/apps/metro-example-nested-mini/Gemfile.lock
new file mode 100644
index 0000000000..792397b7eb
--- /dev/null
+++ b/apps/metro-example-nested-mini/Gemfile.lock
@@ -0,0 +1,124 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ CFPropertyList (3.0.7)
+ base64
+ nkf
+ rexml
+ activesupport (7.2.2.1)
+ base64
+ benchmark (>= 0.3)
+ bigdecimal
+ concurrent-ruby (~> 1.0, >= 1.3.1)
+ connection_pool (>= 2.2.5)
+ drb
+ i18n (>= 1.6, < 2)
+ logger (>= 1.4.2)
+ minitest (>= 5.1)
+ securerandom (>= 0.3)
+ tzinfo (~> 2.0, >= 2.0.5)
+ addressable (2.8.7)
+ public_suffix (>= 2.0.2, < 7.0)
+ algoliasearch (1.27.5)
+ httpclient (~> 2.8, >= 2.8.3)
+ json (>= 1.5.1)
+ atomos (0.1.3)
+ base64 (0.3.0)
+ benchmark (0.4.1)
+ bigdecimal (3.2.2)
+ claide (1.1.0)
+ cocoapods (1.15.2)
+ addressable (~> 2.8)
+ claide (>= 1.0.2, < 2.0)
+ cocoapods-core (= 1.15.2)
+ cocoapods-deintegrate (>= 1.0.3, < 2.0)
+ cocoapods-downloader (>= 2.1, < 3.0)
+ cocoapods-plugins (>= 1.0.0, < 2.0)
+ cocoapods-search (>= 1.0.0, < 2.0)
+ cocoapods-trunk (>= 1.6.0, < 2.0)
+ cocoapods-try (>= 1.1.0, < 2.0)
+ colored2 (~> 3.1)
+ escape (~> 0.0.4)
+ fourflusher (>= 2.3.0, < 3.0)
+ gh_inspector (~> 1.0)
+ molinillo (~> 0.8.0)
+ nap (~> 1.0)
+ ruby-macho (>= 2.3.0, < 3.0)
+ xcodeproj (>= 1.23.0, < 2.0)
+ cocoapods-core (1.15.2)
+ activesupport (>= 5.0, < 8)
+ addressable (~> 2.8)
+ algoliasearch (~> 1.0)
+ concurrent-ruby (~> 1.1)
+ fuzzy_match (~> 2.0.4)
+ nap (~> 1.0)
+ netrc (~> 0.11)
+ public_suffix (~> 4.0)
+ typhoeus (~> 1.0)
+ cocoapods-deintegrate (1.0.5)
+ cocoapods-downloader (2.1)
+ cocoapods-plugins (1.0.0)
+ nap
+ cocoapods-search (1.0.1)
+ cocoapods-trunk (1.6.0)
+ nap (>= 0.8, < 2.0)
+ netrc (~> 0.11)
+ cocoapods-try (1.2.0)
+ colored2 (3.1.2)
+ concurrent-ruby (1.3.3)
+ connection_pool (2.5.3)
+ drb (2.2.3)
+ escape (0.0.4)
+ ethon (0.16.0)
+ ffi (>= 1.15.0)
+ ffi (1.17.2)
+ fourflusher (2.3.1)
+ fuzzy_match (2.0.4)
+ gh_inspector (1.1.3)
+ httpclient (2.9.0)
+ mutex_m
+ i18n (1.14.7)
+ concurrent-ruby (~> 1.0)
+ json (2.12.2)
+ logger (1.7.0)
+ minitest (5.25.5)
+ molinillo (0.8.0)
+ mutex_m (0.3.0)
+ nanaimo (0.3.0)
+ nap (1.1.0)
+ netrc (0.11.0)
+ nkf (0.2.0)
+ public_suffix (4.0.7)
+ rexml (3.4.1)
+ ruby-macho (2.5.1)
+ securerandom (0.4.1)
+ typhoeus (1.4.1)
+ ethon (>= 0.9.0)
+ tzinfo (2.0.6)
+ concurrent-ruby (~> 1.0)
+ xcodeproj (1.25.1)
+ CFPropertyList (>= 2.3.3, < 4.0)
+ atomos (~> 0.1.3)
+ claide (>= 1.0.2, < 2.0)
+ colored2 (~> 3.1)
+ nanaimo (~> 0.3.0)
+ rexml (>= 3.3.6, < 4.0)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ activesupport (>= 6.1.7.5, != 7.1.0)
+ benchmark
+ bigdecimal
+ cocoapods (>= 1.13, != 1.15.1, != 1.15.0)
+ concurrent-ruby (< 1.3.4)
+ logger
+ mutex_m
+ xcodeproj (< 1.26.0)
+
+RUBY VERSION
+ ruby 3.1.0p0
+
+BUNDLED WITH
+ 2.6.1
diff --git a/apps/metro-example-nested-mini/README.md b/apps/metro-example-nested-mini/README.md
new file mode 100644
index 0000000000..89fe752e4c
--- /dev/null
+++ b/apps/metro-example-nested-mini/README.md
@@ -0,0 +1,106 @@
+This is a new [**React Native**](https://reactnative.dev) project, bootstrapped using [`@react-native-community/cli`](https://github.com/react-native-community/cli).
+
+# Getting Started
+
+> **Note**: Make sure you have completed the [Set Up Your Environment](https://reactnative.dev/docs/set-up-your-environment) guide before proceeding.
+
+## Step 1: Start Metro
+
+First, you will need to run **Metro**, the JavaScript build tool for React Native.
+
+To start the Metro dev server, run the following command from the root of your React Native project:
+
+```sh
+# Using npm
+npm start
+
+# OR using Yarn
+yarn start
+
+# OR using pnpm
+pnpm start
+```
+
+## Step 2: Build and run your app
+
+With Metro running, open a new terminal window/pane from the root of your React Native project, and use one of the following commands to build and run your Android or iOS app:
+
+### Android
+
+```sh
+# Using npm
+npm run android
+
+# OR using Yarn
+yarn android
+
+# OR using pnpm
+pnpm android
+```
+
+### iOS
+
+For iOS, remember to install CocoaPods dependencies (this only needs to be run on first clone or after updating native deps).
+
+The first time you create a new project, run the Ruby bundler to install CocoaPods itself:
+
+```sh
+bundle install
+```
+
+Then, and every time you update your native dependencies, run:
+
+```sh
+bundle exec pod install
+```
+
+For more information, please visit [CocoaPods Getting Started guide](https://guides.cocoapods.org/using/getting-started.html).
+
+```sh
+# Using npm
+npm run ios
+
+# OR using Yarn
+yarn ios
+
+# OR using pnpm
+pnpm ios
+```
+
+If everything is set up correctly, you should see your new app running in the Android Emulator, iOS Simulator, or your connected device.
+
+This is one way to run your app — you can also build it directly from Android Studio or Xcode.
+
+## Step 3: Modify your app
+
+Now that you have successfully run the app, let's make changes!
+
+Open `App.tsx` in your text editor of choice and make some changes. When you save, your app will automatically update and reflect these changes — this is powered by [Fast Refresh](https://reactnative.dev/docs/fast-refresh).
+
+When you want to forcefully reload, for example to reset the state of your app, you can perform a full reload:
+
+- **Android**: Press the R key twice or select **"Reload"** from the **Dev Menu**, accessed via Ctrl + M (Windows/Linux) or Cmd ⌘ + M (macOS).
+- **iOS**: Press R in iOS Simulator.
+
+## 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 [docs](https://reactnative.dev/docs/getting-started).
+
+# Troubleshooting
+
+If you're having issues getting the above steps to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page.
+
+# Learn More
+
+To learn more about React Native, take a look at the following resources:
+
+- [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.
diff --git a/apps/metro-example-nested-mini/__tests__/App.test.tsx b/apps/metro-example-nested-mini/__tests__/App.test.tsx
new file mode 100644
index 0000000000..b7ad47b4a5
--- /dev/null
+++ b/apps/metro-example-nested-mini/__tests__/App.test.tsx
@@ -0,0 +1,8 @@
+import ReactTestRenderer from 'react-test-renderer';
+import App from '../App';
+
+test('renders correctly', async () => {
+ await ReactTestRenderer.act(() => {
+ ReactTestRenderer.create();
+ });
+});
diff --git a/apps/metro-example-nested-mini/android/app/build.gradle b/apps/metro-example-nested-mini/android/app/build.gradle
new file mode 100644
index 0000000000..59a3f53278
--- /dev/null
+++ b/apps/metro-example-nested-mini/android/app/build.gradle
@@ -0,0 +1,119 @@
+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/@rnef/cli/dist/src/bin.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 = "bundle-mf-host"
+ //
+ // 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.mini"
+ defaultConfig {
+ applicationId "com.mini"
+ 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/apps/metro-example-nested-mini/android/app/debug.keystore b/apps/metro-example-nested-mini/android/app/debug.keystore
new file mode 100644
index 0000000000..364e105ed3
Binary files /dev/null and b/apps/metro-example-nested-mini/android/app/debug.keystore differ
diff --git a/apps/metro-example-nested-mini/android/app/proguard-rules.pro b/apps/metro-example-nested-mini/android/app/proguard-rules.pro
new file mode 100644
index 0000000000..11b025724a
--- /dev/null
+++ b/apps/metro-example-nested-mini/android/app/proguard-rules.pro
@@ -0,0 +1,10 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
diff --git a/apps/metro-example-nested-mini/android/app/src/debug/AndroidManifest.xml b/apps/metro-example-nested-mini/android/app/src/debug/AndroidManifest.xml
new file mode 100644
index 0000000000..eb98c01afd
--- /dev/null
+++ b/apps/metro-example-nested-mini/android/app/src/debug/AndroidManifest.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/apps/metro-example-nested-mini/android/app/src/main/AndroidManifest.xml b/apps/metro-example-nested-mini/android/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..e1892528b8
--- /dev/null
+++ b/apps/metro-example-nested-mini/android/app/src/main/AndroidManifest.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/metro-example-nested-mini/android/app/src/main/java/com/mini/MainActivity.kt b/apps/metro-example-nested-mini/android/app/src/main/java/com/mini/MainActivity.kt
new file mode 100644
index 0000000000..50d27112f6
--- /dev/null
+++ b/apps/metro-example-nested-mini/android/app/src/main/java/com/mini/MainActivity.kt
@@ -0,0 +1,22 @@
+package com.mini
+
+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 = "mini"
+
+ /**
+ * 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/apps/metro-example-nested-mini/android/app/src/main/java/com/mini/MainApplication.kt b/apps/metro-example-nested-mini/android/app/src/main/java/com/mini/MainApplication.kt
new file mode 100644
index 0000000000..4ab3690adb
--- /dev/null
+++ b/apps/metro-example-nested-mini/android/app/src/main/java/com/mini/MainApplication.kt
@@ -0,0 +1,38 @@
+package com.mini
+
+import android.app.Application
+import com.facebook.react.PackageList
+import com.facebook.react.ReactApplication
+import com.facebook.react.ReactHost
+import com.facebook.react.ReactNativeApplicationEntryPoint.loadReactNative
+import com.facebook.react.ReactNativeHost
+import com.facebook.react.ReactPackage
+import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost
+import com.facebook.react.defaults.DefaultReactNativeHost
+
+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()
+ loadReactNative(this)
+ }
+}
diff --git a/apps/metro-example-nested-mini/android/app/src/main/res/drawable/rn_edit_text_material.xml b/apps/metro-example-nested-mini/android/app/src/main/res/drawable/rn_edit_text_material.xml
new file mode 100644
index 0000000000..5c25e728ea
--- /dev/null
+++ b/apps/metro-example-nested-mini/android/app/src/main/res/drawable/rn_edit_text_material.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 0000000000..a2f5908281
Binary files /dev/null and b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
new file mode 100644
index 0000000000..1b52399808
Binary files /dev/null and b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 0000000000..ff10afd6e1
Binary files /dev/null and b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
new file mode 100644
index 0000000000..115a4c768a
Binary files /dev/null and b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 0000000000..dcd3cd8083
Binary files /dev/null and b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
new file mode 100644
index 0000000000..459ca609d3
Binary files /dev/null and b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000000..8ca12fe024
Binary files /dev/null and b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000000..8e19b410a1
Binary files /dev/null and b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000000..b824ebdd48
Binary files /dev/null and b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000000..4c19a13c23
Binary files /dev/null and b/apps/metro-example-nested-mini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/apps/metro-example-nested-mini/android/app/src/main/res/values/strings.xml b/apps/metro-example-nested-mini/android/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000000..e47a5678c3
--- /dev/null
+++ b/apps/metro-example-nested-mini/android/app/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+
+ mini
+
diff --git a/apps/metro-example-nested-mini/android/app/src/main/res/values/styles.xml b/apps/metro-example-nested-mini/android/app/src/main/res/values/styles.xml
new file mode 100644
index 0000000000..7ba83a2ad5
--- /dev/null
+++ b/apps/metro-example-nested-mini/android/app/src/main/res/values/styles.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
diff --git a/apps/metro-example-nested-mini/android/build.gradle b/apps/metro-example-nested-mini/android/build.gradle
new file mode 100644
index 0000000000..b4f3ad9dea
--- /dev/null
+++ b/apps/metro-example-nested-mini/android/build.gradle
@@ -0,0 +1,21 @@
+buildscript {
+ ext {
+ buildToolsVersion = "35.0.0"
+ minSdkVersion = 24
+ compileSdkVersion = 35
+ targetSdkVersion = 35
+ ndkVersion = "27.1.12297006"
+ kotlinVersion = "2.1.20"
+ }
+ 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/apps/metro-example-nested-mini/android/gradle.properties b/apps/metro-example-nested-mini/android/gradle.properties
new file mode 100644
index 0000000000..5e24e3aa8d
--- /dev/null
+++ b/apps/metro-example-nested-mini/android/gradle.properties
@@ -0,0 +1,39 @@
+# 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/apps/metro-example-nested-mini/android/gradle/wrapper/gradle-wrapper.jar b/apps/metro-example-nested-mini/android/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000000..1b33c55baa
Binary files /dev/null and b/apps/metro-example-nested-mini/android/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/apps/metro-example-nested-mini/android/gradle/wrapper/gradle-wrapper.properties b/apps/metro-example-nested-mini/android/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000000..002b867c48
--- /dev/null
+++ b/apps/metro-example-nested-mini/android/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,7 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/apps/metro-example-nested-mini/android/gradlew b/apps/metro-example-nested-mini/android/gradlew
new file mode 100755
index 0000000000..23d15a9367
--- /dev/null
+++ b/apps/metro-example-nested-mini/android/gradlew
@@ -0,0 +1,251 @@
+#!/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.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+
+##############################################################################
+#
+# 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/platforms/jvm/plugins-application/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 -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || 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="\\\"\\\""
+
+
+# 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=SC2039,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=SC2039,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 optsEnvironmentVar are not allowed to contain shell fragments,
+# and any embedded shellness will be escaped.
+# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
+# treated as '${Hostname}' itself on the command line.
+
+set -- \
+ "-Dorg.gradle.appname=$APP_BASE_NAME" \
+ -classpath "$CLASSPATH" \
+ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
+ "$@"
+
+# 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/apps/metro-example-nested-mini/android/gradlew.bat b/apps/metro-example-nested-mini/android/gradlew.bat
new file mode 100644
index 0000000000..db3a6ac207
--- /dev/null
+++ b/apps/metro-example-nested-mini/android/gradlew.bat
@@ -0,0 +1,94 @@
+@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
+@rem SPDX-License-Identifier: Apache-2.0
+@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. 1>&2
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
+
+: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/apps/metro-example-nested-mini/android/settings.gradle b/apps/metro-example-nested-mini/android/settings.gradle
new file mode 100644
index 0000000000..076181847a
--- /dev/null
+++ b/apps/metro-example-nested-mini/android/settings.gradle
@@ -0,0 +1,6 @@
+pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") }
+plugins { id("com.facebook.react.settings") }
+extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand(['npx', 'rnef', 'config', '-p', 'android']) }
+rootProject.name = 'mini'
+include ':app'
+includeBuild('../node_modules/@react-native/gradle-plugin')
diff --git a/apps/metro-example-nested-mini/app.json b/apps/metro-example-nested-mini/app.json
new file mode 100644
index 0000000000..58dbc3c622
--- /dev/null
+++ b/apps/metro-example-nested-mini/app.json
@@ -0,0 +1,4 @@
+{
+ "name": "mini",
+ "displayName": "mini"
+}
diff --git a/apps/metro-example-nested-mini/babel.config.js b/apps/metro-example-nested-mini/babel.config.js
new file mode 100644
index 0000000000..f7b3da3b33
--- /dev/null
+++ b/apps/metro-example-nested-mini/babel.config.js
@@ -0,0 +1,3 @@
+module.exports = {
+ presets: ['module:@react-native/babel-preset'],
+};
diff --git a/apps/metro-example-nested-mini/index.js b/apps/metro-example-nested-mini/index.js
new file mode 100644
index 0000000000..a850d031de
--- /dev/null
+++ b/apps/metro-example-nested-mini/index.js
@@ -0,0 +1,9 @@
+/**
+ * @format
+ */
+
+import {AppRegistry} from 'react-native';
+import App from './App';
+import {name as appName} from './app.json';
+
+AppRegistry.registerComponent(appName, () => App);
diff --git a/apps/metro-example-nested-mini/ios/.xcode.env b/apps/metro-example-nested-mini/ios/.xcode.env
new file mode 100644
index 0000000000..3d5782c715
--- /dev/null
+++ b/apps/metro-example-nested-mini/ios/.xcode.env
@@ -0,0 +1,11 @@
+# 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/apps/metro-example-nested-mini/ios/Podfile b/apps/metro-example-nested-mini/ios/Podfile
new file mode 100644
index 0000000000..3d1b5c16c3
--- /dev/null
+++ b/apps/metro-example-nested-mini/ios/Podfile
@@ -0,0 +1,35 @@
+# 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 'mini' do
+ config = use_native_modules!(['npx', 'rnef', 'config', '-p', 'ios'])
+
+ 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/apps/metro-example-nested-mini/ios/Podfile.lock b/apps/metro-example-nested-mini/ios/Podfile.lock
new file mode 100644
index 0000000000..3b3b7029bb
--- /dev/null
+++ b/apps/metro-example-nested-mini/ios/Podfile.lock
@@ -0,0 +1,2432 @@
+PODS:
+ - boost (1.84.0)
+ - DoubleConversion (1.1.6)
+ - fast_float (8.0.0)
+ - FBLazyVector (0.80.0)
+ - fmt (11.0.2)
+ - glog (0.3.5)
+ - hermes-engine (0.80.0):
+ - hermes-engine/Pre-built (= 0.80.0)
+ - hermes-engine/Pre-built (0.80.0)
+ - 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.80.0)
+ - RCTRequired (0.80.0)
+ - RCTTypeSafety (0.80.0):
+ - FBLazyVector (= 0.80.0)
+ - RCTRequired (= 0.80.0)
+ - React-Core (= 0.80.0)
+ - React (0.80.0):
+ - React-Core (= 0.80.0)
+ - React-Core/DevSupport (= 0.80.0)
+ - React-Core/RCTWebSocket (= 0.80.0)
+ - React-RCTActionSheet (= 0.80.0)
+ - React-RCTAnimation (= 0.80.0)
+ - React-RCTBlob (= 0.80.0)
+ - React-RCTImage (= 0.80.0)
+ - React-RCTLinking (= 0.80.0)
+ - React-RCTNetwork (= 0.80.0)
+ - React-RCTSettings (= 0.80.0)
+ - React-RCTText (= 0.80.0)
+ - React-RCTVibration (= 0.80.0)
+ - React-callinvoker (0.80.0)
+ - React-Core (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTDeprecation
+ - React-Core/Default (= 0.80.0)
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsitooling
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/CoreModulesHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/Default (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/DevSupport (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTDeprecation
+ - React-Core/Default (= 0.80.0)
+ - React-Core/RCTWebSocket (= 0.80.0)
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsitooling
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTActionSheetHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTAnimationHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTBlobHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTImageHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTLinkingHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTNetworkHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTSettingsHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTTextHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTVibrationHeaders (0.80.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-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-Core/RCTWebSocket (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTDeprecation
+ - React-Core/Default (= 0.80.0)
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsitooling
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-CoreModules (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTTypeSafety (= 0.80.0)
+ - React-Core/CoreModulesHeaders (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectortracing
+ - React-NativeModulesApple
+ - React-RCTBlob
+ - React-RCTFBReactNativeSpec
+ - React-RCTImage (= 0.80.0)
+ - ReactCommon
+ - SocketRocket
+ - React-cxxreact (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-callinvoker (= 0.80.0)
+ - React-debug (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectortracing
+ - React-logger (= 0.80.0)
+ - React-perflogger (= 0.80.0)
+ - React-runtimeexecutor (= 0.80.0)
+ - React-timing (= 0.80.0)
+ - SocketRocket
+ - React-debug (0.80.0)
+ - React-defaultsnativemodule (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-domnativemodule
+ - React-featureflagsnativemodule
+ - React-hermes
+ - React-idlecallbacksnativemodule
+ - React-jsi
+ - React-jsiexecutor
+ - React-microtasksnativemodule
+ - React-RCTFBReactNativeSpec
+ - SocketRocket
+ - React-domnativemodule (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-Fabric
+ - React-FabricComponents
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-RCTFBReactNativeSpec
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-Fabric (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric/animations (= 0.80.0)
+ - React-Fabric/attributedstring (= 0.80.0)
+ - React-Fabric/componentregistry (= 0.80.0)
+ - React-Fabric/componentregistrynative (= 0.80.0)
+ - React-Fabric/components (= 0.80.0)
+ - React-Fabric/consistency (= 0.80.0)
+ - React-Fabric/core (= 0.80.0)
+ - React-Fabric/dom (= 0.80.0)
+ - React-Fabric/imagemanager (= 0.80.0)
+ - React-Fabric/leakchecker (= 0.80.0)
+ - React-Fabric/mounting (= 0.80.0)
+ - React-Fabric/observers (= 0.80.0)
+ - React-Fabric/scheduler (= 0.80.0)
+ - React-Fabric/telemetry (= 0.80.0)
+ - React-Fabric/templateprocessor (= 0.80.0)
+ - React-Fabric/uimanager (= 0.80.0)
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/animations (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/attributedstring (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/componentregistry (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/componentregistrynative (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/components (0.80.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.80.0)
+ - React-Fabric/components/root (= 0.80.0)
+ - React-Fabric/components/scrollview (= 0.80.0)
+ - React-Fabric/components/view (= 0.80.0)
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/components/legacyviewmanagerinterop (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/components/root (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/components/scrollview (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/components/view (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-renderercss
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-Fabric/consistency (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/core (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/dom (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/imagemanager (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/leakchecker (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/mounting (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/observers (0.80.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.80.0)
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/observers/events (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/scheduler (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-performancetimeline
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/telemetry (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/templateprocessor (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/uimanager (0.80.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.80.0)
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererconsistency
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-Fabric/uimanager/consistency (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererconsistency
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-FabricComponents (0.80.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.80.0)
+ - React-FabricComponents/textlayoutmanager (= 0.80.0)
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components (0.80.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.80.0)
+ - React-FabricComponents/components/iostextinput (= 0.80.0)
+ - React-FabricComponents/components/modal (= 0.80.0)
+ - React-FabricComponents/components/rncore (= 0.80.0)
+ - React-FabricComponents/components/safeareaview (= 0.80.0)
+ - React-FabricComponents/components/scrollview (= 0.80.0)
+ - React-FabricComponents/components/text (= 0.80.0)
+ - React-FabricComponents/components/textinput (= 0.80.0)
+ - React-FabricComponents/components/unimplementedview (= 0.80.0)
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/inputaccessory (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/iostextinput (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/modal (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/rncore (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/safeareaview (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/scrollview (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/text (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/textinput (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/components/unimplementedview (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricComponents/textlayoutmanager (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - Yoga
+ - React-FabricImage (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTRequired (= 0.80.0)
+ - RCTTypeSafety (= 0.80.0)
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-ImageManager
+ - React-jsi
+ - React-jsiexecutor (= 0.80.0)
+ - React-logger
+ - React-rendererdebug
+ - React-utils
+ - ReactCommon
+ - SocketRocket
+ - Yoga
+ - React-featureflags (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - SocketRocket
+ - React-featureflagsnativemodule (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-RCTFBReactNativeSpec
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-graphics (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-utils
+ - SocketRocket
+ - React-hermes (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-cxxreact (= 0.80.0)
+ - React-jsi
+ - React-jsiexecutor (= 0.80.0)
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectortracing
+ - React-perflogger (= 0.80.0)
+ - React-runtimeexecutor
+ - SocketRocket
+ - React-idlecallbacksnativemodule (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-RCTFBReactNativeSpec
+ - React-runtimescheduler
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-ImageManager (0.80.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-jserrorhandler (0.80.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.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - SocketRocket
+ - React-jsiexecutor (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-cxxreact (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectortracing
+ - React-perflogger (= 0.80.0)
+ - SocketRocket
+ - React-jsinspector (0.80.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-perflogger (= 0.80.0)
+ - React-runtimeexecutor (= 0.80.0)
+ - SocketRocket
+ - React-jsinspectorcdp (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - SocketRocket
+ - React-jsinspectornetwork (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-jsinspectorcdp
+ - SocketRocket
+ - React-jsinspectortracing (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-oscompat
+ - SocketRocket
+ - React-jsitooling (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-cxxreact (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectortracing
+ - SocketRocket
+ - React-jsitracing (0.80.0):
+ - React-jsi
+ - React-logger (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - SocketRocket
+ - React-Mapbuffer (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-debug
+ - SocketRocket
+ - React-microtasksnativemodule (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-RCTFBReactNativeSpec
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-NativeModulesApple (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-callinvoker
+ - React-Core
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-runtimeexecutor
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - React-oscompat (0.80.0)
+ - React-perflogger (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - SocketRocket
+ - React-performancetimeline (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-featureflags
+ - React-jsinspectortracing
+ - React-perflogger
+ - React-timing
+ - SocketRocket
+ - React-RCTActionSheet (0.80.0):
+ - React-Core/RCTActionSheetHeaders (= 0.80.0)
+ - React-RCTAnimation (0.80.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.80.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-runtimescheduler
+ - React-utils
+ - ReactCommon
+ - SocketRocket
+ - React-RCTBlob (0.80.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.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-FabricComponents
+ - React-FabricImage
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-ImageManager
+ - React-jsi
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectornetwork
+ - React-jsinspectortracing
+ - React-performancetimeline
+ - React-RCTAnimation
+ - React-RCTImage
+ - React-RCTText
+ - React-rendererconsistency
+ - React-renderercss
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - Yoga
+ - React-RCTFBReactNativeSpec (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-NativeModulesApple
+ - ReactCommon
+ - SocketRocket
+ - React-RCTImage (0.80.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.80.0):
+ - React-Core/RCTLinkingHeaders (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-NativeModulesApple
+ - React-RCTFBReactNativeSpec
+ - ReactCommon
+ - ReactCommon/turbomodule/core (= 0.80.0)
+ - React-RCTNetwork (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - RCTTypeSafety
+ - React-Core/RCTNetworkHeaders
+ - React-featureflags
+ - React-jsi
+ - React-jsinspectorcdp
+ - React-jsinspectornetwork
+ - React-NativeModulesApple
+ - React-RCTFBReactNativeSpec
+ - ReactCommon
+ - SocketRocket
+ - React-RCTRuntime (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-Core
+ - React-hermes
+ - React-jsi
+ - React-jsinspector
+ - React-jsinspectorcdp
+ - React-jsinspectortracing
+ - React-jsitooling
+ - React-RuntimeApple
+ - React-RuntimeCore
+ - React-RuntimeHermes
+ - SocketRocket
+ - React-RCTSettings (0.80.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.80.0):
+ - React-Core/RCTTextHeaders (= 0.80.0)
+ - Yoga
+ - React-RCTVibration (0.80.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.80.0)
+ - React-renderercss (0.80.0):
+ - React-debug
+ - React-utils
+ - React-rendererdebug (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-debug
+ - SocketRocket
+ - React-rncore (0.80.0)
+ - React-RuntimeApple (0.80.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.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-cxxreact
+ - React-Fabric
+ - React-featureflags
+ - React-hermes
+ - React-jserrorhandler
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-jsitooling
+ - React-performancetimeline
+ - React-runtimeexecutor
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket
+ - React-runtimeexecutor (0.80.0):
+ - React-jsi (= 0.80.0)
+ - React-RuntimeHermes (0.80.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-utils
+ - SocketRocket
+ - React-runtimescheduler (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-callinvoker
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsinspectortracing
+ - React-performancetimeline
+ - React-rendererconsistency
+ - React-rendererdebug
+ - React-runtimeexecutor
+ - React-timing
+ - React-utils
+ - SocketRocket
+ - React-timing (0.80.0)
+ - React-utils (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-debug
+ - React-hermes
+ - React-jsi (= 0.80.0)
+ - SocketRocket
+ - ReactAppDependencyProvider (0.80.0):
+ - ReactCodegen
+ - ReactCodegen (0.80.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-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-NativeModulesApple
+ - React-RCTAppDelegate
+ - React-rendererdebug
+ - React-utils
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - SocketRocket
+ - ReactCommon (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - ReactCommon/turbomodule (= 0.80.0)
+ - SocketRocket
+ - ReactCommon/turbomodule (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-callinvoker (= 0.80.0)
+ - React-cxxreact (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-logger (= 0.80.0)
+ - React-perflogger (= 0.80.0)
+ - ReactCommon/turbomodule/bridging (= 0.80.0)
+ - ReactCommon/turbomodule/core (= 0.80.0)
+ - SocketRocket
+ - ReactCommon/turbomodule/bridging (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-callinvoker (= 0.80.0)
+ - React-cxxreact (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-logger (= 0.80.0)
+ - React-perflogger (= 0.80.0)
+ - SocketRocket
+ - ReactCommon/turbomodule/core (0.80.0):
+ - boost
+ - DoubleConversion
+ - fast_float
+ - fmt
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCT-Folly/Fabric
+ - React-callinvoker (= 0.80.0)
+ - React-cxxreact (= 0.80.0)
+ - React-debug (= 0.80.0)
+ - React-featureflags (= 0.80.0)
+ - React-jsi (= 0.80.0)
+ - React-logger (= 0.80.0)
+ - React-perflogger (= 0.80.0)
+ - React-utils (= 0.80.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`)
+ - 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`)
+ - 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-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-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
+ - React-oscompat (from `../node_modules/react-native/ReactCommon/oscompat`)
+ - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`)
+ - 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-rncore (from `../node_modules/react-native/ReactCommon`)
+ - 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`)
+ - ReactAppDependencyProvider (from `build/generated/ios`)
+ - ReactCodegen (from `build/generated/ios`)
+ - 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-2025-05-06-RNv0.80.0-4eb6132a5bf0450bf4c6c91987675381d7ac8bca
+ 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"
+ 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-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-NativeModulesApple:
+ :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios"
+ React-oscompat:
+ :path: "../node_modules/react-native/ReactCommon/oscompat"
+ React-perflogger:
+ :path: "../node_modules/react-native/ReactCommon/reactperflogger"
+ 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-rncore:
+ :path: "../node_modules/react-native/ReactCommon"
+ 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"
+ ReactAppDependencyProvider:
+ :path: build/generated/ios
+ ReactCodegen:
+ :path: build/generated/ios
+ 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: 778b815a6fb3fa1599f581ffb9a5e85fad313c1d
+ fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd
+ glog: 5683914934d5b6e4240e497e0f4a3b42d1854183
+ hermes-engine: 7068e976238b29e97b3bafd09a994542af7d5c0b
+ RCT-Folly: 846fda9475e61ec7bcbf8a3fe81edfcaeb090669
+ RCTDeprecation: ff787f6c860a1b97dd1bc27264b61d23ad1994da
+ RCTRequired: 664eb8399ed8a83e26ab65af7c2ad390f7e61696
+ RCTTypeSafety: a5cf7a7e80baf972e331dc028e5d5c19bb2535a4
+ React: 606d4dccbcf29aec4dc84a7921405a28e1701a22
+ React-callinvoker: 0e13bd3c039df9ceef04f7381a81f017655c8361
+ React-Core: d118e66b5b561f5ab999dd7f9cf14f54dab376a7
+ React-CoreModules: 6ec48c52c9ff2ca3fa110153de09e4c2379f1860
+ React-cxxreact: cb406100002503e44de4b725e581ce24f47003b9
+ React-debug: a9e91845f3670c3a19249f52919f0488b7842cf7
+ React-defaultsnativemodule: ee76dbbfc31db775bc318f707f01869cd8a32f42
+ React-domnativemodule: a3f44d7ea5c7f8ef5c6f88574471d6f0b73d2f17
+ React-Fabric: bb3b550229a1cf7a93f9d8569a3a672cae115d94
+ React-FabricComponents: a3b5184c705b5b45c8e6736f8bc579bae5cbecbe
+ React-FabricImage: 8d3a479a8c6097d20b7bd170df7d28b9da72381e
+ React-featureflags: 2d450523e473b3923790f9502feb8d13691b9e0e
+ React-featureflagsnativemodule: 90429c06d7aa290896a76639eaaa78c1d0bf4bca
+ React-graphics: 9e11a80b48b66d08d47c16cb5d922f1171840e70
+ React-hermes: ae85ffa5ce034f07f63c95a7cbd15a391da8a6d3
+ React-idlecallbacksnativemodule: bbacde3a9c82e14b9f3bfc9494bb960ce6801bf3
+ React-ImageManager: d9f55275912e0ee5e34a66d30ad7c6327ce7daa4
+ React-jserrorhandler: eeac7d0ce29ef27a5828d376ae84e516c2f3bab0
+ React-jsi: 8eba045092d3ebe6b30f11e397185080e22e1c3d
+ React-jsiexecutor: 84978b702963ecee46f8e4d510931d4fdb7e8429
+ React-jsinspector: 5efae7cf4601cb0c7441e4caaa5a6cc16781bf54
+ React-jsinspectorcdp: df0f2b157b62a9f5d91c87600331c55414c35881
+ React-jsinspectornetwork: af69093cf9d60dbcd00cda064ac271e2123f623e
+ React-jsinspectortracing: 2519b0016db1f338e56620a3fec253f455318359
+ React-jsitooling: ffb70ee2d0c8836b1e8feddd0945847ae89271ad
+ React-jsitracing: 4a6b9ca5ed4195c51c9205712f06aba38fbb758e
+ React-logger: dce52a571ba0e0149c3f0fcc6866cbc0c8552c5e
+ React-Mapbuffer: f5754c33877eaf36e4c76c613b35615a181c85c5
+ React-microtasksnativemodule: 23df6374a3ac422d8c2927839bcaeed61fee3dad
+ React-NativeModulesApple: e16d5c133019987285f001fbf1461a861e40426f
+ React-oscompat: 7c0a341cc31e350da71ddf2e46de0a845d1d1626
+ React-perflogger: c91e01612298b74f70d846ae3666d2b078c547e0
+ React-performancetimeline: 6b9a6951922d764073bc69617be43a9552de96ba
+ React-RCTActionSheet: 99864bd8422649219f24eca9a51445e698b70b8e
+ React-RCTAnimation: ae0790201f87e9782f4a8b4346ac414f4c3273f3
+ React-RCTAppDelegate: e94955f941036818be7583fe820d13bf47c5e9af
+ React-RCTBlob: 472203c0f6fa4f25996ed94a2cdf5eaa92200fe3
+ React-RCTFabric: 6f6b6979e6395f4fc33e6e25612f6272a71b7af5
+ React-RCTFBReactNativeSpec: 9a0d5b08fcc6e0c73f2afc8fce60e8537db82b58
+ React-RCTImage: 14ce85b3f9e898ad8ab2fd49be97f09e43251fb9
+ React-RCTLinking: b189fd2fd5fce9c3189d64204f1a92c36ffc27bd
+ React-RCTNetwork: 66f7536d038d5ecec63acdc5e7c9b7f843fed4ac
+ React-RCTRuntime: 62482bc3df825749a51ff2c7aa2dd0b8d74ee930
+ React-RCTSettings: 98360df5a9e6f6d10bd9738c6d4637005e4f842e
+ React-RCTText: 667ac6f696da8cd6671b5b562adf43419a787705
+ React-RCTVibration: 13de9226d181fb939b187f3f682767c6e8cc80f8
+ React-rendererconsistency: a4db9bb060c65bce8ae83d936ed0719696055bd2
+ React-renderercss: f7788003b3c65702cbc123f8ba7678dd3cb67753
+ React-rendererdebug: 67c92da913f21ebe041ce959f024ab89cf2a7bde
+ React-rncore: 322add36430c38049067a5d365f166256975391f
+ React-RuntimeApple: f3eedaeab424b467cfc61a308422235399ded08c
+ React-RuntimeCore: fd5ff77cca527e2ecd42e0d6a3eeafafde74d9c9
+ React-runtimeexecutor: 49ea276161508d50b3486c385e1ca7972d1699f5
+ React-RuntimeHermes: 85e8e095e106dbc6bcf5dcae051f56ba18b1d629
+ React-runtimescheduler: c8581138c14a1e2036e8403628b963c0d1c88b26
+ React-timing: a275a1c2e6112dba17f8f7dd496d439213bbea0d
+ React-utils: 449a6e1fd53886510e284e80bdbb1b1c6db29452
+ ReactAppDependencyProvider: 3267432b637c9b38e86961b287f784ee1b08dde0
+ ReactCodegen: a1a6d7288d6a5fc86f109e46149c35d707932702
+ ReactCommon: b028d09a66e60ebd83ca59d8cc9a1216360db147
+ SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
+ Yoga: 0c4b7d2aacc910a1f702694fa86be830386f4ceb
+
+PODFILE CHECKSUM: a8134080201cda3c42e54a89f48d0930861e3c58
+
+COCOAPODS: 1.15.2
diff --git a/apps/metro-example-nested-mini/ios/mini.xcodeproj/project.pbxproj b/apps/metro-example-nested-mini/ios/mini.xcodeproj/project.pbxproj
new file mode 100644
index 0000000000..c45a5d0150
--- /dev/null
+++ b/apps/metro-example-nested-mini/ios/mini.xcodeproj/project.pbxproj
@@ -0,0 +1,486 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 54;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 0C80B921A6F3F58F76C31292 /* libPods-mini.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-mini.a */; };
+ 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
+ 1B66602DC5347A69CC842176 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */; };
+ 761780ED2CA45674006654EE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 761780EC2CA45674006654EE /* AppDelegate.swift */; };
+ 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 13B07F961A680F5B00A75B9A /* mini.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = mini.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = mini/Images.xcassets; sourceTree = ""; };
+ 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mini/Info.plist; sourceTree = ""; };
+ 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = mini/PrivacyInfo.xcprivacy; sourceTree = ""; };
+ 3B4392A12AC88292D35C810B /* Pods-mini.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mini.debug.xcconfig"; path = "Target Support Files/Pods-mini/Pods-mini.debug.xcconfig"; sourceTree = ""; };
+ 5709B34CF0A7D63546082F79 /* Pods-mini.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mini.release.xcconfig"; path = "Target Support Files/Pods-mini/Pods-mini.release.xcconfig"; sourceTree = ""; };
+ 5DCACB8F33CDC322A6C60F78 /* libPods-mini.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-mini.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 761780EC2CA45674006654EE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = mini/AppDelegate.swift; sourceTree = ""; };
+ 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = mini/LaunchScreen.storyboard; sourceTree = ""; };
+ ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 13B07F8C1A680F5B00A75B9A /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 0C80B921A6F3F58F76C31292 /* libPods-mini.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 13B07FAE1A68108700A75B9A /* mini */ = {
+ isa = PBXGroup;
+ children = (
+ 13B07FB51A68108700A75B9A /* Images.xcassets */,
+ 761780EC2CA45674006654EE /* AppDelegate.swift */,
+ 13B07FB61A68108700A75B9A /* Info.plist */,
+ 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */,
+ 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */,
+ );
+ name = mini;
+ sourceTree = "";
+ };
+ 2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
+ 5DCACB8F33CDC322A6C60F78 /* libPods-mini.a */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ 832341AE1AAA6A7D00B99B32 /* Libraries */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Libraries;
+ sourceTree = "";
+ };
+ 83CBB9F61A601CBA00E9B192 = {
+ isa = PBXGroup;
+ children = (
+ 13B07FAE1A68108700A75B9A /* mini */,
+ 832341AE1AAA6A7D00B99B32 /* Libraries */,
+ 83CBBA001A601CBA00E9B192 /* Products */,
+ 2D16E6871FA4F8E400B85C8A /* Frameworks */,
+ BBD78D7AC51CEA395F1C20DB /* Pods */,
+ );
+ indentWidth = 2;
+ sourceTree = "";
+ tabWidth = 2;
+ usesTabs = 0;
+ };
+ 83CBBA001A601CBA00E9B192 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 13B07F961A680F5B00A75B9A /* mini.app */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ BBD78D7AC51CEA395F1C20DB /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ 3B4392A12AC88292D35C810B /* Pods-mini.debug.xcconfig */,
+ 5709B34CF0A7D63546082F79 /* Pods-mini.release.xcconfig */,
+ );
+ path = Pods;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 13B07F861A680F5B00A75B9A /* mini */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "mini" */;
+ buildPhases = (
+ C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */,
+ 13B07F871A680F5B00A75B9A /* Sources */,
+ 13B07F8C1A680F5B00A75B9A /* Frameworks */,
+ 13B07F8E1A680F5B00A75B9A /* Resources */,
+ 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
+ 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */,
+ E235C05ADACE081382539298 /* [CP] Copy Pods Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = mini;
+ productName = mini;
+ productReference = 13B07F961A680F5B00A75B9A /* mini.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 83CBB9F71A601CBA00E9B192 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 1210;
+ TargetAttributes = {
+ 13B07F861A680F5B00A75B9A = {
+ LastSwiftMigration = 1120;
+ };
+ };
+ };
+ buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "mini" */;
+ compatibilityVersion = "Xcode 12.0";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = 83CBB9F61A601CBA00E9B192;
+ productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 13B07F861A680F5B00A75B9A /* mini */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 13B07F8E1A680F5B00A75B9A /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */,
+ 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
+ 1B66602DC5347A69CC842176 /* 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\nif [[ -f \"$PODS_ROOT/../.xcode.env\" ]]; then\nsource \"$PODS_ROOT/../.xcode.env\"\nfi\nif [[ -f \"$PODS_ROOT/../.xcode.env.local\" ]]; then\nsource \"$PODS_ROOT/../.xcode.env.local\"\nfi\nexport BUNDLE_COMMAND=\"bundle-mf-host\"\nexport CONFIG_CMD=\"dummy-workaround-value\"\nexport CLI_PATH=\"$(\"$NODE_BINARY\" --print \"require('path').dirname(require.resolve('@rnef/cli/package.json')) + '/dist/src/bin.js'\")\"\nWITH_ENVIRONMENT=\"$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"$REACT_NATIVE_PATH/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
+ };
+ 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-mini/Pods-mini-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-mini/Pods-mini-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-mini/Pods-mini-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ C38B50BA6285516D6DCD4F65 /* [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-mini-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;
+ };
+ E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-mini/Pods-mini-resources-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Copy Pods Resources";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-mini/Pods-mini-resources-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-mini/Pods-mini-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 13B07F871A680F5B00A75B9A /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 761780ED2CA45674006654EE /* AppDelegate.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ 13B07F941A680F5B00A75B9A /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-mini.debug.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_ENABLE_MODULES = YES;
+ CURRENT_PROJECT_VERSION = 1;
+ ENABLE_BITCODE = NO;
+ INFOPLIST_FILE = mini/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 15.1;
+ 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 = mini;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Debug;
+ };
+ 13B07F951A680F5B00A75B9A /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-mini.release.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_ENABLE_MODULES = YES;
+ CURRENT_PROJECT_VERSION = 1;
+ INFOPLIST_FILE = mini/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 15.1;
+ 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 = mini;
+ SWIFT_VERSION = 5.0;
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Release;
+ };
+ 83CBBA201A601CBA00E9B192 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ 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;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
+ 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 = 15.1;
+ 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_CPLUSPLUSFLAGS = (
+ "$(OTHER_CFLAGS)",
+ "-DFOLLY_NO_CONFIG",
+ "-DFOLLY_MOBILE=1",
+ "-DFOLLY_USE_LIBCPP=1",
+ "-DFOLLY_CFG_NO_COROUTINES=1",
+ "-DFOLLY_HAVE_CLOCK_GETTIME=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;
+ 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;
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
+ 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 = 15.1;
+ 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_CPLUSPLUSFLAGS = (
+ "$(OTHER_CFLAGS)",
+ "-DFOLLY_NO_CONFIG",
+ "-DFOLLY_MOBILE=1",
+ "-DFOLLY_USE_LIBCPP=1",
+ "-DFOLLY_CFG_NO_COROUTINES=1",
+ "-DFOLLY_HAVE_CLOCK_GETTIME=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 "mini" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 13B07F941A680F5B00A75B9A /* Debug */,
+ 13B07F951A680F5B00A75B9A /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "mini" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 83CBBA201A601CBA00E9B192 /* Debug */,
+ 83CBBA211A601CBA00E9B192 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;
+}
diff --git a/apps/metro-example-nested-mini/ios/mini.xcodeproj/xcshareddata/xcschemes/mini.xcscheme b/apps/metro-example-nested-mini/ios/mini.xcodeproj/xcshareddata/xcschemes/mini.xcscheme
new file mode 100644
index 0000000000..8408ed7798
--- /dev/null
+++ b/apps/metro-example-nested-mini/ios/mini.xcodeproj/xcshareddata/xcschemes/mini.xcscheme
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/metro-example-nested-mini/ios/mini.xcworkspace/contents.xcworkspacedata b/apps/metro-example-nested-mini/ios/mini.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000000..99e6cf4ecc
--- /dev/null
+++ b/apps/metro-example-nested-mini/ios/mini.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/apps/metro-example-nested-mini/ios/mini/AppDelegate.swift b/apps/metro-example-nested-mini/ios/mini/AppDelegate.swift
new file mode 100644
index 0000000000..ba594ac611
--- /dev/null
+++ b/apps/metro-example-nested-mini/ios/mini/AppDelegate.swift
@@ -0,0 +1,48 @@
+import UIKit
+import React
+import React_RCTAppDelegate
+import ReactAppDependencyProvider
+
+@main
+class AppDelegate: UIResponder, UIApplicationDelegate {
+ var window: UIWindow?
+
+ var reactNativeDelegate: ReactNativeDelegate?
+ var reactNativeFactory: RCTReactNativeFactory?
+
+ func application(
+ _ application: UIApplication,
+ didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
+ ) -> Bool {
+ let delegate = ReactNativeDelegate()
+ let factory = RCTReactNativeFactory(delegate: delegate)
+ delegate.dependencyProvider = RCTAppDependencyProvider()
+
+ reactNativeDelegate = delegate
+ reactNativeFactory = factory
+
+ window = UIWindow(frame: UIScreen.main.bounds)
+
+ factory.startReactNative(
+ withModuleName: "mini",
+ in: window,
+ launchOptions: launchOptions
+ )
+
+ return true
+ }
+}
+
+class ReactNativeDelegate: RCTDefaultReactNativeFactoryDelegate {
+ 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/apps/metro-example-nested-mini/ios/mini/Images.xcassets/AppIcon.appiconset/Contents.json b/apps/metro-example-nested-mini/ios/mini/Images.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 0000000000..ddd7fca89e
--- /dev/null
+++ b/apps/metro-example-nested-mini/ios/mini/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,53 @@
+{
+ "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/apps/metro-example-nested-mini/ios/mini/Images.xcassets/Contents.json b/apps/metro-example-nested-mini/ios/mini/Images.xcassets/Contents.json
new file mode 100644
index 0000000000..97a8662ebd
--- /dev/null
+++ b/apps/metro-example-nested-mini/ios/mini/Images.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info": {
+ "version": 1,
+ "author": "xcode"
+ }
+}
diff --git a/apps/metro-example-nested-mini/ios/mini/Info.plist b/apps/metro-example-nested-mini/ios/mini/Info.plist
new file mode 100644
index 0000000000..267e84c55a
--- /dev/null
+++ b/apps/metro-example-nested-mini/ios/mini/Info.plist
@@ -0,0 +1,53 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleDisplayName
+ mini
+ 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/apps/metro-example-nested-mini/ios/mini/LaunchScreen.storyboard b/apps/metro-example-nested-mini/ios/mini/LaunchScreen.storyboard
new file mode 100644
index 0000000000..ee3d44f5ec
--- /dev/null
+++ b/apps/metro-example-nested-mini/ios/mini/LaunchScreen.storyboard
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/metro-example-nested-mini/ios/mini/PrivacyInfo.xcprivacy b/apps/metro-example-nested-mini/ios/mini/PrivacyInfo.xcprivacy
new file mode 100644
index 0000000000..41b8317f06
--- /dev/null
+++ b/apps/metro-example-nested-mini/ios/mini/PrivacyInfo.xcprivacy
@@ -0,0 +1,37 @@
+
+
+
+
+ NSPrivacyAccessedAPITypes
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryFileTimestamp
+ NSPrivacyAccessedAPITypeReasons
+
+ C617.1
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryUserDefaults
+ NSPrivacyAccessedAPITypeReasons
+
+ CA92.1
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategorySystemBootTime
+ NSPrivacyAccessedAPITypeReasons
+
+ 35F9.1
+
+
+
+ NSPrivacyCollectedDataTypes
+
+ NSPrivacyTracking
+
+
+
diff --git a/apps/metro-example-nested-mini/jest.config.js b/apps/metro-example-nested-mini/jest.config.js
new file mode 100644
index 0000000000..8eb675e9bc
--- /dev/null
+++ b/apps/metro-example-nested-mini/jest.config.js
@@ -0,0 +1,3 @@
+module.exports = {
+ preset: 'react-native',
+};
diff --git a/apps/metro-example-nested-mini/metro.config.js b/apps/metro-example-nested-mini/metro.config.js
new file mode 100644
index 0000000000..18a689801e
--- /dev/null
+++ b/apps/metro-example-nested-mini/metro.config.js
@@ -0,0 +1,62 @@
+const path = require('node:path');
+const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
+
+const {withModuleFederation} = require('@module-federation/metro');
+
+/**
+ * Metro configuration
+ * https://reactnative.dev/docs/metro
+ *
+ * @type {import('@react-native/metro-config').MetroConfig}
+ */
+const config = {
+ resolver: {useWatchman: false},
+ watchFolders: [
+ path.resolve(__dirname, '../../node_modules'),
+ path.resolve(__dirname, '../../packages/core'),
+ ],
+};
+
+module.exports = withModuleFederation(
+ mergeConfig(getDefaultConfig(__dirname), config),
+ {
+ name: 'example-nested-mini',
+ filename: 'nestedMini.bundle',
+ exposes: {
+ './nestedMiniInfo': './src/nested-mini-info.tsx',
+ },
+ remotes: {
+ mini: 'mini@http://localhost:8082/mf-manifest.json',
+ },
+ shared: {
+ react: {
+ singleton: true,
+ eager: false,
+ requiredVersion: '19.1.0',
+ version: '19.1.0',
+ import: false,
+ },
+ 'react-native': {
+ singleton: true,
+ eager: false,
+ requiredVersion: '0.80.0',
+ version: '0.80.0',
+ import: false,
+ },
+ lodash: {
+ singleton: false,
+ eager: false,
+ requiredVersion: '4.16.6',
+ version: '4.16.6',
+ },
+ },
+ shareStrategy: 'version-first',
+ },
+ {
+ flags: {
+ unstable_patchHMRClient: true,
+ unstable_patchInitializeCore: true,
+ unstable_patchRuntimeRequire: true,
+ },
+ },
+);
diff --git a/apps/metro-example-nested-mini/package.json b/apps/metro-example-nested-mini/package.json
new file mode 100644
index 0000000000..012deff91b
--- /dev/null
+++ b/apps/metro-example-nested-mini/package.json
@@ -0,0 +1,56 @@
+{
+ "name": "example-nested-mini",
+ "version": "0.0.1",
+ "private": true,
+ "scripts": {
+ "android": "rnef run:android",
+ "ios": "rnef run:ios",
+ "lint": "eslint .",
+ "dev": "nodemon --config ../../nodemon.json --exec NODE_OPTIONS='--conditions=dev' pnpm start",
+ "start": "rnef start --port 8083",
+ "test": "jest",
+ "pods": "(cd ios && bundle install && (bundle exec pod install || bundle exec pod update))",
+ "build:ios": "rnef bundle-mf-remote --platform ios --dev false",
+ "build:android": "rnef bundle-mf-remote --platform android --dev false",
+ "build:rnc:ios": "react-native bundle-mf-remote --platform ios --dev false",
+ "build:rnc:android": "react-native bundle-mf-remote --platform android --dev false",
+ "serve:ios": "serve dist/ios -p 8083",
+ "serve:android": "serve dist/android -p 8083",
+ "adbreverse": "adb reverse tcp:8083 tcp:8083"
+ },
+ "dependencies": {
+ "lodash": "4.16.6",
+ "react": "19.1.0",
+ "react-native": "0.80.0"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.25.2",
+ "@babel/preset-env": "^7.25.3",
+ "@babel/runtime": "^7.25.0",
+ "@module-federation/metro": "workspace:*",
+ "@module-federation/metro-plugin-rnef": "workspace:*",
+ "@module-federation/runtime": "^0.15.0",
+ "@react-native/babel-preset": "0.80.0",
+ "@react-native/eslint-config": "0.80.0",
+ "@react-native/metro-config": "0.80.0",
+ "@react-native/typescript-config": "0.80.0",
+ "@rnef/cli": "^0.7.25",
+ "@rnef/platform-android": "^0.7.25",
+ "@rnef/platform-ios": "^0.7.25",
+ "@rnef/plugin-metro": "^0.7.25",
+ "@types/jest": "^29.5.13",
+ "@types/lodash": "^4",
+ "@types/react": "^19.1.0",
+ "@types/react-test-renderer": "^19.1.0",
+ "eslint": "^8.19.0",
+ "jest": "^29.6.3",
+ "nodemon": "^3.1.9",
+ "prettier": "2.8.8",
+ "react-test-renderer": "19.1.0",
+ "serve": "^14.2.4",
+ "typescript": "5.0.4"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+}
diff --git a/apps/metro-example-nested-mini/rnef.config.mjs b/apps/metro-example-nested-mini/rnef.config.mjs
new file mode 100644
index 0000000000..d0d538260e
--- /dev/null
+++ b/apps/metro-example-nested-mini/rnef.config.mjs
@@ -0,0 +1,16 @@
+import {pluginMetroModuleFederation} from '@module-federation/metro-plugin-rnef';
+import {platformAndroid} from '@rnef/platform-android';
+// @ts-check
+import {platformIOS} from '@rnef/platform-ios';
+import {pluginMetro} from '@rnef/plugin-metro';
+
+/** @type {import('@rnef/config').Config} */
+export default {
+ bundler: pluginMetro(),
+ platforms: {
+ ios: platformIOS(),
+ android: platformAndroid(),
+ },
+ remoteCacheProvider: 'github-actions',
+ plugins: [pluginMetroModuleFederation()],
+};
diff --git a/apps/metro-example-nested-mini/src/nested-mini-info.tsx b/apps/metro-example-nested-mini/src/nested-mini-info.tsx
new file mode 100644
index 0000000000..b1709c16fd
--- /dev/null
+++ b/apps/metro-example-nested-mini/src/nested-mini-info.tsx
@@ -0,0 +1,24 @@
+import {VERSION} from 'lodash';
+// @ts-ignore
+import Info from 'mini/info';
+import React from 'react';
+import {View} from 'react-native';
+
+export default function NestedMiniInfo() {
+ return (
+
+
+
+
+
+ );
+}
diff --git a/apps/metro-example-nested-mini/tsconfig.json b/apps/metro-example-nested-mini/tsconfig.json
new file mode 100644
index 0000000000..88fa317f10
--- /dev/null
+++ b/apps/metro-example-nested-mini/tsconfig.json
@@ -0,0 +1,3 @@
+{
+ "extends": "@react-native/typescript-config"
+}
diff --git a/package.json b/package.json
index e6b3024224..bfc9c60771 100644
--- a/package.json
+++ b/package.json
@@ -213,6 +213,7 @@
"tailwindcss": "3.4.13",
"terser-webpack-plugin": "^5.3.10",
"ts-jest": "29.1.5",
+ "ts-node": "10.9.1",
"tslib": "2.8.1",
"tsup": "7.3.0",
"typescript": "5.8.3",
diff --git a/packages/metro-core/.eslintrc.json b/packages/metro-core/.eslintrc.json
new file mode 100644
index 0000000000..5c3013868c
--- /dev/null
+++ b/packages/metro-core/.eslintrc.json
@@ -0,0 +1,41 @@
+{
+ "extends": ["../../.eslintrc.json"],
+ "ignorePatterns": [
+ "!**/*",
+ "**/*.d.ts",
+ "**/vite.config.*.timestamp*",
+ "**/vitest.config.*.timestamp*"
+ ],
+ "overrides": [
+ {
+ "files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
+ "rules": {
+ "@typescript-eslint/no-explicit-any": "off",
+ "@typescript-eslint/ban-ts-comment": "warn",
+ "@typescript-eslint/no-var-requires": 0,
+ "@typescript-eslint/no-restricted-imports": [
+ "error",
+ {
+ "paths": [
+ {
+ "name": "webpack",
+ "message": "Please use require(normalizeWebpackPath('webpack')) instead.",
+ "allowTypeImports": true
+ }
+ ],
+ "patterns": [
+ {
+ "group": ["webpack/lib/*"],
+ "message": "Please use require(normalizeWebpackPath('webpack')) instead.",
+ "allowTypeImports": true
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "files": ["*.js", "*.jsx"]
+ }
+ ]
+}
diff --git a/packages/metro-core/LICENSE b/packages/metro-core/LICENSE
new file mode 100644
index 0000000000..d43e20d53d
--- /dev/null
+++ b/packages/metro-core/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2025 Callstack and Zephyr Cloud
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/metro-core/README.md b/packages/metro-core/README.md
new file mode 100644
index 0000000000..9bec7db1f2
--- /dev/null
+++ b/packages/metro-core/README.md
@@ -0,0 +1,11 @@
+# metro
+
+This library was generated with [Nx](https://nx.dev).
+
+## Building
+
+Run `nx build metro` to build the library.
+
+## Running unit tests
+
+Run `nx test metro` to execute the unit tests via [Jest](https://jestjs.io).
diff --git a/packages/metro-core/babel-plugin/index.js b/packages/metro-core/babel-plugin/index.js
new file mode 100644
index 0000000000..2581c2236b
--- /dev/null
+++ b/packages/metro-core/babel-plugin/index.js
@@ -0,0 +1,115 @@
+// reuse `@babel/types` from `metro`
+const metroPath = require.resolve('metro');
+const babelTypesPath = require.resolve('@babel/types', { paths: [metroPath] });
+const t = require(babelTypesPath);
+
+const UNSUPPORTED_IMPORT_MESSAGE =
+ 'The module path for import() must be a static string literal. Expressions or variables are not supported.';
+const WEBPACK_IGNORE_COMMENT = 'webpackIgnore: true';
+
+function isIgnoredWebpackImport(path) {
+ const [firstArg] = path.node.arguments;
+
+ const comments = [
+ ...(firstArg?.leadingComments || []),
+ ...(path.node?.leadingComments || []),
+ ...(path.node?.innerComments || []),
+ ];
+
+ return (
+ t.isImport(path.node.callee) &&
+ comments.some((comment) => comment.value.includes(WEBPACK_IGNORE_COMMENT))
+ );
+}
+
+function getRemotesRegExp(remotes) {
+ return new RegExp(`^(${Object.keys(remotes).join('|')})/`);
+}
+
+function getSharedRegExp(shared) {
+ return new RegExp(`^(${Object.keys(shared).join('|')})$`);
+}
+
+function isRemoteImport(path, options) {
+ return (
+ t.isImport(path.node.callee) &&
+ t.isStringLiteral(path.node.arguments[0]) &&
+ Object.keys(options.remotes).length > 0 &&
+ path.node.arguments[0].value.match(getRemotesRegExp(options.remotes))
+ );
+}
+
+function isSharedImport(path, options) {
+ return (
+ t.isImport(path.node.callee) &&
+ t.isStringLiteral(path.node.arguments[0]) &&
+ Object.keys(options.shared).length > 0 &&
+ path.node.arguments[0].value.match(getSharedRegExp(options.shared))
+ );
+}
+
+function createWrappedImport(importName, methodName) {
+ const importArg = t.stringLiteral(importName);
+
+ // require('mf:remote-module-registry')
+ const requireCall = t.callExpression(t.identifier('require'), [
+ t.stringLiteral('mf:remote-module-registry'),
+ ]);
+
+ // .loadAndGetRemote(importName) or .loadAndGetShared(importName)
+ const loadAndGetCall = t.callExpression(
+ t.memberExpression(requireCall, t.identifier(methodName)),
+ [importArg],
+ );
+
+ return loadAndGetCall;
+}
+
+function getWrappedRemoteImport(importName) {
+ return createWrappedImport(importName, 'loadAndGetRemote');
+}
+
+function getWrappedSharedImport(importName) {
+ return createWrappedImport(importName, 'loadAndGetShared');
+}
+
+function getRejectedPromise(errorMessage) {
+ return t.callExpression(
+ t.memberExpression(t.identifier('Promise'), t.identifier('reject')),
+ [t.newExpression(t.identifier('Error'), [t.stringLiteral(errorMessage)])],
+ );
+}
+
+function moduleFederationMetroBabelPlugin() {
+ return {
+ name: 'module-federation-metro-babel-plugin',
+ visitor: {
+ CallExpression(path, state) {
+ if (state.opts.blacklistedPaths.includes(state.filename)) {
+ return;
+ }
+
+ // Workaround to remove problematic import from `loadEsmEntry` in `@module-federation/runtime-core`
+ // That causes crashes in Metro bundler
+ if (isIgnoredWebpackImport(path)) {
+ path.replaceWith(getRejectedPromise(UNSUPPORTED_IMPORT_MESSAGE));
+ return;
+ }
+
+ if (isRemoteImport(path, state.opts)) {
+ const wrappedImport = getWrappedRemoteImport(
+ path.node.arguments[0].value,
+ );
+ path.replaceWith(wrappedImport);
+ } else if (isSharedImport(path, state.opts)) {
+ const wrappedImport = getWrappedSharedImport(
+ path.node.arguments[0].value,
+ );
+ path.replaceWith(wrappedImport);
+ }
+ },
+ },
+ };
+}
+
+module.exports = moduleFederationMetroBabelPlugin;
diff --git a/packages/metro-core/babel-plugin/patch-initialize-core.js b/packages/metro-core/babel-plugin/patch-initialize-core.js
new file mode 100644
index 0000000000..100743bc7a
--- /dev/null
+++ b/packages/metro-core/babel-plugin/patch-initialize-core.js
@@ -0,0 +1,61 @@
+// reuse `@babel/types` from `metro`
+const metroPath = require.resolve('metro');
+const babelTypesPath = require.resolve('@babel/types', { paths: [metroPath] });
+const t = require(babelTypesPath);
+
+/**
+ * Inject require('mf:init-host') right after 'use strict' directive
+ * in React Native's Initialize Core
+ */
+function injectInitHostRequire(path, state) {
+ // Only process once per file
+ if (state.hasInjected) return;
+
+ let insertIndex = 0;
+
+ // Find the position after 'use strict' directive
+ for (let i = 0; i < path.node.body.length; i++) {
+ const node = path.node.body[i];
+ if (
+ t.isExpressionStatement(node) &&
+ t.isStringLiteral(node.expression) &&
+ node.expression.value === 'use strict'
+ ) {
+ insertIndex = i + 1;
+ break;
+ }
+ }
+
+ // Create the require('mf:init-host') statement
+ const requireStatement = t.expressionStatement(
+ t.callExpression(t.identifier('require'), [
+ t.stringLiteral('mf:init-host'),
+ ]),
+ );
+
+ // Insert the require statement
+ path.node.body.splice(insertIndex, 0, requireStatement);
+ state.hasInjected = true;
+}
+
+function metroPatchInitializeCorePlugin() {
+ return {
+ name: 'module-federation-metro-patch-initialize-core',
+ visitor: {
+ Program: {
+ enter(_, state) {
+ state.hasInjected = false;
+ state.shouldTransform = state.file.opts.filename.includes(
+ 'react-native/Libraries/Core/InitializeCore.js',
+ );
+ },
+ exit(path, state) {
+ if (!state.shouldTransform) return;
+ injectInitHostRequire(path, state);
+ },
+ },
+ },
+ };
+}
+
+module.exports = metroPatchInitializeCorePlugin;
diff --git a/packages/metro-core/babel-plugin/patch-require.js b/packages/metro-core/babel-plugin/patch-require.js
new file mode 100644
index 0000000000..487fd7d092
--- /dev/null
+++ b/packages/metro-core/babel-plugin/patch-require.js
@@ -0,0 +1,174 @@
+// reuse `@babel/types` from `metro`
+const metroPath = require.resolve('metro');
+const babelTypesPath = require.resolve('@babel/types', { paths: [metroPath] });
+const t = require(babelTypesPath);
+
+const METRO_PREFIX = '__METRO_GLOBAL_PREFIX__';
+const GLOBAL_NAMES_TO_PREFIX = ['__r', '__c', '__registerSegment', '__accept'];
+const REFRESH_SYMBOLS = ['$RefreshReg$', '$RefreshSig$'];
+
+/**
+ * - global.__r = metroRequire;
+ * + global[`${__METRO_GLOBAL_PREFIX__}__r`] = metroRequire;
+ */
+function prefixGlobalNames(path) {
+ const { object, property, computed } = path.node;
+
+ if (
+ t.isIdentifier(object, { name: 'global' }) &&
+ t.isIdentifier(property) &&
+ !computed &&
+ GLOBAL_NAMES_TO_PREFIX.includes(property.name)
+ ) {
+ path.replaceWith(
+ t.memberExpression(
+ t.identifier('global'),
+ t.templateLiteral(
+ [
+ t.templateElement({ raw: '', cooked: '' }),
+ t.templateElement(
+ { raw: property.name, cooked: property.name },
+ true,
+ ),
+ ],
+ [t.identifier(METRO_PREFIX)],
+ ),
+ true,
+ ),
+ );
+ }
+}
+
+/**
+ * - global.$RefreshReg$ = () => {};
+ * - global.$RefreshSig$ = () => (type) => type;
+ * + global.$RefreshReg$ = global.$RefreshReg$ ?? (() => {});
+ * + global.$RefreshSig$ = global.$RefreshSig$ ?? (() => type => type);
+ */
+function defaultRefreshSymbols(path, state) {
+ const { node } = path;
+
+ if (
+ t.isMemberExpression(node.left) &&
+ t.isIdentifier(node.left.object, { name: 'global' }) &&
+ t.isIdentifier(node.left.property) &&
+ REFRESH_SYMBOLS.includes(node.left.property.name)
+ ) {
+ const propName = node.left.property.name;
+
+ if (state.hasTransformed[propName]) {
+ return;
+ }
+
+ const globalProp = t.memberExpression(
+ t.identifier('global'),
+ t.identifier(node.left.property.name),
+ );
+
+ path.replaceWith(
+ t.assignmentExpression(
+ '=',
+ globalProp,
+ t.logicalExpression('??', globalProp, node.right),
+ ),
+ );
+ state.hasTransformed[propName] = true;
+ }
+}
+
+/**
+ * - RefreshRuntime.register(type, moduleId + " " + id);
+ * + RefreshRuntime.register(type, __METRO_GLOBAL_PREFIX__ + ' ' + moduleId + ' ' + id);
+ */
+function prefixModuleIDs(path) {
+ const { callee, arguments: args } = path.node;
+ const isRegisterExports = t.isIdentifier(callee, {
+ name: 'registerExportsForReactRefresh',
+ });
+ const isRefreshRuntimeRegister =
+ t.isMemberExpression(callee) &&
+ t.isIdentifier(callee.object, { name: 'RefreshRuntime' }) &&
+ t.isIdentifier(callee.property, { name: 'register' });
+
+ if (!isRegisterExports && !isRefreshRuntimeRegister) return;
+
+ const lastArgIndex = args.length - 1;
+ const lastArg = args[lastArgIndex];
+
+ args[lastArgIndex] = t.binaryExpression(
+ '+',
+ t.identifier(METRO_PREFIX),
+ t.binaryExpression('+', t.stringLiteral(' '), lastArg),
+ );
+}
+
+/**
+ * - global[__METRO_GLOBAL_PREFIX__ + '__ReactRefresh'] || metroRequire.Refresh
+ * + global[global.__METRO_GLOBAL_PREFIX__ + '__ReactRefresh'] ||
+ * + metroRequire.Refresh
+ */
+function patchRequireRefresh(path) {
+ const funcPath = path.findParent(
+ (p) =>
+ (p.isFunctionDeclaration() || p.isFunctionExpression()) &&
+ p.node.id?.name === 'requireRefresh',
+ );
+
+ if (!funcPath) return;
+
+ const newReturn = t.logicalExpression(
+ '||',
+ t.memberExpression(
+ t.identifier('global'),
+ t.binaryExpression(
+ '+',
+ t.memberExpression(t.identifier('global'), t.identifier(METRO_PREFIX)),
+ t.stringLiteral('__ReactRefresh'),
+ ),
+ true,
+ ),
+ t.memberExpression(t.identifier('metroRequire'), t.identifier('Refresh')),
+ );
+
+ path.get('argument').replaceWith(newReturn);
+}
+
+function metroPatchRequireBabelPlugin() {
+ return {
+ name: 'module-federation-metro-patch-require',
+ visitor: {
+ Program: {
+ enter(_, state) {
+ // Transform only require.js from metro-runtime
+ state.shouldTransform = state.file.opts.filename.includes(
+ 'metro-runtime/src/polyfills/require.js',
+ );
+ // Perform refreshSymbols transformation only once
+ // Because it is referenced in multiple places
+ state.hasTransformed = {
+ $RefreshReg$: false,
+ $RefreshSig$: false,
+ };
+ },
+ },
+ MemberExpression(path, state) {
+ if (!state.shouldTransform) return;
+ prefixGlobalNames(path);
+ },
+ AssignmentExpression(path, state) {
+ if (!state.shouldTransform) return;
+ defaultRefreshSymbols(path, state);
+ },
+ CallExpression(path, state) {
+ if (!state.shouldTransform) return;
+ prefixModuleIDs(path);
+ },
+ ReturnStatement(path, state) {
+ if (!state.shouldTransform) return;
+ patchRequireRefresh(path);
+ },
+ },
+ };
+}
+
+module.exports = metroPatchRequireBabelPlugin;
diff --git a/packages/metro-core/bootstrap/index.d.ts b/packages/metro-core/bootstrap/index.d.ts
new file mode 100644
index 0000000000..e61b4dbd77
--- /dev/null
+++ b/packages/metro-core/bootstrap/index.d.ts
@@ -0,0 +1 @@
+export { withAsyncStartup } from '../dist/modules/asyncStartup';
diff --git a/packages/metro-core/bootstrap/index.js b/packages/metro-core/bootstrap/index.js
new file mode 100644
index 0000000000..200cb414d8
--- /dev/null
+++ b/packages/metro-core/bootstrap/index.js
@@ -0,0 +1 @@
+module.exports = require('../dist/modules/asyncStartup');
diff --git a/packages/metro-core/dev/commands.js b/packages/metro-core/dev/commands.js
new file mode 100644
index 0000000000..3407dfc2d0
--- /dev/null
+++ b/packages/metro-core/dev/commands.js
@@ -0,0 +1,3 @@
+require('./utils/setup');
+
+module.exports = require('../src/commands/index');
diff --git a/packages/metro-core/dev/index.js b/packages/metro-core/dev/index.js
new file mode 100644
index 0000000000..d3573e1063
--- /dev/null
+++ b/packages/metro-core/dev/index.js
@@ -0,0 +1,3 @@
+require('./utils/setup');
+
+module.exports = require('../src/index');
diff --git a/packages/metro-core/dev/utils/setup.js b/packages/metro-core/dev/utils/setup.js
new file mode 100644
index 0000000000..c1b2cf8e87
--- /dev/null
+++ b/packages/metro-core/dev/utils/setup.js
@@ -0,0 +1,10 @@
+const path = require('node:path');
+
+require('ts-node').register({
+ compilerOptions: {
+ module: 'commonjs',
+ moduleResolution: 'node',
+ },
+ project: path.resolve(__dirname, '../../tsconfig.json'),
+ transpileOnly: true,
+});
diff --git a/packages/metro-core/jest.config.ts b/packages/metro-core/jest.config.ts
new file mode 100644
index 0000000000..1a001ba94d
--- /dev/null
+++ b/packages/metro-core/jest.config.ts
@@ -0,0 +1,10 @@
+export default {
+ displayName: '@module-federation/metro',
+ preset: '../../jest.preset.js',
+ testEnvironment: 'node',
+ transform: {
+ '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }],
+ },
+ moduleFileExtensions: ['ts', 'js', 'html'],
+ coverageDirectory: '../../coverage/packages/metro-core',
+};
diff --git a/packages/metro-core/package.json b/packages/metro-core/package.json
new file mode 100644
index 0000000000..951590908b
--- /dev/null
+++ b/packages/metro-core/package.json
@@ -0,0 +1,91 @@
+{
+ "name": "@module-federation/metro",
+ "version": "0.0.1",
+ "description": "Module Federation for Metro bundler",
+ "keywords": [
+ "module-federation",
+ "metro",
+ "react-native"
+ ],
+ "type": "commonjs",
+ "license": "MIT",
+ "contributors": [
+ "Jakub Romańczyk (https://github.com/jbroma)",
+ "Kacper Wiszczuk (https://github.com/esemesek)"
+ ],
+ "publishConfig": {
+ "access": "public",
+ "registry": "https://registry.npmjs.org/"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/module-federation/core",
+ "directory": "packages/metro-core"
+ },
+ "files": [
+ "dist/",
+ "babel-plugin/",
+ "bootstrap/"
+ ],
+ "main": "./dist/index.js",
+ "module": "./dist/index.mjs",
+ "types": "./dist/index.d.ts",
+ "exports": {
+ ".": {
+ "types": "./dist/index.d.ts",
+ "import": "./dist/index.mjs",
+ "require": "./dist/index.js",
+ "default": "./dist/index.js"
+ },
+ "./commands": {
+ "types": "./dist/commands/index.d.ts",
+ "import": "./dist/commands/index.mjs",
+ "require": "./dist/commands/index.js",
+ "default": "./dist/commands/index.js"
+ },
+ "./types": {
+ "types": "./dist/types.d.ts",
+ "import": "./dist/types.mjs",
+ "require": "./dist/types.js",
+ "default": "./dist/types.js"
+ },
+ "./babel-plugin": "./babel-plugin/index.js",
+ "./babel-plugin/*": "./babel-plugin/*.js",
+ "./bootstrap": {
+ "default": "./dist/modules/asyncStartup.tsx"
+ }
+ },
+ "scripts": {
+ "build": "rslib build",
+ "typecheck": "tsc --noEmit"
+ },
+ "dependencies": {
+ "@expo/metro-runtime": "^5.0.4",
+ "@module-federation/runtime": "workspace:*",
+ "@module-federation/sdk": "workspace:*"
+ },
+ "peerDependencies": {
+ "@babel/types": "^7.25.0",
+ "metro": "^0.82.1",
+ "metro-config": "^0.82.1",
+ "metro-file-map": "^0.82.1",
+ "metro-resolver": "^0.82.1",
+ "metro-source-map": "^0.82.1",
+ "react": ">=19.0.0",
+ "react-native": ">=0.79.0"
+ },
+ "devDependencies": {
+ "@rslib/core": "^0.10.0",
+ "@types/node": "^20.0.0",
+ "@types/react": "^19.1.0",
+ "metro": "^0.82.1",
+ "metro-config": "^0.82.1",
+ "metro-file-map": "^0.82.1",
+ "metro-resolver": "^0.82.1",
+ "metro-source-map": "^0.82.1",
+ "react": "19.1.0",
+ "react-native": "0.80.0",
+ "ts-node": "^10.9.2",
+ "typescript": "^5.8.3"
+ }
+}
diff --git a/packages/metro-core/project.json b/packages/metro-core/project.json
new file mode 100644
index 0000000000..60b27e6a6b
--- /dev/null
+++ b/packages/metro-core/project.json
@@ -0,0 +1,16 @@
+{
+ "name": "metro-core",
+ "$schema": "../../node_modules/nx/schemas/project-schema.json",
+ "sourceRoot": "packages/metro-core/src",
+ "projectType": "library",
+ "tags": ["type:pkg"],
+ "targets": {
+ "lint": {
+ "executor": "@nx/eslint:lint",
+ "outputs": ["{options.outputFile}"],
+ "options": {
+ "lintFilePatterns": ["packages/metro-core/**/*.{ts,tsx,js,jsx}"]
+ }
+ }
+ }
+}
diff --git a/packages/metro-core/rslib.config.ts b/packages/metro-core/rslib.config.ts
new file mode 100644
index 0000000000..9e3f8636c7
--- /dev/null
+++ b/packages/metro-core/rslib.config.ts
@@ -0,0 +1,47 @@
+import { defineConfig } from '@rslib/core';
+
+const externalizeMetroImports = (request: string) => {
+ return /^metro/.test(request) ? 'node-commonjs ' + request : undefined;
+};
+
+export default defineConfig({
+ lib: [
+ {
+ format: 'esm',
+ syntax: 'es2021',
+ bundle: false,
+ dts: {
+ bundle: false,
+ },
+ output: {
+ externals: ({ request }, callback) =>
+ callback(undefined, externalizeMetroImports(request!)),
+ },
+ shims: {
+ esm: {
+ __dirname: true,
+ __filename: true,
+ require: true,
+ },
+ },
+ },
+ {
+ format: 'cjs',
+ syntax: 'es2021',
+ bundle: false,
+ },
+ ],
+ source: {
+ entry: {
+ index: 'src/!(babel|modules|runtime)',
+ },
+ tsconfigPath: './tsconfig.build.json',
+ },
+ output: {
+ copy: [
+ { from: './src/babel', to: 'babel' },
+ { from: './src/modules', to: 'modules' },
+ { from: './src/runtime', to: 'runtime' },
+ ],
+ },
+});
diff --git a/packages/metro-core/src/babel/transformer.js b/packages/metro-core/src/babel/transformer.js
new file mode 100644
index 0000000000..a218928b24
--- /dev/null
+++ b/packages/metro-core/src/babel/transformer.js
@@ -0,0 +1,11 @@
+const babelTransformer = require('__BABEL_TRANSFORMER_PATH__');
+const babelPlugins = __BABEL_PLUGINS__;
+
+function transform(config) {
+ return babelTransformer.transform({
+ ...config,
+ plugins: [...babelPlugins, ...config.plugins],
+ });
+}
+
+module.exports = { ...babelTransformer, transform };
diff --git a/packages/metro-core/src/commands/bundle-host/index.ts b/packages/metro-core/src/commands/bundle-host/index.ts
new file mode 100644
index 0000000000..6ee97f3ccf
--- /dev/null
+++ b/packages/metro-core/src/commands/bundle-host/index.ts
@@ -0,0 +1,79 @@
+import path from 'node:path';
+import util from 'node:util';
+import Server from 'metro/src/Server';
+import type { RequestOptions } from 'metro/src/shared/types';
+import type { ModuleFederationConfigNormalized } from '../../types';
+import { CLIError } from '../../utils/errors';
+import type { Config } from '../types';
+import { createResolver } from '../utils/create-resolver';
+import { getCommunityCliPlugin } from '../utils/get-community-plugin';
+import loadMetroConfig from '../utils/load-metro-config';
+import { saveBundleAndMap } from '../utils/save-bundle-and-map';
+import type { BundleFederatedHostArgs } from './types';
+
+declare global {
+ var __METRO_FEDERATION_CONFIG: ModuleFederationConfigNormalized;
+ var __METRO_FEDERATION_ORIGINAL_ENTRY_PATH: string | undefined;
+ var __METRO_FEDERATION_HOST_ENTRY_PATH: string | undefined;
+ var __METRO_FEDERATION_REMOTE_ENTRY_PATH: string | undefined;
+ var __METRO_FEDERATION_MANIFEST_PATH: string | undefined;
+}
+
+async function bundleFederatedHost(
+ _argv: Array,
+ cfg: Config,
+ args: BundleFederatedHostArgs,
+): Promise {
+ const logger = cfg.logger ?? console;
+
+ // expose original entrypoint
+ // TODO: pass this without globals
+ global.__METRO_FEDERATION_ORIGINAL_ENTRY_PATH = args.entryFile;
+
+ const config = await loadMetroConfig(cfg, {
+ maxWorkers: args.maxWorkers,
+ resetCache: args.resetCache,
+ config: args.config,
+ });
+
+ // TODO: pass this without globals
+ const hostEntryFilepath = global.__METRO_FEDERATION_HOST_ENTRY_PATH;
+ if (!hostEntryFilepath) {
+ logger.error(
+ `${util.styleText('red', 'error')} Cannot determine the host entrypoint path.`,
+ );
+ throw new CLIError('Bundling failed');
+ }
+
+ // use virtual host entrypoint
+ args.entryFile = hostEntryFilepath;
+
+ const communityCliPlugin = getCommunityCliPlugin(cfg.reactNativePath);
+
+ const buildBundleWithConfig =
+ communityCliPlugin.unstable_buildBundleWithConfig;
+
+ return buildBundleWithConfig(args, config, {
+ build: async (server: Server, requestOpts: RequestOptions) => {
+ // setup enhance middleware to trigger virtual modules setup
+ config.server.enhanceMiddleware(server.processRequest, server);
+ const resolver = await createResolver(server, args.platform);
+ // hack: resolve the host entry to register it as a virtual module
+ resolver.resolve({
+ from: config.projectRoot,
+ to: `./${path.relative(config.projectRoot, hostEntryFilepath)}`,
+ });
+
+ return server.build({
+ ...Server.DEFAULT_BUNDLE_OPTIONS,
+ ...requestOpts,
+ });
+ },
+ save: saveBundleAndMap,
+ formatName: 'bundle',
+ });
+}
+
+export default bundleFederatedHost;
+
+export { default as bundleFederatedHostOptions } from './options';
diff --git a/packages/metro-core/src/commands/bundle-host/options.ts b/packages/metro-core/src/commands/bundle-host/options.ts
new file mode 100644
index 0000000000..0e68cfc66b
--- /dev/null
+++ b/packages/metro-core/src/commands/bundle-host/options.ts
@@ -0,0 +1,6 @@
+import { getCommunityCliPlugin } from '../utils/get-community-plugin';
+
+const communityCliPlugin = getCommunityCliPlugin();
+const options = communityCliPlugin.bundleCommand.options;
+
+export default options;
diff --git a/packages/metro-core/src/commands/bundle-host/types.ts b/packages/metro-core/src/commands/bundle-host/types.ts
new file mode 100644
index 0000000000..d195a5128b
--- /dev/null
+++ b/packages/metro-core/src/commands/bundle-host/types.ts
@@ -0,0 +1,22 @@
+export type BundleFederatedHostArgs = {
+ assetsDest?: string;
+ assetCatalogDest?: string;
+ entryFile: string;
+ resetCache: boolean;
+ resetGlobalCache: boolean;
+ transformer?: string;
+ minify?: boolean;
+ config?: string;
+ platform: string;
+ dev: boolean;
+ bundleOutput: string;
+ bundleEncoding?: 'utf8' | 'utf16le' | 'ascii';
+ maxWorkers?: number;
+ sourcemapOutput?: string;
+ sourcemapSourcesRoot?: string;
+ sourcemapUseAbsolutePath: boolean;
+ verbose: boolean;
+ unstableTransformProfile: 'hermes-stable' | 'hermes-canary' | 'default';
+ indexedRamBundle?: boolean;
+ resolverOptions?: Array;
+};
diff --git a/packages/metro-core/src/commands/bundle-remote/index.ts b/packages/metro-core/src/commands/bundle-remote/index.ts
new file mode 100644
index 0000000000..327ecc42d3
--- /dev/null
+++ b/packages/metro-core/src/commands/bundle-remote/index.ts
@@ -0,0 +1,350 @@
+import { promises as fs } from 'node:fs';
+import path from 'node:path';
+import { pathToFileURL } from 'node:url';
+import util from 'node:util';
+import { mergeConfig } from 'metro';
+import Server from 'metro/src/Server';
+import type { OutputOptions, RequestOptions } from 'metro/src/shared/types';
+import type { ModuleFederationConfigNormalized } from '../../types';
+import { CLIError } from '../../utils/errors';
+import type { Config } from '../types';
+import { createModulePathRemapper } from '../utils/create-module-path-remapper';
+import { createResolver } from '../utils/create-resolver';
+import loadMetroConfig from '../utils/load-metro-config';
+import { saveBundleAndMap } from '../utils/save-bundle-and-map';
+
+import type { BundleFederatedRemoteArgs } from './types';
+
+const DEFAULT_OUTPUT = 'dist';
+
+declare global {
+ var __METRO_FEDERATION_CONFIG: ModuleFederationConfigNormalized;
+ var __METRO_FEDERATION_ORIGINAL_ENTRY_PATH: string | undefined;
+ var __METRO_FEDERATION_REMOTE_ENTRY_PATH: string | undefined;
+ var __METRO_FEDERATION_MANIFEST_PATH: string | undefined;
+}
+
+interface ModuleDescriptor {
+ [moduleName: string]: {
+ isContainerModule?: boolean;
+ moduleInputFilepath: string;
+ moduleOutputDir: string;
+ };
+}
+
+interface BundleRequestOptions extends RequestOptions {
+ lazy: boolean;
+ modulesOnly: boolean;
+ runModule: boolean;
+ sourceUrl: string;
+}
+
+async function buildBundle(server: Server, requestOpts: BundleRequestOptions) {
+ const bundle = await server.build({
+ ...Server.DEFAULT_BUNDLE_OPTIONS,
+ ...requestOpts,
+ });
+
+ return bundle;
+}
+
+function getRequestOpts(
+ args: BundleFederatedRemoteArgs,
+ opts: {
+ isContainerModule: boolean;
+ entryFile: string;
+ sourceUrl: string;
+ sourceMapUrl: string;
+ },
+): BundleRequestOptions {
+ return {
+ dev: args.dev,
+ minify: args.minify !== undefined ? args.minify : !args.dev,
+ platform: args.platform,
+ entryFile: opts.entryFile,
+ sourceUrl: opts.sourceUrl,
+ sourceMapUrl: opts.sourceMapUrl,
+ // only use lazy for container bundles
+ lazy: opts.isContainerModule,
+ // only run module for container bundles
+ runModule: opts.isContainerModule,
+ // remove prelude for non-container modules
+ modulesOnly: !opts.isContainerModule,
+ };
+}
+
+function getSaveBundleOpts(
+ args: BundleFederatedRemoteArgs,
+ opts: {
+ bundleOutput: string;
+ sourcemapOutput: string;
+ },
+): OutputOptions {
+ return {
+ indexedRamBundle: false,
+ bundleEncoding: args.bundleEncoding,
+ dev: args.dev,
+ platform: args.platform,
+ sourcemapSourcesRoot: args.sourcemapSourcesRoot,
+ sourcemapUseAbsolutePath: args.sourcemapUseAbsolutePath,
+ bundleOutput: opts.bundleOutput,
+ sourcemapOutput: opts.sourcemapOutput,
+ };
+}
+
+async function bundleFederatedRemote(
+ _argv: Array,
+ cfg: Config,
+ args: BundleFederatedRemoteArgs,
+): Promise {
+ const rawConfig = await loadMetroConfig(cfg, {
+ maxWorkers: args.maxWorkers,
+ resetCache: args.resetCache,
+ config: args.config,
+ });
+
+ const logger = cfg.logger ?? console;
+
+ // TODO: pass this without globals
+ const federationConfig = global.__METRO_FEDERATION_CONFIG;
+ if (!federationConfig) {
+ logger.error(
+ `${util.styleText('red', 'error')} Module Federation configuration is missing.`,
+ );
+ logger.info(
+ "Import the plugin 'withModuleFederation' " +
+ "from '@module-federation/metro' package " +
+ 'and wrap your final Metro config with it.',
+ );
+ throw new CLIError('Bundling failed');
+ }
+
+ // TODO: pass this without globals
+ const containerEntryFilepath = global.__METRO_FEDERATION_REMOTE_ENTRY_PATH;
+ if (!containerEntryFilepath) {
+ logger.error(
+ `${util.styleText('red', 'error')} Cannot determine the container entry file path.`,
+ );
+ logger.info(
+ 'To bundle a container, you need to expose at least one module ' +
+ 'in your Module Federation configuration.',
+ );
+ throw new CLIError('Bundling failed');
+ }
+
+ // TODO: pass this without globals
+ const manifestFilepath = global.__METRO_FEDERATION_MANIFEST_PATH;
+ if (!manifestFilepath) {
+ logger.error(
+ `${util.styleText('red', 'error')} Cannot determine the manifest file path.`,
+ );
+ throw new CLIError('Bundling failed');
+ }
+
+ if (rawConfig.resolver.platforms.indexOf(args.platform) === -1) {
+ logger.error(
+ `${util.styleText('red', 'error')}: Invalid platform ${
+ args.platform ? `"${util.styleText('bold', args.platform)}" ` : ''
+ }selected.`,
+ );
+
+ logger.info(
+ `Available platforms are: ${rawConfig.resolver.platforms
+ .map((x) => `"${util.styleText('bold', x)}"`)
+ .join(
+ ', ',
+ )}. If you are trying to bundle for an out-of-tree platform, it may not be installed.`,
+ );
+
+ throw new CLIError('Bundling failed');
+ }
+
+ // This is used by a bazillion of npm modules we don't control so we don't
+ // have other choice than defining it as an env variable here.
+ process.env.NODE_ENV = args.dev ? 'development' : 'production';
+
+ // wrap the resolveRequest with our own remapper
+ // to replace the paths of remote/shared modules
+ const modulePathRemapper = createModulePathRemapper();
+
+ const config = mergeConfig(rawConfig, {
+ resolver: {
+ // remap the paths of remote & shared modules to prevent raw project paths
+ // ending up in the bundles e.g. ../../node_modules/lodash.js -> shared/lodash.js
+ resolveRequest: (context, moduleName, platform) => {
+ // always defined since we define it in the MF plugin
+ const originalResolveRequest = rawConfig.resolver!.resolveRequest!;
+ const res = originalResolveRequest(context, moduleName, platform);
+ return modulePathRemapper.remap(res);
+ },
+ },
+ serializer: {
+ // since we override the paths of split modules, we need to remap the module ids
+ // back to the original paths, so that they point to correct modules in runtime
+ // note: the split modules become separate entrypoints, and entrypoints are not
+ // resolved using the metro resolver, so the only way is to remap the module ids
+ createModuleIdFactory: () => {
+ const factory = rawConfig.serializer.createModuleIdFactory();
+ return (path: string) => factory(modulePathRemapper.reverse(path));
+ },
+ },
+ });
+
+ const server = new Server(config);
+
+ // hack: setup enhance middleware to trigger virtual modules setup
+ config.server.enhanceMiddleware(server.processRequest, server);
+
+ const resolver = await createResolver(server, args.platform);
+
+ const outputDir = args.output
+ ? path.resolve(path.join(args.output, args.platform))
+ : path.resolve(
+ config.projectRoot,
+ path.join(DEFAULT_OUTPUT, args.platform),
+ );
+
+ const containerModule: ModuleDescriptor = {
+ [federationConfig.filename]: {
+ moduleInputFilepath: containerEntryFilepath,
+ moduleOutputDir: outputDir,
+ isContainerModule: true,
+ },
+ };
+
+ // hack: resolve the container entry to register it as a virtual module
+ resolver.resolve({
+ from: config.projectRoot,
+ to: `./${path.relative(config.projectRoot, containerEntryFilepath)}`,
+ });
+
+ const exposedModules = Object.entries(federationConfig.exposes)
+ .map(([moduleName, moduleFilepath]) => [
+ moduleName.slice(2),
+ moduleFilepath,
+ ])
+ .reduce((acc, [moduleName, moduleInputFilepath]) => {
+ acc[moduleName] = {
+ moduleInputFilepath: path.resolve(
+ config.projectRoot,
+ moduleInputFilepath,
+ ),
+ moduleOutputDir: path.resolve(outputDir, 'exposed'),
+ isContainerModule: false,
+ };
+ return acc;
+ }, {} as ModuleDescriptor);
+
+ const sharedModules = Object.entries(federationConfig.shared)
+ .filter(([, sharedConfig]) => {
+ return !sharedConfig.eager && sharedConfig.import !== false;
+ })
+ .reduce((acc, [moduleName]) => {
+ const inputFilepath = resolver.resolve({
+ from: containerEntryFilepath,
+ to: moduleName,
+ });
+ acc[moduleName] = {
+ moduleInputFilepath: inputFilepath,
+ moduleOutputDir: path.resolve(outputDir, 'shared'),
+ isContainerModule: false,
+ };
+ return acc;
+ }, {} as ModuleDescriptor);
+
+ const requests = Object.entries({
+ ...containerModule,
+ ...exposedModules,
+ ...sharedModules,
+ }).map(
+ ([
+ moduleName,
+ { moduleInputFilepath, moduleOutputDir, isContainerModule = false },
+ ]) => {
+ const moduleBundleName = isContainerModule
+ ? moduleName
+ : `${moduleName}.bundle`;
+ const moduleBundleFilepath = path.resolve(
+ moduleOutputDir,
+ moduleBundleName,
+ );
+ // Metro requires `sourceURL` to be defined when doing bundle splitting
+ // we use relative path and supply it in fileURL format to avoid issues
+ const moduleBundleUrl = pathToFileURL(
+ '/' + path.relative(outputDir, moduleBundleFilepath),
+ ).href;
+ const moduleSourceMapName = `${moduleBundleName}.map`;
+ const moduleSourceMapFilepath = path.resolve(
+ moduleOutputDir,
+ moduleSourceMapName,
+ );
+ // use relative path just like when bundling `index.bundle`
+ const moduleSourceMapUrl = path.relative(
+ outputDir,
+ moduleSourceMapFilepath,
+ );
+
+ if (!isContainerModule) {
+ modulePathRemapper.addMapping(
+ moduleInputFilepath,
+ path.relative(outputDir, moduleBundleFilepath),
+ );
+ }
+
+ return {
+ targetDir: path.dirname(moduleBundleFilepath),
+ requestOpts: getRequestOpts(args, {
+ isContainerModule,
+ entryFile: moduleInputFilepath,
+ sourceUrl: moduleBundleUrl,
+ sourceMapUrl: moduleSourceMapUrl,
+ }),
+ saveBundleOpts: getSaveBundleOpts(args, {
+ bundleOutput: moduleBundleFilepath,
+ sourcemapOutput: moduleSourceMapFilepath,
+ }),
+ };
+ },
+ );
+
+ try {
+ logger.info(
+ `${util.styleText('blue', 'Processing remote container and exposed modules')}`,
+ );
+
+ for (const { requestOpts, saveBundleOpts, targetDir } of requests) {
+ // ensure output directory exists
+ await fs.mkdir(targetDir, { recursive: true, mode: 0o755 });
+ const bundle = await buildBundle(server, requestOpts);
+ await saveBundleAndMap(bundle, saveBundleOpts, logger.info);
+
+ // Save the assets of the bundle
+ // const outputAssets = await server.getAssets({
+ // ...Server.DEFAULT_BUNDLE_OPTIONS,
+ // ...requestOpts,
+ // });
+
+ // When we're done saving bundle output and the assets, we're done.
+ // return await saveAssets(
+ // outputAssets,
+ // args.platform,
+ // args.assetsDest,
+ // args.assetCatalogDest
+ // );
+ }
+
+ logger.info(`${util.styleText('blue', 'Processing manifest')}`);
+ const manifestOutputFilepath = path.resolve(outputDir, 'mf-manifest.json');
+ await fs.copyFile(manifestFilepath, manifestOutputFilepath);
+ logger.info(
+ `Done writing MF Manifest to:\n${util.styleText('dim', manifestOutputFilepath)}`,
+ );
+ } finally {
+ // incomplete types - this should be awaited
+ await server.end();
+ }
+}
+
+export default bundleFederatedRemote;
+
+export { default as bundleFederatedRemoteOptions } from './options';
diff --git a/packages/metro-core/src/commands/bundle-remote/options.ts b/packages/metro-core/src/commands/bundle-remote/options.ts
new file mode 100644
index 0000000000..77fb240771
--- /dev/null
+++ b/packages/metro-core/src/commands/bundle-remote/options.ts
@@ -0,0 +1,76 @@
+import path from 'node:path';
+
+const options = [
+ {
+ name: '--platform ',
+ description: 'Either "ios" or "android"',
+ default: 'ios',
+ },
+ {
+ name: '--dev [boolean]',
+ description: 'If false, warnings are disabled and the bundle is minified',
+ parse: (val: string): boolean => val !== 'false',
+ default: true,
+ },
+ {
+ name: '--minify [boolean]',
+ description:
+ 'Allows overriding whether bundle is minified. This defaults to ' +
+ 'false if dev is true, and true if dev is false. Disabling minification ' +
+ 'can be useful for speeding up production builds for testing purposes.',
+ parse: (val: string): boolean => val !== 'false',
+ },
+ {
+ name: '--bundle-encoding ',
+ description:
+ 'Encoding the bundle should be written in (https://nodejs.org/api/buffer.html#buffer_buffer).',
+ default: 'utf8',
+ },
+ {
+ name: '--max-workers ',
+ description:
+ 'Specifies the maximum number of workers the worker-pool ' +
+ 'will spawn for transforming files. This defaults to the number of the ' +
+ 'cores available on your machine.',
+ },
+ {
+ name: '--sourcemap-output ',
+ description:
+ 'File name where to store the sourcemap file for resulting bundle, ex. /tmp/groups.map',
+ },
+ {
+ name: '--sourcemap-sources-root ',
+ description:
+ "Path to make sourcemap's sources entries relative to, ex. /root/dir",
+ },
+ {
+ name: '--sourcemap-use-absolute-path',
+ description: 'Report SourceMapURL using its full path',
+ default: false,
+ },
+ {
+ name: '--assets-dest ',
+ description:
+ 'Directory name where to store assets referenced in the bundle',
+ },
+ {
+ name: '--asset-catalog-dest [string]',
+ description: 'Path where to create an iOS Asset Catalog for images',
+ },
+ {
+ name: '--reset-cache',
+ description: 'Removes cached files',
+ default: false,
+ },
+ {
+ name: '--config ',
+ description: 'Path to the CLI configuration file',
+ parse: (val: string): string => path.resolve(val),
+ },
+ {
+ name: '--output ',
+ description: 'Output directory for the bundle',
+ },
+];
+
+export default options;
diff --git a/packages/metro-core/src/commands/bundle-remote/types.ts b/packages/metro-core/src/commands/bundle-remote/types.ts
new file mode 100644
index 0000000000..5abffbee2c
--- /dev/null
+++ b/packages/metro-core/src/commands/bundle-remote/types.ts
@@ -0,0 +1,16 @@
+export type BundleFederatedRemoteArgs = {
+ entryFile: string;
+ platform: string;
+ dev: boolean;
+ minify?: boolean;
+ bundleEncoding?: 'utf8' | 'utf16le' | 'ascii';
+ maxWorkers?: string;
+ sourcemapOutput?: string;
+ sourcemapSourcesRoot?: string;
+ sourcemapUseAbsolutePath?: boolean;
+ assetsDest?: string;
+ assetCatalogDest?: string;
+ resetCache?: boolean;
+ config?: string;
+ output?: string;
+};
diff --git a/packages/metro-core/src/commands/index.ts b/packages/metro-core/src/commands/index.ts
new file mode 100644
index 0000000000..9992133f3a
--- /dev/null
+++ b/packages/metro-core/src/commands/index.ts
@@ -0,0 +1,25 @@
+import bundleFederatedHost, { bundleFederatedHostOptions } from './bundle-host';
+import bundleFederatedRemote, {
+ bundleFederatedRemoteOptions,
+} from './bundle-remote';
+import loadMetroConfig from './utils/load-metro-config';
+
+export {
+ bundleFederatedHost,
+ bundleFederatedHostOptions,
+ bundleFederatedRemote,
+ bundleFederatedRemoteOptions,
+ loadMetroConfig,
+};
+
+export default {
+ bundleFederatedHost,
+ bundleFederatedHostOptions,
+ bundleFederatedRemote,
+ bundleFederatedRemoteOptions,
+ loadMetroConfig,
+};
+
+export type { BundleFederatedHostArgs } from './bundle-host/types';
+export type { BundleFederatedRemoteArgs } from './bundle-remote/types';
+export type { Config } from './types';
diff --git a/packages/metro-core/src/commands/types.ts b/packages/metro-core/src/commands/types.ts
new file mode 100644
index 0000000000..db9c783453
--- /dev/null
+++ b/packages/metro-core/src/commands/types.ts
@@ -0,0 +1,15 @@
+export interface Config {
+ root: string;
+ platforms: Record;
+ reactNativePath: string;
+ logger?: Logger;
+}
+
+export interface Logger {
+ success: (...messages: Array) => void;
+ info: (...messages: Array) => void;
+ warn: (...messages: Array) => void;
+ error: (...messages: Array) => void;
+ debug: (...messages: Array) => void;
+ log: (...messages: Array) => void;
+}
diff --git a/packages/metro-core/src/commands/utils/create-module-path-remapper.ts b/packages/metro-core/src/commands/utils/create-module-path-remapper.ts
new file mode 100644
index 0000000000..f719ba5483
--- /dev/null
+++ b/packages/metro-core/src/commands/utils/create-module-path-remapper.ts
@@ -0,0 +1,29 @@
+import type { Resolution } from 'metro-resolver';
+
+export function createModulePathRemapper() {
+ const mappings = new Map();
+ const reverseMappings = new Map();
+
+ return {
+ addMapping(originalPath: string, overridePath: string) {
+ mappings.set(originalPath, overridePath);
+ reverseMappings.set(overridePath, originalPath);
+ },
+ removeMapping(originalPath: string) {
+ const overridePath = mappings.get(originalPath);
+ if (!overridePath) return;
+ mappings.delete(originalPath);
+ reverseMappings.delete(overridePath);
+ },
+ remap(resolved: Resolution): Resolution {
+ if (!('filePath' in resolved)) return resolved;
+ if (!mappings.has(resolved.filePath)) return resolved;
+ const overridePath = mappings.get(resolved.filePath)!;
+ return { filePath: overridePath, type: resolved.type };
+ },
+ reverse(overridePath: string) {
+ if (!reverseMappings.has(overridePath)) return overridePath;
+ return reverseMappings.get(overridePath)!;
+ },
+ };
+}
diff --git a/packages/metro-core/src/commands/utils/create-resolver.ts b/packages/metro-core/src/commands/utils/create-resolver.ts
new file mode 100644
index 0000000000..f12574a2ca
--- /dev/null
+++ b/packages/metro-core/src/commands/utils/create-resolver.ts
@@ -0,0 +1,29 @@
+import type Server from 'metro/src/Server';
+
+/**
+ * Creates a resolver utility that mirrors Metro's bundling resolution behavior.
+ * This utility exposes Metro's internal resolver to the command context,
+ * allowing commands to resolve module paths exactly as Metro would during bundling.
+ * The resolver maintains consistency with Metro's resolution strategy,
+ * including platform-specific resolution and dependency graph traversal.
+ */
+
+/**
+ * Creates a resolver that matches Metro's bundling resolution behavior
+ * @param server - The Metro server instance to use for resolution
+ * @param platform - The target platform for resolution (e.g., 'ios', 'android', null for default)
+ * @returns The resolver object with a resolve method that takes source and target paths
+ */
+export async function createResolver(server: Server, platform: string | null) {
+ const bundler = server.getBundler().getBundler();
+ const depGraph = await bundler.getDependencyGraph();
+
+ const resolve = ({ from, to }: { from: string; to: string }) => {
+ const config = { name: to, data: { asyncType: null, key: to, locs: [] } };
+ const options = { assumeFlatNodeModules: false };
+ const res = depGraph.resolveDependency(from, config, platform, {}, options);
+ return res.filePath;
+ };
+
+ return { resolve };
+}
diff --git a/packages/metro-core/src/commands/utils/get-community-plugin.ts b/packages/metro-core/src/commands/utils/get-community-plugin.ts
new file mode 100644
index 0000000000..7a1e73be00
--- /dev/null
+++ b/packages/metro-core/src/commands/utils/get-community-plugin.ts
@@ -0,0 +1,49 @@
+import type { ConfigT } from 'metro-config';
+import type Server from 'metro/src/Server';
+import type { OutputOptions, RequestOptions } from 'metro/src/shared/types';
+import { CLIError } from '../../utils/errors';
+
+interface Command {
+ name: string;
+ description: string;
+ func: () => Promise;
+ options: {
+ name: string;
+ description: string;
+ }[];
+}
+
+interface CommunityCliPlugin {
+ bundleCommand: Command;
+ startCommand: Command;
+ unstable_buildBundleWithConfig: (
+ args: unknown,
+ config: ConfigT,
+ bundleImpl: {
+ build: (
+ server: Server,
+ requestOpts: RequestOptions,
+ ) => Promise<{ code: string; map: string }>;
+ save: (
+ bundle: { code: string; map: string },
+ options: OutputOptions,
+ log: (msg: string) => void,
+ ) => Promise;
+ formatName: 'bundle';
+ },
+ ) => Promise;
+}
+
+export function getCommunityCliPlugin(reactNativePath?: string) {
+ let communityCliPlugin: CommunityCliPlugin;
+ try {
+ const communityCliPluginPath = require.resolve(
+ '@react-native/community-cli-plugin',
+ { paths: [reactNativePath ?? require.resolve('react-native')] },
+ );
+ communityCliPlugin = require(communityCliPluginPath);
+ } catch {
+ throw new CLIError('Community CLI plugin is not installed.');
+ }
+ return communityCliPlugin;
+}
diff --git a/packages/metro-core/src/commands/utils/load-metro-config.ts b/packages/metro-core/src/commands/utils/load-metro-config.ts
new file mode 100644
index 0000000000..c396bfbc69
--- /dev/null
+++ b/packages/metro-core/src/commands/utils/load-metro-config.ts
@@ -0,0 +1,45 @@
+import path from 'node:path';
+import type { ConfigT, InputConfigT, YargArguments } from 'metro-config';
+import { loadConfig, mergeConfig, resolveConfig } from 'metro-config';
+import { CLIError } from '../../utils/errors';
+import type { Config } from '../types';
+
+function getOverrideConfig(cfg: Config, config: ConfigT): InputConfigT {
+ // create alias for path - seems like a bug in rslib
+ const nodePath = path;
+ const resolver: Partial = {
+ platforms: [...Object.keys(cfg.platforms), 'native'],
+ };
+
+ return {
+ resolver,
+ serializer: {
+ getModulesRunBeforeMainModule: (entryFilePath) => [
+ ...(config.serializer?.getModulesRunBeforeMainModule?.(entryFilePath) ||
+ []),
+ require.resolve(
+ nodePath.join(cfg.reactNativePath, 'Libraries/Core/InitializeCore'),
+ { paths: [cfg.root] },
+ ),
+ ],
+ },
+ };
+}
+
+export default async function loadMetroConfig(
+ cfg: Config,
+ options: YargArguments = {},
+): Promise {
+ const cwd = cfg.root;
+ const projectConfig = await resolveConfig(options.config, cwd);
+
+ if (projectConfig.isEmpty) {
+ throw new CLIError(`No Metro config found in ${cwd}`);
+ }
+
+ const config = await loadConfig({ cwd, ...options });
+
+ const overrideConfig = getOverrideConfig(cfg, config);
+
+ return mergeConfig(config, overrideConfig);
+}
diff --git a/packages/metro-core/src/commands/utils/save-bundle-and-map.ts b/packages/metro-core/src/commands/utils/save-bundle-and-map.ts
new file mode 100644
index 0000000000..c059a28bf8
--- /dev/null
+++ b/packages/metro-core/src/commands/utils/save-bundle-and-map.ts
@@ -0,0 +1,56 @@
+import { promises as fs } from 'node:fs';
+import util from 'node:util';
+import type { MixedSourceMap } from 'metro-source-map';
+import relativizeSourceMapInline from 'metro/src/lib/relativizeSourceMap';
+import type { OutputOptions } from 'metro/src/shared/types';
+
+function relativizeSerializedMap(
+ map: string,
+ sourceMapSourcesRoot: string,
+): string {
+ const sourceMap: MixedSourceMap = JSON.parse(map);
+ relativizeSourceMapInline(sourceMap, sourceMapSourcesRoot);
+ return JSON.stringify(sourceMap);
+}
+
+export async function saveBundleAndMap(
+ bundle: { code: string; map: string },
+ options: OutputOptions,
+ log: (msg: string) => void,
+) {
+ const {
+ bundleOutput,
+ bundleEncoding: encoding,
+ sourcemapOutput,
+ sourcemapSourcesRoot,
+ } = options;
+
+ const writeFns = [];
+
+ writeFns.push(async () => {
+ log(`Writing bundle output to:\n${util.styleText('dim', bundleOutput)}`);
+ await fs.writeFile(bundleOutput, bundle.code, encoding);
+ log('Done writing bundle output');
+ });
+
+ if (sourcemapOutput) {
+ let { map } = bundle;
+ if (sourcemapSourcesRoot != null) {
+ log('Start relativating source map');
+
+ map = relativizeSerializedMap(map, sourcemapSourcesRoot);
+ log('Finished relativating');
+ }
+
+ writeFns.push(async () => {
+ log(
+ `Writing sourcemap output to:\n${util.styleText('dim', sourcemapOutput)}`,
+ );
+ await fs.writeFile(sourcemapOutput, map);
+ log('Done writing sourcemap output');
+ });
+ }
+
+ // Wait until everything is written to disk.
+ await Promise.all(writeFns.map((cb) => cb()));
+}
diff --git a/packages/metro-core/src/index.ts b/packages/metro-core/src/index.ts
new file mode 100644
index 0000000000..2570f9f0c0
--- /dev/null
+++ b/packages/metro-core/src/index.ts
@@ -0,0 +1,2 @@
+export { withModuleFederation } from './plugin';
+export { updateManifest } from './plugin/manifest';
diff --git a/packages/metro-core/src/modules/HMRClient.ts b/packages/metro-core/src/modules/HMRClient.ts
new file mode 100644
index 0000000000..fdfd0d8c12
--- /dev/null
+++ b/packages/metro-core/src/modules/HMRClient.ts
@@ -0,0 +1,31 @@
+import HMRClient from 'react-native/Libraries/Utilities/HMRClient';
+
+let hmrOrigin: string | null = null;
+
+const originalRegisterBundle = HMRClient.registerBundle;
+const originalSetup = HMRClient.setup;
+
+HMRClient.setup = (
+ platform: string,
+ bundleEntry: string,
+ host: string,
+ port: number | string,
+ isEnabled: boolean,
+ scheme = 'http',
+) => {
+ const serverHost = port !== null && port !== '' ? `${host}:${port}` : host;
+ hmrOrigin = `${scheme}://${serverHost}`;
+
+ return originalSetup(platform, bundleEntry, host, port, isEnabled, scheme);
+};
+
+HMRClient.registerBundle = (requestUrl: string) => {
+ // only process registerBundle calls from the same origin
+ if (!requestUrl.includes(hmrOrigin as string)) {
+ return;
+ }
+
+ return originalRegisterBundle(requestUrl);
+};
+
+export default HMRClient;
diff --git a/packages/metro-core/src/modules/HMRClientShim.ts b/packages/metro-core/src/modules/HMRClientShim.ts
new file mode 100644
index 0000000000..10c0f8bc37
--- /dev/null
+++ b/packages/metro-core/src/modules/HMRClientShim.ts
@@ -0,0 +1 @@
+export { default } from 'react-native/Libraries/Utilities/HMRClientProdShim';
diff --git a/packages/metro-core/src/modules/asyncRequire.ts b/packages/metro-core/src/modules/asyncRequire.ts
new file mode 100644
index 0000000000..5445e34463
--- /dev/null
+++ b/packages/metro-core/src/modules/asyncRequire.ts
@@ -0,0 +1,134 @@
+// join two paths
+// e.g. /a/b/ + /c/d -> /a/b/c/d
+function joinComponents(prefix: string, suffix: string) {
+ return prefix.replace(/\/+$/, '') + '/' + suffix.replace(/^\/+/, '');
+}
+
+// get the public path from the url
+// e.g. http://host:8081/a/b.bundle -> http://host:8081/a
+function getPublicPath(url?: string) {
+ return url?.split('/').slice(0, -1).join('/');
+}
+
+function isUrl(url: string) {
+ return url.match(/^https?:\/\//);
+}
+
+// get bundle id from the bundle path
+// e.g. /a/b.bundle?platform=ios -> a/b
+// e.g. http://host:8081/a/b.bundle -> a/b
+function getBundleId(bundlePath: string, publicPath: string) {
+ let path = bundlePath;
+ // remove the public path if it's an url
+ if (isUrl(path)) {
+ path = path.replace(publicPath, '');
+ }
+ // remove the leading slash
+ if (path.startsWith('/')) {
+ path = path.slice(1);
+ }
+ // remove the query params
+ path = path.split('?')[0];
+ // remove the bundle extension
+ return path.replace('.bundle', '');
+}
+
+function isSameOrigin(url: string, originPublicPath?: string) {
+ // if it's not a fully qualified url, we assume it's the same origin
+ if (!isUrl(url)) {
+ return true;
+ }
+ return !!originPublicPath && url.startsWith(originPublicPath);
+}
+
+// prefix the bundle path with the public path
+// e.g. /a/b.bundle -> http://host:8081/a/b.bundle
+function getBundlePath(bundlePath: string, bundleOrigin?: string) {
+ // don't modify the path in development
+ if (process.env.NODE_ENV !== 'production') {
+ return bundlePath;
+ }
+ // don't modify fully qualified urls
+ // e.g. when loading container modules
+ if (isUrl(bundlePath)) {
+ return bundlePath;
+ }
+ // don't modify the path if we don't know the bundle origin
+ // e.g. when loading host split bundles
+ if (!bundleOrigin) {
+ return bundlePath;
+ }
+ return joinComponents(bundleOrigin, bundlePath);
+}
+
+function buildLoadBundleAsyncWrapper() {
+ const registry = require('mf:remote-module-registry');
+
+ const __loadBundleAsync =
+ // @ts-expect-error dynamic key access on global object
+ globalThis[`${__METRO_GLOBAL_PREFIX__ ?? ''}__loadBundleAsync`];
+
+ const loadBundleAsync =
+ __loadBundleAsync as typeof globalThis.__loadBundleAsync;
+
+ return async (originalBundlePath: string) => {
+ const scope = globalThis.__FEDERATION__.__NATIVE__[__METRO_GLOBAL_PREFIX__];
+
+ // entry is always in the root directory of assets associated with remote
+ // based on that, we extract the public path from the origin URL
+ // e.g. http://example.com/a/b/c/mf-manfiest.json -> http://example.com/a/b/c
+ const publicPath = getPublicPath(scope.origin);
+ const bundlePath = getBundlePath(originalBundlePath, publicPath);
+
+ // ../../node_modules/ -> ..%2F..%2Fnode_modules/ so that it's not automatically sanitized
+ const encodedBundlePath = bundlePath.replaceAll('../', '..%2F');
+
+ const result = await loadBundleAsync(encodedBundlePath);
+
+ // when the origin is not the same, it means we are loading a remote container
+ // we can return early since dependencies are processed differently for entry bundles
+ if (!isSameOrigin(bundlePath, publicPath)) {
+ return result;
+ }
+
+ // at this point the code in the bundle has been evaluated
+ // but not yet executed through metroRequire
+ // note: at this point, public path is always defined
+ const bundleId = getBundleId(bundlePath, publicPath!);
+ const shared = scope.deps.shared[bundleId];
+ const remotes = scope.deps.remotes[bundleId];
+
+ const promises = [];
+ if (shared && shared.length > 0) {
+ // load shared used synchronously in the bundle
+ promises.push(...shared.map(registry.loadSharedToRegistry));
+ }
+ if (remotes && remotes.length > 0) {
+ // load remotes used synchronously in the bundle
+ promises.push(...remotes.map(registry.loadRemoteToRegistry));
+ }
+
+ await Promise.all(promises);
+
+ return result;
+ };
+}
+
+// load expo async require if outside expo
+if (!process.env.EXPO_OS) {
+ // @expo/metro-runtime/src/async-require/fetchAsync.native.ts requires
+ // process.env.EXPO_OS to be set but since expo is optional, we set it
+ // to an empty string as a fallback to prevent reference errors
+ process.env.EXPO_OS = '';
+
+ const {
+ buildAsyncRequire,
+ } = require('@expo/metro-runtime/src/async-require/buildAsyncRequire');
+
+ // @ts-expect-error dynamic key access on global object
+ global[`${__METRO_GLOBAL_PREFIX__}__loadBundleAsync`] = buildAsyncRequire();
+}
+
+// @ts-expect-error dynamic key access on global object
+global[`${__METRO_GLOBAL_PREFIX__}__loadBundleAsync`] =
+ buildLoadBundleAsyncWrapper();
diff --git a/packages/metro-core/src/modules/asyncStartup.tsx b/packages/metro-core/src/modules/asyncStartup.tsx
new file mode 100644
index 0000000000..1864ce7a8c
--- /dev/null
+++ b/packages/metro-core/src/modules/asyncStartup.tsx
@@ -0,0 +1,38 @@
+import type { Federation } from '@module-federation/runtime';
+import React from 'react';
+
+declare global {
+ var __DEV__: boolean;
+ var __METRO_GLOBAL_PREFIX__: string;
+ var __FUSEBOX_HAS_FULL_CONSOLE_SUPPORT__: boolean;
+ var __loadBundleAsync: (entry: string) => Promise;
+ var __FEDERATION__: Federation;
+}
+
+type LazyComponent = { default: React.ComponentType };
+
+function getFallbackComponent(lazyFallbackFn?: () => LazyComponent) {
+ if (!lazyFallbackFn) return () => null;
+ const fallback = lazyFallbackFn();
+ return fallback.default;
+}
+
+export function withAsyncStartup(
+ lazyAppFn: () => LazyComponent,
+ lazyFallbackFn?: () => LazyComponent,
+): () => () => React.JSX.Element {
+ const AppComponent = React.lazy(async () => {
+ await globalThis.__FEDERATION__.__NATIVE__[__METRO_GLOBAL_PREFIX__].init;
+ return lazyAppFn();
+ });
+
+ const FallbackComponent = getFallbackComponent(lazyFallbackFn);
+
+ return () => () => {
+ return (
+ }>
+
+
+ );
+ };
+}
diff --git a/packages/metro-core/src/modules/getDevServer.ts b/packages/metro-core/src/modules/getDevServer.ts
new file mode 100644
index 0000000000..f33003b0d7
--- /dev/null
+++ b/packages/metro-core/src/modules/getDevServer.ts
@@ -0,0 +1,15 @@
+export default function getDevServer() {
+ const scriptUrl =
+ globalThis.__FEDERATION__.__NATIVE__[__METRO_GLOBAL_PREFIX__].origin;
+
+ if (!scriptUrl) {
+ throw new Error(
+ `Cannot determine dev server URL for ${__METRO_GLOBAL_PREFIX__} remote`,
+ );
+ }
+
+ return {
+ url: scriptUrl.match(/^https?:\/\/.*?\//)![0],
+ fullBundleUrl: scriptUrl,
+ };
+}
diff --git a/packages/metro-core/src/modules/metroCorePlugin.ts b/packages/metro-core/src/modules/metroCorePlugin.ts
new file mode 100644
index 0000000000..bcf02acc24
--- /dev/null
+++ b/packages/metro-core/src/modules/metroCorePlugin.ts
@@ -0,0 +1,83 @@
+import type {
+ Federation,
+ FederationRuntimePlugin,
+} from '@module-federation/runtime';
+
+declare global {
+ var __DEV__: boolean;
+ var __METRO_GLOBAL_PREFIX__: string;
+ var __FUSEBOX_HAS_FULL_CONSOLE_SUPPORT__: boolean;
+ var __loadBundleAsync: (entry: string) => Promise;
+ var __FEDERATION__: Federation;
+}
+
+const getQueryParams = () => {
+ const isFuseboxEnabled = !!globalThis.__FUSEBOX_HAS_FULL_CONSOLE_SUPPORT__;
+ const queryParams: Record = {
+ platform: require('react-native').Platform.OS,
+ dev: 'true',
+ lazy: 'true',
+ minify: 'false',
+ runModule: 'true',
+ modulesOnly: 'false',
+ };
+
+ if (isFuseboxEnabled) {
+ queryParams.excludeSource = 'true';
+ queryParams.sourcePaths = 'url-server';
+ }
+
+ return new URLSearchParams(queryParams);
+};
+
+const buildUrlForEntryBundle = (entry: string) => {
+ if (__DEV__) {
+ return `${entry}?${getQueryParams().toString()}`;
+ }
+ return entry;
+};
+
+const MetroCorePlugin: () => FederationRuntimePlugin = () => ({
+ name: 'metro-core-plugin',
+ loadEntry: async ({ remoteInfo }) => {
+ const { entry, entryGlobalName } = remoteInfo;
+
+ const __loadBundleAsync =
+ // @ts-expect-error dynamic key access on global object
+ globalThis[`${__METRO_GLOBAL_PREFIX__ ?? ''}__loadBundleAsync`];
+
+ const loadBundleAsync =
+ __loadBundleAsync as typeof globalThis.__loadBundleAsync;
+
+ if (!loadBundleAsync) {
+ throw new Error('loadBundleAsync is not defined');
+ }
+
+ try {
+ const entryUrl = buildUrlForEntryBundle(entry);
+ await loadBundleAsync(entryUrl);
+
+ if (!globalThis.__FEDERATION__.__NATIVE__[entryGlobalName]) {
+ throw new Error(`Remote entry ${entryGlobalName} failed to register.`);
+ }
+
+ globalThis.__FEDERATION__.__NATIVE__[entryGlobalName].origin = entryUrl;
+
+ return globalThis.__FEDERATION__.__NATIVE__[entryGlobalName].exports;
+ } catch (error) {
+ throw new Error(
+ `Failed to load remote entry: ${entryGlobalName}. Reason: ${error}`,
+ );
+ }
+ },
+ generatePreloadAssets: async () => {
+ // noop for compatibility
+ return Promise.resolve({
+ cssAssets: [],
+ jsAssetsWithoutEntry: [],
+ entryAssets: [],
+ });
+ },
+});
+
+export default MetroCorePlugin;
diff --git a/packages/metro-core/src/plugin/babel-transformer.ts b/packages/metro-core/src/plugin/babel-transformer.ts
new file mode 100644
index 0000000000..ecd1723b53
--- /dev/null
+++ b/packages/metro-core/src/plugin/babel-transformer.ts
@@ -0,0 +1,50 @@
+import fs from 'node:fs';
+import path from 'node:path';
+import type { ModuleFederationConfigNormalized } from '../types';
+
+interface CreateBabelTransformerOptions {
+ blacklistedPaths: string[];
+ federationConfig: ModuleFederationConfigNormalized;
+ originalBabelTransformerPath: string;
+ tmpDirPath: string;
+ enableInitializeCorePatching: boolean;
+ enableRuntimeRequirePatching: boolean;
+}
+
+export function createBabelTransformer({
+ blacklistedPaths,
+ federationConfig,
+ originalBabelTransformerPath,
+ tmpDirPath,
+ enableInitializeCorePatching,
+ enableRuntimeRequirePatching,
+}: CreateBabelTransformerOptions) {
+ const outputPath = path.join(tmpDirPath, 'babel-transformer.js');
+ const templatePath = require.resolve('../babel/transformer.js');
+ const transformerTemplate = fs.readFileSync(templatePath, 'utf-8');
+
+ const plugins = [
+ [
+ '@module-federation/metro/babel-plugin',
+ {
+ blacklistedPaths,
+ remotes: federationConfig.remotes,
+ shared: federationConfig.shared,
+ },
+ ],
+ enableInitializeCorePatching
+ ? '@module-federation/metro/babel-plugin/patch-initialize-core'
+ : undefined,
+ enableRuntimeRequirePatching
+ ? '@module-federation/metro/babel-plugin/patch-require'
+ : undefined,
+ ].filter(Boolean);
+
+ const babelTransformer = transformerTemplate
+ .replaceAll('__BABEL_TRANSFORMER_PATH__', originalBabelTransformerPath)
+ .replaceAll('__BABEL_PLUGINS__', JSON.stringify(plugins));
+
+ fs.writeFileSync(outputPath, babelTransformer, 'utf-8');
+
+ return outputPath;
+}
diff --git a/packages/metro-core/src/plugin/constants.ts b/packages/metro-core/src/plugin/constants.ts
new file mode 100644
index 0000000000..19324b0b12
--- /dev/null
+++ b/packages/metro-core/src/plugin/constants.ts
@@ -0,0 +1,18 @@
+// internal module names
+export const INIT_HOST = 'mf:init-host';
+export const ASYNC_REQUIRE = 'mf:async-require';
+export const REMOTE_MODULE_REGISTRY = 'mf:remote-module-registry';
+export const REMOTE_HMR_SETUP = 'mf:remote-hmr';
+
+// defaults
+export const DEFAULT_ENTRY_FILENAME = 'remoteEntry.bundle';
+
+// internal React Native modules
+export const GET_DEV_SERVER_REGEX =
+ /react-native\/Libraries\/Core\/Devtools\/getDevServer\.js$/;
+export const HMR_CLIENT_REGEX =
+ /react-native\/Libraries\/Utilities\/HMRClient\.js$/;
+
+// other
+export const TMP_DIR_NAME = '.mf-metro';
+export const MANIFEST_FILENAME = 'mf-manifest.json';
diff --git a/packages/metro-core/src/plugin/generators.ts b/packages/metro-core/src/plugin/generators.ts
new file mode 100644
index 0000000000..809f95fbcd
--- /dev/null
+++ b/packages/metro-core/src/plugin/generators.ts
@@ -0,0 +1,158 @@
+import fs from 'node:fs';
+import path from 'node:path';
+import type { ModuleFederationConfigNormalized, SharedConfig } from '../types';
+
+export function getRemoteModule(name: string) {
+ const template = getModuleTemplate('remote-module.js');
+ return template.replaceAll('__MODULE_ID__', `"${name}"`);
+}
+
+export function getHostEntryModule(
+ _: ModuleFederationConfigNormalized,
+ paths: { originalEntry: string; tmpDir: string },
+) {
+ const template = getModuleTemplate('host-entry.js');
+ return template.replaceAll(
+ '__ENTRYPOINT_IMPORT__',
+ `import './${path.relative(paths.tmpDir, paths.originalEntry)}'`,
+ );
+}
+
+export function getInitHostModule(options: ModuleFederationConfigNormalized) {
+ const template = getModuleTemplate('init-host.js');
+ return template
+ .replaceAll('__NAME__', JSON.stringify(options.name))
+ .replaceAll('__REMOTES__', generateRemotes(options.remotes))
+ .replaceAll('__SHARED__', generateShared(options))
+ .replaceAll('__SHARE_STRATEGY__', JSON.stringify(options.shareStrategy))
+ .replaceAll('__PLUGINS__', generateRuntimePlugins(options.plugins));
+}
+
+export function getRemoteEntryModule(
+ options: ModuleFederationConfigNormalized,
+ paths: { tmpDir: string; projectDir: string },
+) {
+ const template = getModuleTemplate('remote-entry.js');
+ return template
+ .replaceAll('__NAME__', JSON.stringify(options.name))
+ .replaceAll('__EXPOSES_MAP__', generateExposes(options.exposes, paths))
+ .replaceAll('__REMOTES__', generateRemotes(options.remotes))
+ .replaceAll('__SHARED__', generateShared(options))
+ .replaceAll('__SHARE_STRATEGY__', JSON.stringify(options.shareStrategy))
+ .replaceAll('__PLUGINS__', generateRuntimePlugins(options.plugins));
+}
+
+export function getRemoteModuleRegistryModule() {
+ const template = getModuleTemplate('remote-module-registry.js');
+ return template.replaceAll(
+ '__EARLY_MODULE_TEST__',
+ '/^react(-native(\\/|$)|$)/',
+ );
+}
+
+export function getRemoteHMRSetupModule() {
+ const template = getModuleTemplate('remote-hmr.js');
+ return template;
+}
+
+function generateExposes(
+ exposes: Record,
+ paths: { tmpDir: string; projectDir: string },
+) {
+ const exposesString = Object.keys(exposes).map((key) => {
+ const importPath = path.join(paths.projectDir, exposes[key]);
+ const relativeImportPath = path.relative(paths.tmpDir, importPath);
+ return `"${key}": async () => import("${relativeImportPath}")`;
+ });
+
+ return `{${exposesString.join(',')}}`;
+}
+
+function generateRuntimePlugins(runtimePlugins: string[]) {
+ const pluginNames: string[] = [];
+ const pluginImports: string[] = [];
+
+ runtimePlugins.forEach((plugin, index) => {
+ const pluginName = `plugin${index}`;
+ pluginNames.push(`${pluginName}()`);
+ pluginImports.push(`import ${pluginName} from "${plugin}";`);
+ });
+
+ const imports = pluginImports.join('\n');
+ const plugins = `const plugins = [${pluginNames.join(', ')}];`;
+
+ return `${imports}\n${plugins}`;
+}
+
+function generateRemotes(remotes: Record = {}) {
+ const remotesEntries: string[] = [];
+ for (const [remoteAlias, remoteEntry] of Object.entries(remotes)) {
+ const remoteEntryParts = remoteEntry.split('@');
+ const remoteName = remoteEntryParts[0];
+ const remoteEntryUrl = remoteEntryParts.slice(1).join('@');
+
+ remotesEntries.push(
+ `{
+ alias: "${remoteAlias}",
+ name: "${remoteName}",
+ entry: "${remoteEntryUrl}",
+ entryGlobalName: "${remoteName}",
+ type: "var"
+ }`,
+ );
+ }
+
+ return `[${remotesEntries.join(',\n')}]`;
+}
+
+function generateShared(options: ModuleFederationConfigNormalized) {
+ const shared = Object.keys(options.shared).reduce(
+ (acc, name) => {
+ acc[name] = `__SHARED_${name}__`;
+ return acc;
+ },
+ {} as Record,
+ );
+
+ let sharedString = JSON.stringify(shared);
+ for (const name of Object.keys(options.shared)) {
+ const sharedConfig = options.shared[name];
+ const entry = getSharedModuleEntry(name, sharedConfig);
+ sharedString = sharedString.replaceAll(`"__SHARED_${name}__"`, entry);
+ }
+
+ return sharedString;
+}
+
+function getSharedModuleEntry(name: string, options: SharedConfig) {
+ const template = {
+ version: options.version,
+ scope: 'default',
+ shareConfig: {
+ singleton: options.singleton,
+ eager: options.eager,
+ requiredVersion: options.requiredVersion,
+ },
+ get: options.eager
+ ? '__GET_SYNC_PLACEHOLDER__'
+ : '__GET_ASYNC_PLACEHOLDER__',
+ };
+
+ const templateString = JSON.stringify(template);
+
+ return templateString
+ .replaceAll('"__GET_SYNC_PLACEHOLDER__"', `() => () => require("${name}")`)
+ .replaceAll(
+ '"__GET_ASYNC_PLACEHOLDER__"',
+ `async () => import("${name}").then((m) => () => m)`,
+ );
+}
+
+function resolveRuntimeModule(moduleName: string): string {
+ return require.resolve(`../runtime/${moduleName}`);
+}
+
+function getModuleTemplate(moduleName: string) {
+ const templatePath = resolveRuntimeModule(moduleName);
+ return fs.readFileSync(templatePath, 'utf-8');
+}
diff --git a/packages/metro-core/src/plugin/helpers.ts b/packages/metro-core/src/plugin/helpers.ts
new file mode 100644
index 0000000000..46b3fdf405
--- /dev/null
+++ b/packages/metro-core/src/plugin/helpers.ts
@@ -0,0 +1,42 @@
+import fs from 'node:fs';
+import path from 'node:path';
+import { TMP_DIR_NAME } from './constants';
+
+export function isUsingMFCommand(command = process.argv[2]) {
+ const allowedCommands = ['start', 'bundle-mf-host', 'bundle-mf-remote'];
+ return allowedCommands.includes(command);
+}
+
+export function isUsingMFBundleCommand(command = process.argv[2]) {
+ const allowedCommands = ['bundle-mf-host', 'bundle-mf-remote'];
+ return allowedCommands.includes(command);
+}
+
+export function replaceExtension(filepath: string, extension: string) {
+ const { dir, name } = path.parse(filepath);
+ return path.format({ dir, name, ext: extension });
+}
+
+export function removeExtension(filepath: string) {
+ return replaceExtension(filepath, '');
+}
+
+export function stubHostEntry(hostEntryPath: string) {
+ const stub = '// host entry stub';
+ fs.mkdirSync(path.dirname(hostEntryPath), { recursive: true });
+ fs.writeFileSync(hostEntryPath, stub, 'utf-8');
+}
+
+export function stubRemoteEntry(remoteEntryPath: string) {
+ const stub = '// remote entry stub';
+ fs.mkdirSync(path.dirname(remoteEntryPath), { recursive: true });
+ fs.writeFileSync(remoteEntryPath, stub, 'utf-8');
+}
+
+export function prepareTmpDir(projectRootPath: string) {
+ const nodeModulesPath = path.resolve(projectRootPath, 'node_modules');
+ const tmpDirPath = path.join(nodeModulesPath, TMP_DIR_NAME);
+ fs.rmSync(tmpDirPath, { recursive: true, force: true });
+ fs.mkdirSync(tmpDirPath, { recursive: true });
+ return tmpDirPath;
+}
diff --git a/packages/metro-core/src/plugin/index.ts b/packages/metro-core/src/plugin/index.ts
new file mode 100644
index 0000000000..90f04d97d9
--- /dev/null
+++ b/packages/metro-core/src/plugin/index.ts
@@ -0,0 +1,216 @@
+import path from 'node:path';
+import util from 'node:util';
+import type { ConfigT } from 'metro-config';
+import type {
+ ModuleFederationConfig,
+ ModuleFederationConfigNormalized,
+ ModuleFederationExtraOptions,
+} from '../types';
+import { VirtualModuleManager } from '../utils';
+import { createBabelTransformer } from './babel-transformer';
+import {
+ isUsingMFBundleCommand,
+ isUsingMFCommand,
+ prepareTmpDir,
+ replaceExtension,
+ stubHostEntry,
+ stubRemoteEntry,
+} from './helpers';
+import { createManifest } from './manifest';
+import { normalizeExtraOptions } from './normalize-extra-options';
+import { normalizeOptions } from './normalize-options';
+import { createResolveRequest } from './resolver';
+import { createRewriteRequest } from './rewrite-request';
+import { getModuleFederationSerializer } from './serializer';
+import { validateOptions } from './validate-options';
+
+declare global {
+ var __METRO_FEDERATION_CONFIG: ModuleFederationConfigNormalized;
+ var __METRO_FEDERATION_ORIGINAL_ENTRY_PATH: string | undefined;
+ var __METRO_FEDERATION_REMOTE_ENTRY_PATH: string | undefined;
+ var __METRO_FEDERATION_MANIFEST_PATH: string | undefined;
+}
+
+export function withModuleFederation(
+ config: ConfigT,
+ federationOptions: ModuleFederationConfig,
+ extraOptions?: ModuleFederationExtraOptions,
+): ConfigT {
+ if (isUsingMFCommand()) {
+ return augmentConfig(config, federationOptions, extraOptions);
+ }
+
+ console.warn(
+ util.styleText(
+ 'yellow',
+ 'Warning: Module Federation build is disabled for this command.\n',
+ ) +
+ util.styleText(
+ 'yellow',
+ 'To enable Module Federation, please use one of the dedicated bundle commands:\n',
+ ) +
+ ` ${util.styleText('dim', '•')} bundle-mf-host` +
+ util.styleText('dim', ' - for bundling a host application\n') +
+ ` ${util.styleText('dim', '•')} bundle-mf-remote` +
+ util.styleText('dim', ' - for bundling a remote application\n'),
+ );
+
+ return config;
+}
+
+function augmentConfig(
+ config: ConfigT,
+ federationOptions: ModuleFederationConfig,
+ extraOptions?: ModuleFederationExtraOptions,
+): ConfigT {
+ const isHost = !federationOptions.exposes;
+ const isRemote = !isHost;
+
+ const tmpDirPath = prepareTmpDir(config.projectRoot);
+
+ validateOptions(federationOptions);
+
+ const options = normalizeOptions(federationOptions, {
+ projectRoot: config.projectRoot,
+ tmpDirPath,
+ });
+
+ const { flags } = normalizeExtraOptions(extraOptions);
+
+ const vmManager = new VirtualModuleManager(config);
+
+ // original host entrypoint, usually /index.js
+ const { originalEntryFilename, originalEntryPath } = getOriginalEntry(
+ config.projectRoot,
+ 'index.js',
+ );
+
+ // virtual host entrypoint
+ const hostEntryFilename = originalEntryFilename;
+ const hostEntryPath = path.resolve(tmpDirPath, hostEntryFilename);
+
+ // virtual remote entrypoint
+ const remoteEntryFilename = replaceExtension(options.filename, '.js');
+ const remoteEntryPath = path.resolve(tmpDirPath, remoteEntryFilename);
+
+ // other virtual modules
+ const initHostPath = path.resolve(tmpDirPath, 'init-host.js');
+ const remoteHMRSetupPath = path.resolve(tmpDirPath, 'remote-hmr.js');
+ const remoteModuleRegistryPath = path.resolve(
+ tmpDirPath,
+ 'remote-module-registry.js',
+ );
+
+ const asyncRequirePath = require.resolve('../modules/asyncRequire.ts');
+
+ const babelTransformerPath = createBabelTransformer({
+ blacklistedPaths: [initHostPath, remoteEntryPath],
+ federationConfig: options,
+ originalBabelTransformerPath: config.transformer.babelTransformerPath,
+ tmpDirPath: tmpDirPath,
+ enableInitializeCorePatching: flags.unstable_patchInitializeCore,
+ enableRuntimeRequirePatching: flags.unstable_patchRuntimeRequire,
+ });
+
+ const manifestPath = createManifest(options, tmpDirPath);
+
+ // host and remote entries are entry points, so they need to be present in the filesystem
+ // we create stubs on the filesystem and then redirect corresponding virtual modules
+ stubHostEntry(hostEntryPath);
+ stubRemoteEntry(remoteEntryPath);
+
+ // pass data to bundle-mf-remote command
+ global.__METRO_FEDERATION_CONFIG = options;
+ global.__METRO_FEDERATION_HOST_ENTRY_PATH = hostEntryPath;
+ global.__METRO_FEDERATION_REMOTE_ENTRY_PATH = remoteEntryPath;
+ global.__METRO_FEDERATION_MANIFEST_PATH = manifestPath;
+
+ return {
+ ...config,
+ serializer: {
+ ...config.serializer,
+ customSerializer: getModuleFederationSerializer(
+ options,
+ isUsingMFBundleCommand(),
+ ),
+ getModulesRunBeforeMainModule: (entryFilePath) => {
+ // skip altering the list of modules when unstable_patchInitializeCore is enabled
+ if (flags.unstable_patchInitializeCore) {
+ return config.serializer.getModulesRunBeforeMainModule(entryFilePath);
+ }
+ // remove existing pre-modules like InitializeCore for remote entrypoints
+ if (isRemote) {
+ return [];
+ }
+ // prepend init-host to the list of modules to ensure it's run first
+ return [
+ initHostPath,
+ ...config.serializer.getModulesRunBeforeMainModule(entryFilePath),
+ ];
+ },
+ getRunModuleStatement: (moduleId: number | string) => {
+ return `${options.name}__r(${JSON.stringify(moduleId)});`;
+ },
+ getPolyfills: (options) => {
+ return isHost ? config.serializer.getPolyfills(options) : [];
+ },
+ },
+ transformer: {
+ ...config.transformer,
+ globalPrefix: options.name,
+ babelTransformerPath: babelTransformerPath,
+ getTransformOptions: vmManager.getTransformOptions(),
+ },
+ resolver: {
+ ...config.resolver,
+ resolveRequest: createResolveRequest({
+ isRemote,
+ vmManager,
+ options,
+ paths: {
+ asyncRequire: asyncRequirePath,
+ originalEntry: originalEntryPath,
+ hostEntry: hostEntryPath,
+ initHost: initHostPath,
+ remoteModuleRegistry: remoteModuleRegistryPath,
+ remoteHMRSetup: remoteHMRSetupPath,
+ remoteEntry: remoteEntryPath,
+ projectDir: config.projectRoot,
+ tmpDir: tmpDirPath,
+ },
+ hacks: {
+ patchHMRClient: flags.unstable_patchHMRClient,
+ patchInitializeCore: flags.unstable_patchInitializeCore,
+ },
+ }),
+ },
+ server: {
+ ...config.server,
+ enhanceMiddleware: vmManager.getMiddleware(),
+ rewriteRequestUrl: createRewriteRequest({
+ config,
+ originalEntryFilename,
+ remoteEntryFilename,
+ manifestPath,
+ tmpDirPath,
+ }),
+ },
+ };
+}
+
+function getOriginalEntry(
+ projectRoot: string,
+ entryFilename: string,
+): {
+ originalEntryFilename: string;
+ originalEntryPath: string;
+} {
+ const originalEntryFilename = path.basename(
+ global.__METRO_FEDERATION_ORIGINAL_ENTRY_PATH ?? entryFilename,
+ );
+ const originalEntryPath = path.resolve(
+ projectRoot,
+ global.__METRO_FEDERATION_ORIGINAL_ENTRY_PATH ?? entryFilename,
+ );
+ return { originalEntryFilename, originalEntryPath };
+}
diff --git a/packages/metro-core/src/plugin/manifest.ts b/packages/metro-core/src/plugin/manifest.ts
new file mode 100644
index 0000000000..52ef7a0dc1
--- /dev/null
+++ b/packages/metro-core/src/plugin/manifest.ts
@@ -0,0 +1,128 @@
+import fs from 'node:fs';
+import path from 'node:path';
+import type { Manifest, StatsAssets } from '@module-federation/sdk';
+import type { ModuleFederationConfigNormalized } from '../types';
+import { MANIFEST_FILENAME } from './constants';
+
+export function createManifest(
+ options: ModuleFederationConfigNormalized,
+ mfMetroPath: string,
+) {
+ const manifestPath = path.join(mfMetroPath, MANIFEST_FILENAME);
+ const manifest = generateManifest(options);
+ fs.writeFileSync(manifestPath, JSON.stringify(manifest, undefined, 2));
+ return manifestPath;
+}
+
+export const updateManifest = (
+ manifestPath: string,
+ options: ModuleFederationConfigNormalized,
+): string => {
+ const manifest = generateManifest(options);
+ fs.writeFileSync(manifestPath, JSON.stringify(manifest, undefined, 2));
+ return manifestPath;
+};
+
+function generateManifest(config: ModuleFederationConfigNormalized): Manifest {
+ return {
+ id: config.name,
+ name: config.name,
+ metaData: generateMetaData(config),
+ exposes: generateExposes(config),
+ remotes: generateRemotes(config),
+ shared: generateShared(config),
+ };
+}
+
+function generateMetaData(
+ config: ModuleFederationConfigNormalized,
+): Manifest['metaData'] {
+ return {
+ name: config.name,
+ type: 'app',
+ buildInfo: {
+ buildVersion: '1.0.0',
+ buildName: config.name,
+ },
+ remoteEntry: {
+ name: config.filename,
+ path: '',
+ type: 'global',
+ },
+ types: {
+ path: '',
+ name: '',
+ api: '',
+ zip: '',
+ },
+ globalName: config.name,
+ pluginVersion: '',
+ publicPath: 'auto',
+ };
+}
+
+function generateExposes(
+ config: ModuleFederationConfigNormalized,
+): Manifest['exposes'] {
+ return Object.keys(config.exposes).map((expose) => {
+ const formatKey = expose.replace('./', '');
+ const assets = getEmptyAssets();
+
+ assets.js.sync.push(config.exposes[expose]);
+
+ return {
+ id: `${config.name}:${formatKey}`,
+ name: formatKey,
+ path: expose,
+ assets,
+ };
+ });
+}
+
+function generateRemotes(
+ config: ModuleFederationConfigNormalized,
+): Manifest['remotes'] {
+ return Object.keys(config.remotes).map((remote) => ({
+ federationContainerName: config.remotes[remote],
+ moduleName: remote,
+ alias: remote,
+ entry: '*',
+ }));
+}
+
+function generateShared(
+ config: ModuleFederationConfigNormalized,
+): Manifest['shared'] {
+ return Object.keys(config.shared).map((sharedName) => {
+ const assets = getEmptyAssets();
+
+ if (config.shared[sharedName].eager) {
+ assets.js.sync.push(config.filename);
+ } else if (config.shared[sharedName].import !== false) {
+ assets.js.sync.push(`shared/${sharedName}.bundle`);
+ }
+
+ return {
+ id: sharedName,
+ name: sharedName,
+ version: config.shared[sharedName].version,
+ requiredVersion: config.shared[sharedName].requiredVersion,
+ singleton: config.shared[sharedName].singleton,
+ hash: '',
+ assets,
+ };
+ });
+}
+
+function getEmptyAssets(): StatsAssets {
+ return {
+ js: {
+ sync: [],
+ async: [],
+ },
+ css: {
+ sync: [],
+ async: [],
+ },
+ };
+}
diff --git a/packages/metro-core/src/plugin/normalize-extra-options.ts b/packages/metro-core/src/plugin/normalize-extra-options.ts
new file mode 100644
index 0000000000..7e800ec4a8
--- /dev/null
+++ b/packages/metro-core/src/plugin/normalize-extra-options.ts
@@ -0,0 +1,15 @@
+import type { ModuleFederationExtraOptions } from '../types';
+
+export function normalizeExtraOptions(
+ extraOptions?: ModuleFederationExtraOptions,
+) {
+ return {
+ ...extraOptions,
+ flags: {
+ unstable_patchHMRClient: false,
+ unstable_patchInitializeCore: false,
+ unstable_patchRuntimeRequire: false,
+ ...extraOptions?.flags,
+ },
+ };
+}
diff --git a/packages/metro-core/src/plugin/normalize-options.ts b/packages/metro-core/src/plugin/normalize-options.ts
new file mode 100644
index 0000000000..57c0ca090f
--- /dev/null
+++ b/packages/metro-core/src/plugin/normalize-options.ts
@@ -0,0 +1,91 @@
+import fs from 'node:fs';
+import path from 'node:path';
+import type {
+ ModuleFederationConfig,
+ ModuleFederationConfigNormalized,
+ Shared,
+} from '../types';
+import { DEFAULT_ENTRY_FILENAME } from './constants';
+
+interface ProjectConfig {
+ projectRoot: string;
+ tmpDirPath: string;
+}
+
+export function normalizeOptions(
+ options: ModuleFederationConfig,
+ { projectRoot, tmpDirPath }: ProjectConfig,
+): ModuleFederationConfigNormalized {
+ const shared = getNormalizedShared(options, projectRoot);
+ const shareStrategy = getNormalizedShareStrategy(options);
+ const plugins = getNormalizedPlugins(options, tmpDirPath);
+
+ return {
+ name: options.name,
+ filename: options.filename ?? DEFAULT_ENTRY_FILENAME,
+ remotes: options.remotes ?? {},
+ exposes: options.exposes ?? {},
+ shared,
+ shareStrategy,
+ plugins,
+ };
+}
+
+function getNormalizedShared(
+ options: ModuleFederationConfig,
+ projectRoot: string,
+): Shared {
+ const pkg = getProjectPackageJson(projectRoot);
+ const shared = options.shared ?? {};
+
+ // force all shared modules in host to be eager
+ if (!options.exposes) {
+ for (const sharedName of Object.keys(shared)) {
+ shared[sharedName].eager = true;
+ }
+ }
+
+ // default requiredVersion
+ for (const sharedName of Object.keys(shared)) {
+ if (!shared[sharedName].requiredVersion) {
+ shared[sharedName].requiredVersion =
+ pkg.dependencies?.[sharedName] || pkg.devDependencies?.[sharedName];
+ }
+ }
+
+ // auto-include `react-native/Libraries/Network/RCTNetworking`
+ if (!shared['react-native/Libraries/Network/RCTNetworking']) {
+ const reactNativeSharedConfig = shared['react-native'];
+ // use the same config as `react-native`
+ shared['react-native/Libraries/Network/RCTNetworking'] =
+ reactNativeSharedConfig;
+ }
+
+ return shared;
+}
+
+function getNormalizedShareStrategy(options: ModuleFederationConfig) {
+ // this is different from the default share strategy in mf-core
+ // it makes more sense to have loaded-first as default on mobile
+ // in order to avoid longer TTI upon app startup
+ return options.shareStrategy ?? 'loaded-first';
+}
+
+function getNormalizedPlugins(
+ options: ModuleFederationConfig,
+ tmpDirPath: string,
+) {
+ const plugins = options.plugins ?? [];
+ // auto-inject 'metro-core-plugin' runtime plugin
+ plugins.unshift(require.resolve('../modules/metroCorePlugin.ts'));
+ // make paths relative to the tmp dir
+ return plugins.map((pluginPath) => path.relative(tmpDirPath, pluginPath));
+}
+
+function getProjectPackageJson(projectRoot: string): {
+ dependencies?: Record;
+ devDependencies?: Record;
+} {
+ const packageJsonPath = path.join(projectRoot, 'package.json');
+ return JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
+}
diff --git a/packages/metro-core/src/plugin/resolver.ts b/packages/metro-core/src/plugin/resolver.ts
new file mode 100644
index 0000000000..1d47f07220
--- /dev/null
+++ b/packages/metro-core/src/plugin/resolver.ts
@@ -0,0 +1,222 @@
+import path from 'node:path';
+import type { CustomResolver, Resolution } from 'metro-resolver';
+import type { ModuleFederationConfigNormalized } from '../types';
+import type { VirtualModuleManager } from '../utils';
+import {
+ ASYNC_REQUIRE,
+ GET_DEV_SERVER_REGEX,
+ HMR_CLIENT_REGEX,
+ INIT_HOST,
+ REMOTE_HMR_SETUP,
+ REMOTE_MODULE_REGISTRY,
+} from './constants';
+import {
+ getHostEntryModule,
+ getInitHostModule,
+ getRemoteEntryModule,
+ getRemoteHMRSetupModule,
+ getRemoteModule,
+ getRemoteModuleRegistryModule,
+} from './generators';
+import { isUsingMFBundleCommand, removeExtension } from './helpers';
+
+interface CreateResolveRequestOptions {
+ isRemote: boolean;
+ hacks: {
+ patchHMRClient: boolean;
+ patchInitializeCore: boolean;
+ };
+ paths: {
+ asyncRequire: string;
+ hostEntry: string;
+ initHost: string;
+ originalEntry: string;
+ remoteEntry: string;
+ remoteHMRSetup: string;
+ remoteModuleRegistry: string;
+ projectDir: string;
+ tmpDir: string;
+ };
+ options: ModuleFederationConfigNormalized;
+ vmManager: VirtualModuleManager;
+}
+
+export function createResolveRequest({
+ vmManager,
+ options,
+ hacks,
+ paths,
+ isRemote,
+}: CreateResolveRequestOptions): CustomResolver {
+ const hostEntryPathRegex = getEntryPathRegex({
+ entry: paths.hostEntry,
+ projectDir: paths.projectDir,
+ });
+ const remoteEntryPathRegex = getEntryPathRegex({
+ entry: paths.remoteEntry,
+ projectDir: paths.projectDir,
+ });
+
+ return function resolveRequest(context, moduleName, platform) {
+ // virtual entrypoint for host
+ if (moduleName.match(hostEntryPathRegex)) {
+ const hostEntryGenerator = () =>
+ getHostEntryModule(options, {
+ originalEntry: paths.originalEntry,
+ tmpDir: paths.tmpDir,
+ });
+ vmManager.registerVirtualModule(paths.hostEntry, hostEntryGenerator);
+ return { type: 'sourceFile', filePath: paths.hostEntry };
+ }
+
+ // virtual entrypoint for remote containers
+ if (moduleName.match(remoteEntryPathRegex)) {
+ const remoteEntryGenerator = () =>
+ getRemoteEntryModule(options, {
+ tmpDir: paths.tmpDir,
+ projectDir: paths.projectDir,
+ });
+ vmManager.registerVirtualModule(paths.remoteEntry, remoteEntryGenerator);
+ return { type: 'sourceFile', filePath: paths.remoteEntry };
+ }
+
+ // virtual module: init-host
+ if (moduleName === INIT_HOST) {
+ const initHostGenerator = () => getInitHostModule(options);
+ vmManager.registerVirtualModule(paths.initHost, initHostGenerator);
+ return { type: 'sourceFile', filePath: paths.initHost };
+ }
+
+ // virtual module: remote-module-registry
+ if (moduleName === REMOTE_MODULE_REGISTRY) {
+ const registryGenerator = () => getRemoteModuleRegistryModule();
+ vmManager.registerVirtualModule(
+ paths.remoteModuleRegistry,
+ registryGenerator,
+ );
+ return { type: 'sourceFile', filePath: paths.remoteModuleRegistry };
+ }
+
+ // virtual module: remote-hmr
+ if (moduleName === REMOTE_HMR_SETUP) {
+ const remoteHMRSetupGenerator = () => getRemoteHMRSetupModule();
+ vmManager.registerVirtualModule(
+ paths.remoteHMRSetup,
+ remoteHMRSetupGenerator,
+ );
+ return { type: 'sourceFile', filePath: paths.remoteHMRSetup as string };
+ }
+
+ // module: async-require
+ if (moduleName === ASYNC_REQUIRE) {
+ return { type: 'sourceFile', filePath: paths.asyncRequire };
+ }
+
+ // shared modules handling in init-host.js
+ if ([paths.initHost].includes(context.originModulePath)) {
+ // init-host contains definition of shared modules so we need to prevent
+ // circular import of shared module, by allowing import shared dependencies directly
+ return context.resolveRequest(context, moduleName, platform);
+ }
+
+ // shared modules handling in remote-entry.js
+ if ([paths.remoteEntry].includes(context.originModulePath)) {
+ const sharedModule = options.shared[moduleName];
+ // import: false means that the module is marked as external
+ if (sharedModule && sharedModule.import === false) {
+ const sharedPath = getSharedPath(moduleName, paths.tmpDir);
+ return { type: 'sourceFile', filePath: sharedPath };
+ }
+ return context.resolveRequest(context, moduleName, platform);
+ }
+
+ // remote modules
+ for (const remoteName of Object.keys(options.remotes)) {
+ if (moduleName.startsWith(remoteName + '/')) {
+ const remotePath = getRemoteModulePath(moduleName, paths.tmpDir);
+ const remoteGenerator = () => getRemoteModule(moduleName);
+ vmManager.registerVirtualModule(remotePath, remoteGenerator);
+ return { type: 'sourceFile', filePath: remotePath };
+ }
+ }
+
+ // shared module handling
+ for (const sharedName of Object.keys(options.shared)) {
+ const importName = options.shared[sharedName].import || sharedName;
+ // module import
+ if (moduleName === importName) {
+ const sharedPath = getSharedPath(moduleName, paths.tmpDir);
+ const sharedGenerator = () => getRemoteModule(moduleName);
+ vmManager.registerVirtualModule(sharedPath, sharedGenerator);
+ return { type: 'sourceFile', filePath: sharedPath };
+ }
+ }
+
+ // replace getDevServer module in remote with our own implementation
+ if (isRemote && moduleName.endsWith('getDevServer')) {
+ const res = context.resolveRequest(context, moduleName, platform);
+ const from = GET_DEV_SERVER_REGEX;
+ const to = resolveModule('getDevServer.ts');
+ return replaceModule(from, to)(res);
+ }
+
+ // replace HMRClient module with HMRClientShim when using bundle commands
+ if (isUsingMFBundleCommand() && moduleName.endsWith('HMRClient')) {
+ const res = context.resolveRequest(context, moduleName, platform);
+ const from = HMR_CLIENT_REGEX;
+ const to = resolveModule('HMRClientShim.ts');
+ return replaceModule(from, to)(res);
+ }
+
+ // patch HMRClient module for older versions of React Native
+ // this is needed for avoiding HMR errors between multiple dev servers
+ if (
+ hacks.patchHMRClient &&
+ moduleName.endsWith('HMRClient') &&
+ context.originModulePath !== resolveModule('HMRClient.ts')
+ ) {
+ const res = context.resolveRequest(context, moduleName, platform);
+ const from = HMR_CLIENT_REGEX;
+ const to = resolveModule('HMRClient.ts');
+ // replace HMRClient with our own
+ return replaceModule(from, to)(res);
+ }
+
+ return context.resolveRequest(context, moduleName, platform);
+ };
+}
+
+function getSharedPath(name: string, dir: string) {
+ const sharedModuleName = name.replaceAll('/', '_');
+ const sharedModuleDir = path.join(dir, 'shared');
+ return path.join(sharedModuleDir, `${sharedModuleName}.js`);
+}
+
+function getRemoteModulePath(name: string, dir: string) {
+ const remoteModuleName = name.replaceAll('/', '_');
+ const remoteModuleDir = path.join(dir, 'remote');
+ return path.join(remoteModuleDir, `${remoteModuleName}.js`);
+}
+
+function resolveModule(moduleName: string): string {
+ return path.resolve(__dirname, `../modules/${moduleName}`);
+}
+
+function replaceModule(from: RegExp, to: string | null) {
+ return (resolved: Resolution): Resolution => {
+ if (resolved.type === 'sourceFile' && from.test(resolved.filePath)) {
+ if (to === null) return { type: 'empty' };
+ return { type: 'sourceFile', filePath: to };
+ }
+ return resolved;
+ };
+}
+
+function getEntryPathRegex(paths: {
+ entry: string;
+ projectDir: string;
+}): RegExp {
+ const relativeEntryPath = path.relative(paths.projectDir, paths.entry);
+ const entryName = removeExtension(relativeEntryPath);
+ return new RegExp(`^\\./${entryName}(\\.js)?$`);
+}
diff --git a/packages/metro-core/src/plugin/rewrite-request.ts b/packages/metro-core/src/plugin/rewrite-request.ts
new file mode 100644
index 0000000000..7da5aec9e7
--- /dev/null
+++ b/packages/metro-core/src/plugin/rewrite-request.ts
@@ -0,0 +1,58 @@
+import path from 'node:path';
+import type { ConfigT } from 'metro-config';
+import { MANIFEST_FILENAME } from './constants';
+import { removeExtension } from './helpers';
+
+type CreateRewriteRequestOptions = {
+ config: ConfigT;
+ originalEntryFilename: string;
+ remoteEntryFilename: string;
+ manifestPath: string;
+ tmpDirPath: string;
+};
+
+export function createRewriteRequest({
+ config,
+ originalEntryFilename,
+ remoteEntryFilename,
+ manifestPath,
+ tmpDirPath,
+}: CreateRewriteRequestOptions) {
+ const hostEntryName = removeExtension(originalEntryFilename);
+ const remoteEntryName = removeExtension(remoteEntryFilename);
+ const relativeTmpDirPath = path
+ .relative(config.projectRoot, tmpDirPath)
+ .split(path.sep)
+ .join(path.posix.sep);
+ const hostEntryPathRegex = getEntryPathRegex(hostEntryName);
+ const remoteEntryPathRegex = getEntryPathRegex(remoteEntryName);
+
+ return function rewriteRequest(url: string) {
+ const root = config.projectRoot;
+ const { pathname } = new URL(url, 'protocol://host');
+ // rewrite /index.bundle -> //index.bundle
+ if (pathname.match(hostEntryPathRegex)) {
+ const target = `${relativeTmpDirPath}/${hostEntryName}`;
+ return url.replace(hostEntryName, target);
+ }
+ // rewrite /mini.bundle -> //mini.bundle
+ if (pathname.match(remoteEntryPathRegex)) {
+ const target = `${relativeTmpDirPath}/${remoteEntryName}`;
+ return url.replace(remoteEntryName, target);
+ }
+ // rewrite /mf-manifest.json -> /[metro-project]/node_modules/.mf-metro/mf-manifest.json
+ if (pathname.startsWith(`/${MANIFEST_FILENAME}`)) {
+ const target = manifestPath.replace(root, '[metro-project]');
+ return url.replace(MANIFEST_FILENAME, target);
+ }
+ // pass through to original rewriteRequestUrl
+ if (config.server.rewriteRequestUrl) {
+ return config.server.rewriteRequestUrl(url);
+ }
+ return url;
+ };
+}
+
+function getEntryPathRegex(entryFilename: string) {
+ return new RegExp(`^\\/${entryFilename}(\\.js)?(\\.bundle)$`);
+}
diff --git a/packages/metro-core/src/plugin/serializer.ts b/packages/metro-core/src/plugin/serializer.ts
new file mode 100644
index 0000000000..a84f94e35d
--- /dev/null
+++ b/packages/metro-core/src/plugin/serializer.ts
@@ -0,0 +1,213 @@
+import path from 'node:path';
+import type { Module, ReadOnlyGraph, SerializerOptions } from 'metro';
+import type { SerializerConfigT } from 'metro-config';
+import baseJSBundle from 'metro/src/DeltaBundler/Serializers/baseJSBundle';
+import CountingSet from 'metro/src/lib/CountingSet';
+import bundleToString from 'metro/src/lib/bundleToString';
+import type { ModuleFederationConfigNormalized, Shared } from '../types';
+import { ConfigError } from '../utils/errors';
+
+type CustomSerializer = SerializerConfigT['customSerializer'];
+
+export function getModuleFederationSerializer(
+ mfConfig: ModuleFederationConfigNormalized,
+ isUsingMFBundleCommand: boolean,
+): CustomSerializer {
+ return async (entryPoint, preModules, graph, options) => {
+ const syncRemoteModules = collectSyncRemoteModules(graph, mfConfig.remotes);
+ const syncSharedModules = collectSyncSharedModules(graph, mfConfig.shared);
+ // main entrypoints always have runModule set to true
+ if (options.runModule === true) {
+ const finalPreModules = [
+ getEarlyShared(syncSharedModules),
+ getEarlyRemotes(syncRemoteModules),
+ ...preModules,
+ ];
+ return getBundleCode(entryPoint, finalPreModules, graph, options);
+ }
+
+ // skip non-project source like node_modules
+ // this includes handling of shared modules!
+ if (!isProjectSource(entryPoint, options.projectRoot)) {
+ return getBundleCode(entryPoint, preModules, graph, options);
+ }
+
+ const bundlePath = getBundlePath(
+ entryPoint,
+ options.projectRoot,
+ mfConfig.exposes,
+ isUsingMFBundleCommand,
+ );
+ const finalPreModules = [
+ getSyncShared(syncSharedModules, bundlePath, mfConfig.name),
+ getSyncRemotes(syncRemoteModules, bundlePath, mfConfig.name),
+ ];
+
+ // include the original preModules if not in modulesOnly mode
+ if (options.modulesOnly === false) {
+ finalPreModules.push(...preModules);
+ }
+
+ // prevent resetting preModules in metro/src/DeltaBundler/Serializers/baseJSBundle.js
+ const finalOptions = { ...options, modulesOnly: false };
+ return getBundleCode(entryPoint, finalPreModules, graph, finalOptions);
+ };
+}
+
+function collectSyncRemoteModules(
+ graph: ReadOnlyGraph,
+ _remotes: Record,
+) {
+ const remotes = new Set(Object.keys(_remotes));
+ const syncRemoteModules = new Set();
+ for (const [, module] of graph.dependencies) {
+ for (const dependency of module.dependencies.values()) {
+ // null means it's a sync dependency
+ if (dependency.data.data.asyncType !== null) {
+ continue;
+ }
+ // remotes always follow format of /
+ const remoteCandidate = dependency.data.name.split('/')[0];
+ const isValidCandidate =
+ remoteCandidate.length < dependency.data.name.length;
+ if (isValidCandidate && remotes.has(remoteCandidate)) {
+ syncRemoteModules.add(dependency.data.name);
+ }
+ }
+ }
+ return Array.from(syncRemoteModules);
+}
+
+function collectSyncSharedModules(graph: ReadOnlyGraph, _shared: Shared) {
+ const sharedImports = new Set(
+ Object.keys(_shared).map((sharedName) => {
+ return _shared[sharedName].import || sharedName;
+ }),
+ );
+ // always include `react` and `react-native`
+ const syncSharedModules = new Set(['react', 'react-native']);
+ for (const [, module] of graph.dependencies) {
+ for (const dependency of module.dependencies.values()) {
+ // null means it's a sync dependency
+ if (dependency.data.data.asyncType !== null) {
+ continue;
+ }
+ if (module.path.endsWith('init-host.js')) {
+ continue;
+ }
+ if (sharedImports.has(dependency.data.name)) {
+ syncSharedModules.add(dependency.data.name);
+ }
+ }
+ }
+ return Array.from(syncSharedModules);
+}
+
+function getFederationSharedDependenciesNamespace(scope: string) {
+ return `globalThis.__FEDERATION__.__NATIVE__["${scope}"].deps.shared`;
+}
+
+function getFederationRemotesDependenciesNamespace(scope: string) {
+ return `globalThis.__FEDERATION__.__NATIVE__["${scope}"].deps.remotes`;
+}
+
+function getSyncShared(shared: string[], entry: string, scope: string): Module {
+ const namespace = getFederationSharedDependenciesNamespace(scope);
+ const code = `${namespace}["${entry}"]=${JSON.stringify(shared)};`;
+ return generateVirtualModule('__required_shared__', code);
+}
+
+function getSyncRemotes(
+ remotes: string[],
+ entry: string,
+ scope: string,
+): Module {
+ const namespace = getFederationRemotesDependenciesNamespace(scope);
+ const code = `${namespace}["${entry}"]=${JSON.stringify(remotes)};`;
+ return generateVirtualModule('__required_remotes__', code);
+}
+
+function getEarlyShared(shared: string[]): Module {
+ const code = `var __EARLY_SHARED__=${JSON.stringify(shared)};`;
+ return generateVirtualModule('__early_shared__', code);
+}
+
+function getEarlyRemotes(remotes: string[]): Module {
+ const code = `var __EARLY_REMOTES__=${JSON.stringify(remotes)};`;
+ return generateVirtualModule('__early_remotes__', code);
+}
+
+function generateVirtualModule(name: string, code: string): Module {
+ return {
+ dependencies: new Map(),
+ getSource: (): Buffer => Buffer.from(code),
+ inverseDependencies: new CountingSet(),
+ path: name,
+ output: [
+ {
+ type: 'js/script/virtual',
+ data: {
+ code,
+ // @ts-ignore
+ lineCount: 1,
+ map: [],
+ },
+ },
+ ],
+ };
+}
+
+function isProjectSource(entryPoint: string, projectRoot: string) {
+ const relativePath = path.relative(projectRoot, entryPoint);
+ return (
+ !relativePath.startsWith('..') && !relativePath.startsWith('node_modules')
+ );
+}
+
+function getBundlePath(
+ entryPoint: string,
+ projectRoot: string,
+ exposes: ModuleFederationConfigNormalized['exposes'],
+ isUsingMFBundleCommand: boolean,
+) {
+ const relativeEntryPath = path.relative(projectRoot, entryPoint);
+ if (!isUsingMFBundleCommand) {
+ const { dir, name } = path.parse(relativeEntryPath);
+ return path.format({ dir, name, ext: '' });
+ }
+
+ // try to match with an exposed module first
+ const exposedMatchedKey = Object.keys(exposes).find((exposeKey) =>
+ exposes[exposeKey].match(relativeEntryPath),
+ );
+
+ if (exposedMatchedKey) {
+ // handle as exposed module
+ let exposedName = exposedMatchedKey;
+ // Remove './' prefix
+ if (exposedName.startsWith('./')) {
+ exposedName = exposedName.slice(2);
+ }
+ return `exposed/${exposedName}`;
+ }
+
+ throw new ConfigError(
+ `Unable to handle entry point: ${relativeEntryPath}. ` +
+ 'Expected to match an entrypoint with one of the exposed keys, but failed. ' +
+ 'This is most likely a configuration error. ' +
+ 'If you believe this is not a configuration issue, please report it as a bug. ' +
+ `Debug info: entryPoint="${entryPoint}", projectRoot="${projectRoot}", exposesKeys=[${Object.keys(exposes).join(', ')}]`,
+ );
+}
+
+function getBundleCode(
+ entryPoint: string,
+ preModules: readonly Module[],
+ graph: ReadOnlyGraph,
+ options: SerializerOptions,
+) {
+ const { code } = bundleToString(
+ baseJSBundle(entryPoint, preModules, graph, options),
+ );
+ return code;
+}
diff --git a/packages/metro-core/src/plugin/validate-options.ts b/packages/metro-core/src/plugin/validate-options.ts
new file mode 100644
index 0000000000..4ce2eab657
--- /dev/null
+++ b/packages/metro-core/src/plugin/validate-options.ts
@@ -0,0 +1,74 @@
+import type { ModuleFederationConfig, Shared } from '../types';
+import { ConfigError } from '../utils';
+
+function validateFilename(filename: string | undefined) {
+ // filename is optional
+ if (!filename) {
+ return;
+ }
+
+ if (!filename.endsWith('.bundle')) {
+ throw new ConfigError(
+ `Invalid filename: ${filename}. ` +
+ 'Filename must end with .bundle extension.',
+ );
+ }
+}
+
+function validateShared(shared: Shared | undefined) {
+ if (!shared) {
+ throw new ConfigError('Shared configuration is required.');
+ }
+
+ if (typeof shared !== 'object') {
+ throw new ConfigError('Shared must be an object.');
+ }
+
+ if (Array.isArray(shared)) {
+ throw new ConfigError('Array format is not supported for shared.');
+ }
+
+ // validate react & react-native present
+ if (!('react' in shared)) {
+ throw new ConfigError("Dependency 'react' must be present in shared.");
+ }
+
+ if (!('react-native' in shared)) {
+ throw new ConfigError(
+ "Dependency 'react-native' must be present in shared.",
+ );
+ }
+
+ // validate shared module names
+ for (const sharedName of Object.keys(shared)) {
+ // disallow relative paths
+ if (sharedName.startsWith('./') || sharedName.startsWith('../')) {
+ throw new ConfigError(
+ 'Relative paths are not supported as shared module names.',
+ );
+ }
+
+ // disallow absolute paths
+ if (sharedName.startsWith('/')) {
+ throw new ConfigError(
+ 'Absolute paths are not supported as shared module names.',
+ );
+ }
+
+ // disallow deep import wildcards (containing /)
+ if (sharedName.endsWith('/')) {
+ throw new ConfigError(
+ 'Deep import wildcards are not supported as shared module names. ' +
+ 'You need to list all deep imports explicitly.',
+ );
+ }
+ }
+}
+
+export function validateOptions(options: ModuleFederationConfig) {
+ // validate filename
+ validateFilename(options.filename);
+
+ // validate shared
+ validateShared(options.shared);
+}
diff --git a/packages/metro-core/src/runtime/host-entry.js b/packages/metro-core/src/runtime/host-entry.js
new file mode 100644
index 0000000000..1358154e91
--- /dev/null
+++ b/packages/metro-core/src/runtime/host-entry.js
@@ -0,0 +1,8 @@
+// we need to explicitly import the init-host runtime module
+// this is because of a metro limitation, where the module
+// must be used in the bundle in order to be present in the final bundle
+import 'mf:init-host';
+import 'mf:async-require';
+
+// replaced with the actual app entrypoint
+__ENTRYPOINT_IMPORT__;
diff --git a/packages/metro-core/src/runtime/init-host.js b/packages/metro-core/src/runtime/init-host.js
new file mode 100644
index 0000000000..1d2a76f1ee
--- /dev/null
+++ b/packages/metro-core/src/runtime/init-host.js
@@ -0,0 +1,47 @@
+import {
+ loadRemoteToRegistry,
+ loadSharedToRegistry,
+} from 'mf:remote-module-registry';
+import { init } from '@module-federation/runtime';
+
+__PLUGINS__;
+
+const usedRemotes = __REMOTES__;
+const usedShared = __SHARED__;
+
+const name = __NAME__;
+const shareScopeName = 'default';
+const shareStrategy = __SHARE_STRATEGY__;
+
+const instance = init({
+ name,
+ remotes: usedRemotes,
+ plugins,
+ shared: usedShared,
+ shareStrategy,
+});
+
+globalThis.__FEDERATION__ ??= {};
+globalThis.__FEDERATION__.__NATIVE__ ??= {};
+globalThis.__FEDERATION__.__NATIVE__[name] ??= {};
+globalThis.__FEDERATION__.__NATIVE__[name].deps ??= {
+ shared: {},
+ remotes: {},
+};
+
+globalThis.__FEDERATION__.__NATIVE__[name].init = Promise.all(
+ instance.initializeSharing(shareScopeName, {
+ strategy: shareStrategy,
+ from: 'build',
+ initScope: [],
+ }),
+).then(() =>
+ Promise.all([
+ ...Object.keys(usedShared).map(loadSharedToRegistry),
+ ...__EARLY_REMOTES__.map(loadRemoteToRegistry),
+ ]),
+);
+
+// IMPORTANT: load early shared deps immediately without
+// waiting for the async part of initializeSharing to resolve
+__EARLY_SHARED__.forEach(loadSharedToRegistry);
diff --git a/packages/metro-core/src/runtime/remote-entry.js b/packages/metro-core/src/runtime/remote-entry.js
new file mode 100644
index 0000000000..350c675ed0
--- /dev/null
+++ b/packages/metro-core/src/runtime/remote-entry.js
@@ -0,0 +1,88 @@
+import 'mf:async-require';
+
+import { loadSharedToRegistry } from 'mf:remote-module-registry';
+import { init as runtimeInit } from '@module-federation/runtime';
+
+__PLUGINS__;
+
+const usedRemotes = __REMOTES__;
+const usedShared = __SHARED__;
+
+const exposesMap = __EXPOSES_MAP__;
+
+function get(moduleName) {
+ if (!(moduleName in exposesMap)) {
+ throw new Error(`Module ${moduleName} does not exist in container.`);
+ }
+ return exposesMap[moduleName]().then((m) => () => m);
+}
+
+const initTokens = {};
+
+const name = __NAME__;
+const shareScopeName = 'default';
+const shareStrategy = __SHARE_STRATEGY__;
+
+let hmrInitialized = false;
+
+async function init(shared = {}, initScope = []) {
+ const instance = runtimeInit({
+ name,
+ remotes: usedRemotes,
+ shared: usedShared,
+ plugins,
+ shareStrategy,
+ });
+ // handling circular init calls
+ let initToken = initTokens[shareScopeName];
+ if (!initToken) {
+ initToken = initTokens[shareScopeName] = {
+ from: name,
+ };
+ }
+ if (initScope.indexOf(initToken) >= 0) {
+ return;
+ }
+ initScope.push(initToken);
+ instance.initShareScopeMap(shareScopeName, shared);
+
+ const initSharingPromise = Promise.all(
+ instance.initializeSharing(shareScopeName, {
+ strategy: shareStrategy,
+ from: 'build',
+ initScope,
+ }),
+ );
+
+ // IMPORTANT: load early shared deps immediately without
+ // waiting for the async part of initializeSharing to resolve
+ __EARLY_SHARED__.forEach(loadSharedToRegistry);
+
+ await initSharingPromise;
+
+ // setup HMR client after the initializing sync shared deps
+ if (__DEV__ && !hmrInitialized) {
+ const hmr = require('mf:remote-hmr');
+ hmr.setup();
+ hmrInitialized = true;
+ }
+
+ // load the rest of shared deps
+ await Promise.all(Object.keys(shared).map(loadSharedToRegistry));
+
+ return instance;
+}
+
+globalThis.__FEDERATION__ ??= {};
+globalThis.__FEDERATION__.__NATIVE__ ??= {};
+globalThis.__FEDERATION__.__NATIVE__[name] ??= {};
+
+globalThis.__FEDERATION__.__NATIVE__[name].deps ??= {
+ shared: {},
+ remotes: {},
+};
+
+globalThis.__FEDERATION__.__NATIVE__[name].exports = {
+ get,
+ init,
+};
diff --git a/packages/metro-core/src/runtime/remote-hmr.js b/packages/metro-core/src/runtime/remote-hmr.js
new file mode 100644
index 0000000000..c7d0b67de5
--- /dev/null
+++ b/packages/metro-core/src/runtime/remote-hmr.js
@@ -0,0 +1,21 @@
+function parseUrl(url) {
+ const urlPattern = /^((https?):\/\/([^:/]+)(?::(\d+))?)\/?(.*)?$/;
+ const match = url.match(urlPattern);
+
+ if (!match) {
+ throw new Error('Invalid URL: ' + url);
+ }
+
+ const [, origin, scheme, host, port, path] = match;
+ return { origin, scheme, host, port, path };
+}
+
+export function setup() {
+ const HMRClient = require('react-native/Libraries/Utilities/HMRClient');
+ const platform = require('react-native').Platform.OS;
+ const { scheme, host, port, path } = parseUrl(
+ globalThis.__FEDERATION__.__NATIVE__[__METRO_GLOBAL_PREFIX__].origin,
+ );
+
+ HMRClient.default.setup(platform, path, host, port, true, scheme);
+}
diff --git a/packages/metro-core/src/runtime/remote-module-registry.js b/packages/metro-core/src/runtime/remote-module-registry.js
new file mode 100644
index 0000000000..2617aa54df
--- /dev/null
+++ b/packages/metro-core/src/runtime/remote-module-registry.js
@@ -0,0 +1,81 @@
+import {
+ loadRemote,
+ loadShare,
+ loadShareSync,
+} from '@module-federation/runtime';
+
+const registry = {};
+const loading = {};
+
+const earlyModuleTest = __EARLY_MODULE_TEST__;
+
+function cloneModule(module, target) {
+ for (const key of Object.getOwnPropertyNames(module)) {
+ const descriptor = Object.getOwnPropertyDescriptor(module, key);
+ Object.defineProperty(target, key, descriptor);
+ }
+}
+
+export async function loadAndGetShared(id) {
+ await loadSharedToRegistry(id);
+ return getModuleFromRegistry(id);
+}
+
+export async function loadAndGetRemote(id) {
+ await loadRemoteToRegistry(id);
+ return getModuleFromRegistry(id);
+}
+
+export async function loadRemoteToRegistry(id) {
+ const promise = loading[id];
+ if (promise) {
+ await promise;
+ } else {
+ registry[id] = {};
+ loading[id] = (async () => {
+ const remoteModule = await loadRemote(id);
+ cloneModule(remoteModule, registry[id]);
+ })();
+ await loading[id];
+ }
+}
+
+export function loadSharedToRegistry(id) {
+ if (earlyModuleTest.test(id)) {
+ return loadSharedToRegistrySync(id);
+ }
+ return loadSharedToRegistryAsync(id);
+}
+
+export async function loadSharedToRegistryAsync(id) {
+ const promise = loading[id];
+ if (promise) {
+ await promise;
+ } else {
+ registry[id] = {};
+ loading[id] = (async () => {
+ const factory = await loadShare(id);
+ const sharedModule = factory();
+ cloneModule(sharedModule, registry[id]);
+ })();
+ await loading[id];
+ }
+}
+
+export function loadSharedToRegistrySync(id) {
+ if (loading[id]) {
+ return;
+ }
+ loading[id] = loadShareSync(id);
+ registry[id] = loading[id]();
+}
+
+export function getModuleFromRegistry(id) {
+ const module = registry[id];
+
+ if (!module) {
+ throw new Error(`Module ${id} not found in registry`);
+ }
+
+ return module;
+}
diff --git a/packages/metro-core/src/runtime/remote-module.js b/packages/metro-core/src/runtime/remote-module.js
new file mode 100644
index 0000000000..d2cd987b2c
--- /dev/null
+++ b/packages/metro-core/src/runtime/remote-module.js
@@ -0,0 +1,3 @@
+import { getModuleFromRegistry } from 'mf:remote-module-registry';
+
+module.exports = getModuleFromRegistry(__MODULE_ID__);
diff --git a/packages/metro-core/src/types.ts b/packages/metro-core/src/types.ts
new file mode 100644
index 0000000000..4bc3048500
--- /dev/null
+++ b/packages/metro-core/src/types.ts
@@ -0,0 +1,31 @@
+export interface SharedConfig {
+ singleton: boolean;
+ eager: boolean;
+ version: string;
+ requiredVersion: string;
+ import?: false;
+}
+
+export type Shared = Record;
+
+export interface ModuleFederationConfig {
+ name: string;
+ filename?: string;
+ remotes?: Record;
+ exposes?: Record;
+ shared?: Shared;
+ shareStrategy?: 'loaded-first' | 'version-first';
+ plugins?: string[];
+}
+
+export type ModuleFederationConfigNormalized = Required;
+
+export type ModuleFederationExtraOptions = {
+ flags?: MetroMFFlags;
+};
+
+export type MetroMFFlags = {
+ unstable_patchHMRClient?: boolean;
+ unstable_patchInitializeCore?: boolean;
+ unstable_patchRuntimeRequire?: boolean;
+};
diff --git a/packages/metro-core/src/types/metro/baseJSBundle.d.ts b/packages/metro-core/src/types/metro/baseJSBundle.d.ts
new file mode 100644
index 0000000000..3bbb9660be
--- /dev/null
+++ b/packages/metro-core/src/types/metro/baseJSBundle.d.ts
@@ -0,0 +1,20 @@
+import type {
+ Module,
+ ReadOnlyGraph,
+ SerializerOptions,
+} from 'metro/src/DeltaBundler/types';
+
+declare module 'metro/src/DeltaBundler/Serializers/baseJSBundle' {
+ interface Bundle {
+ modules: readonly [number, string][];
+ post: string;
+ pre: string;
+ }
+
+ export default function baseJSBundle(
+ entryPoint: string,
+ preModules: readonly Module[],
+ graph: ReadOnlyGraph,
+ options: SerializerOptions,
+ ): Bundle;
+}
diff --git a/packages/metro-core/src/types/metro/bundleToString.d.ts b/packages/metro-core/src/types/metro/bundleToString.d.ts
new file mode 100644
index 0000000000..85ac5a3cd5
--- /dev/null
+++ b/packages/metro-core/src/types/metro/bundleToString.d.ts
@@ -0,0 +1,18 @@
+declare module 'metro/src/lib/bundleToString' {
+ interface Bundle {
+ modules: readonly [number, string][];
+ post: string;
+ pre: string;
+ }
+
+ interface BundleMetadata {
+ pre: number;
+ post: number;
+ modules: readonly [number, number][];
+ }
+
+ export default function bundleToString(bundle: Bundle): {
+ code: string;
+ metadata: BundleMetadata;
+ };
+}
diff --git a/packages/metro-core/src/types/metro/getAppendScripts.d.ts b/packages/metro-core/src/types/metro/getAppendScripts.d.ts
new file mode 100644
index 0000000000..1514bf4428
--- /dev/null
+++ b/packages/metro-core/src/types/metro/getAppendScripts.d.ts
@@ -0,0 +1,22 @@
+import type { Module } from 'metro/src/DeltaBundler/types';
+
+declare module 'metro/src/lib/getAppendScripts' {
+ interface Options {
+ asyncRequireModulePath: string;
+ createModuleId: (path: string) => T;
+ getRunModuleStatement: (moduleId: T) => string;
+ inlineSourceMap?: boolean;
+ runBeforeMainModule: readonly string[];
+ runModule: boolean;
+ shouldAddToIgnoreList: (module: Module) => boolean;
+ sourceMapUrl?: string;
+ sourceUrl?: string;
+ getSourceUrl?: (module: Module) => string;
+ }
+
+ export default function getAppendScripts(
+ entryPoint: string,
+ modules: readonly Module[],
+ options: Options,
+ ): readonly Module[];
+}
diff --git a/packages/metro-core/src/types/metro/processModules.d.ts b/packages/metro-core/src/types/metro/processModules.d.ts
new file mode 100644
index 0000000000..5b414a46af
--- /dev/null
+++ b/packages/metro-core/src/types/metro/processModules.d.ts
@@ -0,0 +1,18 @@
+import type { Module } from 'metro/src/DeltaBundler/types';
+
+declare module 'metro/src/DeltaBundler/Serializers/helpers/processModules' {
+ interface Options {
+ filter?: (module: Module) => boolean;
+ createModuleId: (path: string) => number;
+ dev: boolean;
+ includeAsyncPaths: boolean;
+ projectRoot: string;
+ serverRoot: string;
+ sourceUrl?: string;
+ }
+
+ export default function processModules(
+ modules: readonly Module[],
+ options: Options,
+ ): readonly [Module, string][];
+}
diff --git a/packages/metro-core/src/types/metro/relativizeSourceMap.d.ts b/packages/metro-core/src/types/metro/relativizeSourceMap.d.ts
new file mode 100644
index 0000000000..335944e468
--- /dev/null
+++ b/packages/metro-core/src/types/metro/relativizeSourceMap.d.ts
@@ -0,0 +1,8 @@
+import type { MixedSourceMap } from 'metro-source-map';
+
+declare module 'metro/src/lib/relativizeSourceMap' {
+ export default function relativizeSourceMap(
+ sourceMap: MixedSourceMap,
+ sourcesRoot: string,
+ ): void;
+}
diff --git a/packages/metro-core/src/types/react-native.d.ts b/packages/metro-core/src/types/react-native.d.ts
new file mode 100644
index 0000000000..ff220b9061
--- /dev/null
+++ b/packages/metro-core/src/types/react-native.d.ts
@@ -0,0 +1,24 @@
+declare module 'react-native/Libraries/Utilities/HMRClient' {
+ // biome-ignore lint/complexity/noStaticOnlyClass:
+ export default class HMRClient {
+ static registerBundle(bundlePath: string): void;
+ static setup(
+ platform: string,
+ bundleEntry: string,
+ host: string,
+ port: number | string,
+ isEnabled: boolean,
+ scheme?: string,
+ ): void;
+ }
+}
+
+declare module 'react-native/Libraries/Utilities/HMRClientProdShim' {
+ export default class HMRClientProdShim {}
+}
+
+declare module 'react-native/Libraries/Core/Devtools/getDevServer' {
+ export default function getDevServer(): {
+ url: string;
+ };
+}
diff --git a/packages/metro-core/src/types/runtime.d.ts b/packages/metro-core/src/types/runtime.d.ts
new file mode 100644
index 0000000000..1724386a54
--- /dev/null
+++ b/packages/metro-core/src/types/runtime.d.ts
@@ -0,0 +1,19 @@
+import type runtimeCore from '@module-federation/runtime/core';
+
+type RemoteEntryExports = runtimeCore.types.RemoteEntryExports;
+
+declare module '@module-federation/runtime' {
+ interface Federation {
+ __NATIVE__: {
+ [key: string]: {
+ deps: {
+ shared: Record;
+ remotes: Record;
+ };
+ exports: RemoteEntryExports;
+ init: Promise;
+ origin: string;
+ };
+ };
+ }
+}
diff --git a/packages/metro-core/src/utils/errors.ts b/packages/metro-core/src/utils/errors.ts
new file mode 100644
index 0000000000..9210fb1d74
--- /dev/null
+++ b/packages/metro-core/src/utils/errors.ts
@@ -0,0 +1,23 @@
+const inlineString = (str = ''): string =>
+ str.replace(/(\s{2,})/gm, ' ').trim();
+
+class EnhancedError extends Error {
+ constructor(msg: string, originalError?: Error | string) {
+ super(inlineString(msg));
+ if (originalError != null) {
+ this.stack =
+ typeof originalError === 'string'
+ ? originalError
+ : originalError.stack || ''.split('\n').slice(0, 2).join('\n');
+ } else {
+ // When the "originalError" is not passed, it means that we know exactly
+ // what went wrong and provide means to fix it. In such cases showing the
+ // stack is an unnecessary clutter to the CLI output, hence removing it.
+ this.stack = '';
+ }
+ }
+}
+
+export class ConfigError extends EnhancedError {}
+
+export class CLIError extends EnhancedError {}
diff --git a/packages/metro-core/src/utils/index.ts b/packages/metro-core/src/utils/index.ts
new file mode 100644
index 0000000000..e982e8978b
--- /dev/null
+++ b/packages/metro-core/src/utils/index.ts
@@ -0,0 +1,2 @@
+export { CLIError, ConfigError } from './errors';
+export { VirtualModuleManager } from './vm-manager';
diff --git a/packages/metro-core/src/utils/vm-manager.ts b/packages/metro-core/src/utils/vm-manager.ts
new file mode 100644
index 0000000000..7babfca544
--- /dev/null
+++ b/packages/metro-core/src/utils/vm-manager.ts
@@ -0,0 +1,118 @@
+import fs from 'node:fs';
+import path from 'node:path';
+import type {
+ MetroConfig,
+ ServerConfigT,
+ TransformerConfigT,
+} from 'metro-config';
+import type { FileSystem } from 'metro-file-map';
+import type MetroServer from 'metro/src/Server';
+
+type EnhanceMiddleware = ServerConfigT['enhanceMiddleware'];
+type GetTransformOptions = TransformerConfigT['getTransformOptions'];
+type Bundler = ReturnType['getBundler']>;
+
+export class VirtualModuleManager {
+ private setupFinished: Promise | null = null;
+ private virtualModules: Map = new Map();
+
+ constructor(
+ private metroConfig: MetroConfig,
+ private options: { forceWriteFileSystem?: boolean } = {},
+ ) {}
+
+ registerVirtualModule(filePath: string, generator: () => string) {
+ const moduleCode = generator();
+ // skip when the module code is the same
+ if (this.virtualModules.get(filePath) === moduleCode) {
+ return;
+ }
+
+ this.virtualModules.set(filePath, moduleCode);
+ if (this.options.forceWriteFileSystem) {
+ fs.mkdirSync(path.dirname(filePath), { recursive: true });
+ fs.writeFileSync(filePath, moduleCode);
+ }
+ }
+
+ getMiddleware(): EnhanceMiddleware {
+ return (middleware, metroServer) => {
+ const bundler = metroServer.getBundler().getBundler();
+
+ this.setup(bundler);
+
+ const originalMiddleware = this.metroConfig.server?.enhanceMiddleware;
+ return originalMiddleware
+ ? originalMiddleware(middleware, metroServer)
+ : middleware;
+ };
+ }
+
+ getTransformOptions(): GetTransformOptions {
+ return async (...args) => {
+ if (this.setupFinished === null) {
+ throw new Error('Expected virtual module setup to be finished');
+ }
+
+ await this.setupFinished;
+
+ const originalGetTransformOptions =
+ this.metroConfig.transformer?.getTransformOptions;
+
+ if (originalGetTransformOptions) {
+ return originalGetTransformOptions(...args);
+ }
+ return {};
+ };
+ }
+
+ setup(bundler: Bundler) {
+ this.setupFinished = (async () => {
+ const graph = await bundler.getDependencyGraph();
+ // @ts-expect-error incomplete types
+ this.ensureFileSystemPatched(graph._fileSystem);
+ this.ensureBundlerPatched(bundler);
+ return true;
+ })();
+ }
+
+ // Patch the bundler to use virtual modules
+ private ensureFileSystemPatched(
+ fs: FileSystem & { getSha1: { __vm__patched?: boolean } },
+ ) {
+ if (!fs.getSha1.__vm__patched) {
+ const original_getSha1 = fs.getSha1.bind(fs);
+ fs.getSha1 = (filename) => {
+ if (this.virtualModules.has(filename)) {
+ // Don't cache this file. It should always be fresh.
+ return `${filename}-${Date.now()}`;
+ }
+ return original_getSha1(filename);
+ };
+ fs.getSha1.__vm__patched = true;
+ }
+
+ return fs;
+ }
+
+ // Patch the bundler to use virtual modules
+ private ensureBundlerPatched(
+ bundler: Bundler & { transformFile: { __vm__patched?: boolean } },
+ ) {
+ if (bundler.transformFile.__vm__patched) {
+ return;
+ }
+ const transformFile = bundler.transformFile.bind(bundler);
+
+ bundler.transformFile = async (filePath, transformOptions, fileBuffer) => {
+ let buffer = fileBuffer;
+ const virtualModule = this.virtualModules.get(filePath);
+
+ if (virtualModule) {
+ buffer = Buffer.from(virtualModule);
+ }
+ return transformFile(filePath, transformOptions, buffer);
+ };
+ bundler.transformFile.__vm__patched = true;
+ }
+}
diff --git a/packages/metro-core/tsconfig.build.json b/packages/metro-core/tsconfig.build.json
new file mode 100644
index 0000000000..587e9fb1b9
--- /dev/null
+++ b/packages/metro-core/tsconfig.build.json
@@ -0,0 +1,10 @@
+{
+ "extends": "./tsconfig.json",
+ "exclude": ["src/modules"],
+ "compilerOptions": {
+ "rootDir": "src",
+ "outDir": "dist",
+ "sourceMap": false,
+ "declarationMap": false
+ }
+}
diff --git a/packages/metro-core/tsconfig.json b/packages/metro-core/tsconfig.json
new file mode 100644
index 0000000000..798324680d
--- /dev/null
+++ b/packages/metro-core/tsconfig.json
@@ -0,0 +1,7 @@
+{
+ "extends": "../../tsconfig.base.json",
+ "include": ["src"],
+ "compilerOptions": {
+ "rootDir": "src"
+ }
+}
diff --git a/packages/metro-core/tsconfig.lib.json b/packages/metro-core/tsconfig.lib.json
new file mode 100644
index 0000000000..33eca2c2cd
--- /dev/null
+++ b/packages/metro-core/tsconfig.lib.json
@@ -0,0 +1,10 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "outDir": "../../dist/out-tsc",
+ "declaration": true,
+ "types": ["node"]
+ },
+ "include": ["src/**/*.ts"],
+ "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"]
+}
diff --git a/packages/metro-core/tsconfig.spec.json b/packages/metro-core/tsconfig.spec.json
new file mode 100644
index 0000000000..0d3c604ea7
--- /dev/null
+++ b/packages/metro-core/tsconfig.spec.json
@@ -0,0 +1,15 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "outDir": "../../dist/out-tsc",
+ "module": "commonjs",
+ "moduleResolution": "node10",
+ "types": ["jest", "node"]
+ },
+ "include": [
+ "jest.config.ts",
+ "src/**/*.test.ts",
+ "src/**/*.spec.ts",
+ "src/**/*.d.ts"
+ ]
+}
diff --git a/packages/metro-plugin-rnc-cli/.eslintrc.json b/packages/metro-plugin-rnc-cli/.eslintrc.json
new file mode 100644
index 0000000000..9d9c0db55b
--- /dev/null
+++ b/packages/metro-plugin-rnc-cli/.eslintrc.json
@@ -0,0 +1,18 @@
+{
+ "extends": ["../../.eslintrc.json"],
+ "ignorePatterns": ["!**/*"],
+ "overrides": [
+ {
+ "files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
+ "rules": {}
+ },
+ {
+ "files": ["*.ts", "*.tsx"],
+ "rules": {}
+ },
+ {
+ "files": ["*.js", "*.jsx"],
+ "rules": {}
+ }
+ ]
+}
diff --git a/packages/metro-plugin-rnc-cli/LICENSE b/packages/metro-plugin-rnc-cli/LICENSE
new file mode 100644
index 0000000000..d43e20d53d
--- /dev/null
+++ b/packages/metro-plugin-rnc-cli/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2025 Callstack and Zephyr Cloud
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/metro-plugin-rnc-cli/README.md b/packages/metro-plugin-rnc-cli/README.md
new file mode 100644
index 0000000000..262627bcaa
--- /dev/null
+++ b/packages/metro-plugin-rnc-cli/README.md
@@ -0,0 +1,70 @@
+# @module-federation/metro-plugin-rnc-cli
+
+Module Federation for React Native Community CLI using Metro bundler. This plugin integrates the `@module-federation/metro` package with `@react-native-community/cli`, providing commands to bundle Module Federation host and remotes.
+
+## Installation
+
+1. Install the plugin:
+
+```bash
+npm install --save-dev @module-federation/metro-plugin-rnc-cli
+```
+
+## Usage
+
+### Bundle a Module Federation Host
+
+```bash
+# Bundle for iOS
+react-native bundle-mf-host --entry-file index.js --platform ios
+
+# Bundle for Android
+react-native bundle-mf-host --entry-file index.js --platform android
+```
+
+### Bundle a Module Federation Remote
+
+```bash
+# Bundle for iOS
+react-native bundle-mf-remote --platform ios
+
+# Bundle for Android
+react-native bundle-mf-remote --platform android
+```
+
+### Available Options
+
+#### `bundle-mf-host`
+
+- `--entry-file `: Path to the root JavaScript entry file
+- `--platform `: Target platform (default: "ios") - Either "ios" or "android"
+- `--transformer `: Specify a custom transformer
+- `--dev [boolean]`: If false, warnings are disabled and the bundle is minified (default: true)
+- `--minify [boolean]`: Allows overriding whether bundle is minified. This defaults to false if dev is true, and true if dev is false. Disabling minification can be useful for speeding up production builds for testing purposes.
+- `--bundle-output `: File path where to store the resulting bundle
+- `--bundle-encoding `: Encoding the bundle should be written in (default: "utf8")
+- `--resolver-option `: Custom resolver options (key=value format, URL-encoded, can be specified multiple times)
+- `--sourcemap-output `: File name where to store the sourcemap file for resulting bundle, ex. /tmp/groups.map
+- `--sourcemap-sources-root `: Path to make sourcemap's sources entries relative to, ex. /root/dir
+- `--sourcemap-use-absolute-path`: Report SourceMapURL using its full path (default: false)
+- `--max-workers `: Specifies the maximum number of workers the worker-pool will spawn for transforming files. This defaults to the number of the cores available on your machine.
+- `--assets-dest `: Directory name where to store assets referenced in the bundle
+- `--reset-cache`: Removes cached files (default: false)
+- `--read-global-cache`: Try to fetch transformed JS code from the global cache, if configured (default: false)
+- `--config `: Path to the CLI configuration file
+
+#### `bundle-mf-remote`
+
+- `--platform `: Target platform (default: "ios") - Either "ios" or "android"
+- `--dev [boolean]`: If false, warnings are disabled and the bundle is minified (default: true)
+- `--minify [boolean]`: Allows overriding whether bundle is minified. This defaults to false if dev is true, and true if dev is false. Disabling minification can be useful for speeding up production builds for testing purposes.
+- `--bundle-encoding `: Encoding the bundle should be written in (default: "utf8")
+- `--max-workers `: Specifies the maximum number of workers the worker-pool will spawn for transforming files. This defaults to the number of the cores available on your machine.
+- `--bundle-output `: File path where to store the resulting bundle
+- `--sourcemap-output `: File name where to store the sourcemap file for resulting bundle, ex. /tmp/groups.map
+- `--sourcemap-sources-root `: Path to make sourcemap's sources entries relative to, ex. /root/dir
+- `--sourcemap-use-absolute-path`: Report SourceMapURL using its full path (default: false)
+- `--assets-dest `: Directory name where to store assets referenced in the bundle
+- `--asset-catalog-dest [string]`: Path where to create an iOS Asset Catalog for images
+- `--reset-cache`: Removes cached files (default: false)
+- `--config `: Path to the CLI configuration file
diff --git a/packages/metro-plugin-rnc-cli/index.js b/packages/metro-plugin-rnc-cli/index.js
new file mode 100644
index 0000000000..a42d374304
--- /dev/null
+++ b/packages/metro-plugin-rnc-cli/index.js
@@ -0,0 +1,30 @@
+const { default: commands } = require('@module-federation/metro/commands');
+
+const {
+ bundleFederatedHost,
+ bundleFederatedHostOptions,
+ bundleFederatedRemote,
+ bundleFederatedRemoteOptions,
+ loadMetroConfig,
+} = commands;
+
+const bundleMFHostCommand = {
+ name: 'bundle-mf-host',
+ description: 'Bundles a Module Federation host',
+ func: bundleFederatedHost,
+ options: bundleFederatedHostOptions,
+};
+
+const bundleMFRemoteCommand = {
+ name: 'bundle-mf-remote',
+ description:
+ 'Bundles a Module Federation remote, including its container entry and all exposed modules for consumption by host applications',
+ func: bundleFederatedRemote,
+ options: bundleFederatedRemoteOptions,
+};
+
+module.exports = {
+ bundleMFHostCommand,
+ bundleMFRemoteCommand,
+ loadMetroConfig,
+};
diff --git a/packages/metro-plugin-rnc-cli/jest.config.ts b/packages/metro-plugin-rnc-cli/jest.config.ts
new file mode 100644
index 0000000000..1db901e700
--- /dev/null
+++ b/packages/metro-plugin-rnc-cli/jest.config.ts
@@ -0,0 +1,10 @@
+export default {
+ displayName: '@module-federation/metro-plugin-rnc-cli',
+ preset: '../../jest.preset.js',
+ testEnvironment: 'node',
+ transform: {
+ '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }],
+ },
+ moduleFileExtensions: ['ts', 'js', 'html'],
+ coverageDirectory: '../../coverage/packages/metro-rnc-cli',
+};
diff --git a/packages/metro-plugin-rnc-cli/package.json b/packages/metro-plugin-rnc-cli/package.json
new file mode 100644
index 0000000000..cc574c4e4a
--- /dev/null
+++ b/packages/metro-plugin-rnc-cli/package.json
@@ -0,0 +1,38 @@
+{
+ "name": "@module-federation/metro-plugin-rnc-cli",
+ "version": "0.0.1",
+ "description": "Metro Module Federation plugin for React Native Enterprise Framework (RNEF)",
+ "keywords": [
+ "rnc",
+ "cli",
+ "module-federation",
+ "metro",
+ "react-native"
+ ],
+ "type": "commonjs",
+ "license": "MIT",
+ "contributors": [
+ "Jakub Romańczyk (https://github.com/jbroma)",
+ "Kacper Wiszczuk (https://github.com/esemesek)"
+ ],
+ "publishConfig": {
+ "access": "public",
+ "registry": "https://registry.npmjs.org/"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/module-federation/core",
+ "directory": "packages/metro-plugin-rnc-cli"
+ },
+ "files": [
+ "react-native.config.js"
+ ],
+ "main": "./index.js",
+ "exports": "./index.js",
+ "peerDependencies": {
+ "@module-federation/metro": "workspace:*"
+ },
+ "devDependencies": {
+ "@module-federation/metro": "workspace:*"
+ }
+}
diff --git a/packages/metro-plugin-rnc-cli/project.json b/packages/metro-plugin-rnc-cli/project.json
new file mode 100644
index 0000000000..e1499423a3
--- /dev/null
+++ b/packages/metro-plugin-rnc-cli/project.json
@@ -0,0 +1,12 @@
+{
+ "name": "metro-plugin-rnc-cli",
+ "$schema": "../../node_modules/nx/schemas/project-schema.json",
+ "sourceRoot": "packages/metro-plugin-rnc-cli/",
+ "projectType": "library",
+ "tags": ["type:pkg"],
+ "targets": {
+ "lint": {
+ "executor": "@nx/eslint:lint"
+ }
+ }
+}
diff --git a/packages/metro-plugin-rnc-cli/react-native.config.js b/packages/metro-plugin-rnc-cli/react-native.config.js
new file mode 100644
index 0000000000..3140a7bfc9
--- /dev/null
+++ b/packages/metro-plugin-rnc-cli/react-native.config.js
@@ -0,0 +1,3 @@
+const { bundleMFHostCommand, bundleMFRemoteCommand } = require('./index');
+
+module.exports = { commands: [bundleMFHostCommand, bundleMFRemoteCommand] };
diff --git a/packages/metro-plugin-rnef/.eslintrc.json b/packages/metro-plugin-rnef/.eslintrc.json
new file mode 100644
index 0000000000..9d9c0db55b
--- /dev/null
+++ b/packages/metro-plugin-rnef/.eslintrc.json
@@ -0,0 +1,18 @@
+{
+ "extends": ["../../.eslintrc.json"],
+ "ignorePatterns": ["!**/*"],
+ "overrides": [
+ {
+ "files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
+ "rules": {}
+ },
+ {
+ "files": ["*.ts", "*.tsx"],
+ "rules": {}
+ },
+ {
+ "files": ["*.js", "*.jsx"],
+ "rules": {}
+ }
+ ]
+}
diff --git a/packages/metro-plugin-rnef/LICENSE b/packages/metro-plugin-rnef/LICENSE
new file mode 100644
index 0000000000..d43e20d53d
--- /dev/null
+++ b/packages/metro-plugin-rnef/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2025 Callstack and Zephyr Cloud
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/metro-plugin-rnef/README.md b/packages/metro-plugin-rnef/README.md
new file mode 100644
index 0000000000..7ae2f9c69c
--- /dev/null
+++ b/packages/metro-plugin-rnef/README.md
@@ -0,0 +1,85 @@
+# @module-federation/metro-plugin-rnef
+
+Module Federation for React Native Enterprise Framework (RNEF) using Metro bundler. This plugin integrates the `@module-federation/metro` package with RNEF, providing commands to bundle Module Federation host and remotes.
+
+## Installation
+
+1. First, ensure you have [RNEF](https://github.com/callstack/rnef) set up in your project.
+
+2. Install the plugin:
+
+```bash
+npm install --save-dev @module-federation/metro-plugin-rnef
+```
+
+3. Add the plugin to your RNEF configuration (typically in `rnef.config.mjs`):
+
+```typescript
+import { pluginMetro } from "@rnef/plugin-metro";
+import moduleFederation from "@module-federation/metro-plugin-rnef";
+
+/** @type {import('@rnef/config').Config} */
+export default {
+ bundler: pluginMetro(),
+ plugins: [moduleFederation()],
+};
+```
+
+## Usage
+
+### Bundle a Module Federation Host
+
+```bash
+# Bundle for iOS
+rnef bundle-mf-host --entry-file index.js --platform ios
+
+# Bundle for Android
+rnef bundle-mf-host --entry-file index.js --platform android
+```
+
+### Bundle a Module Federation Remote
+
+```bash
+# Bundle for iOS
+rnef bundle-mf-remote --platform ios
+
+# Bundle for Android
+rnef bundle-mf-remote --platform android
+```
+
+### Available Options
+
+#### `bundle-mf-host`
+
+- `--entry-file `: Path to the root JavaScript entry file
+- `--platform `: Target platform (default: "ios") - Either "ios" or "android"
+- `--transformer `: Specify a custom transformer
+- `--dev [boolean]`: If false, warnings are disabled and the bundle is minified (default: true)
+- `--minify [boolean]`: Allows overriding whether bundle is minified. This defaults to false if dev is true, and true if dev is false. Disabling minification can be useful for speeding up production builds for testing purposes.
+- `--bundle-output `: File path where to store the resulting bundle
+- `--bundle-encoding `: Encoding the bundle should be written in (default: "utf8")
+- `--resolver-option `: Custom resolver options (key=value format, URL-encoded, can be specified multiple times)
+- `--sourcemap-output `: File name where to store the sourcemap file for resulting bundle, ex. /tmp/groups.map
+- `--sourcemap-sources-root `: Path to make sourcemap's sources entries relative to, ex. /root/dir
+- `--sourcemap-use-absolute-path`: Report SourceMapURL using its full path (default: false)
+- `--max-workers `: Specifies the maximum number of workers the worker-pool will spawn for transforming files. This defaults to the number of the cores available on your machine.
+- `--assets-dest `: Directory name where to store assets referenced in the bundle
+- `--reset-cache`: Removes cached files (default: false)
+- `--read-global-cache`: Try to fetch transformed JS code from the global cache, if configured (default: false)
+- `--config `: Path to the CLI configuration file
+
+#### `bundle-mf-remote`
+
+- `--platform `: Target platform (default: "ios") - Either "ios" or "android"
+- `--dev [boolean]`: If false, warnings are disabled and the bundle is minified (default: true)
+- `--minify [boolean]`: Allows overriding whether bundle is minified. This defaults to false if dev is true, and true if dev is false. Disabling minification can be useful for speeding up production builds for testing purposes.
+- `--bundle-encoding `: Encoding the bundle should be written in (default: "utf8")
+- `--max-workers `: Specifies the maximum number of workers the worker-pool will spawn for transforming files. This defaults to the number of the cores available on your machine.
+- `--bundle-output `: File path where to store the resulting bundle
+- `--sourcemap-output `: File name where to store the sourcemap file for resulting bundle, ex. /tmp/groups.map
+- `--sourcemap-sources-root `: Path to make sourcemap's sources entries relative to, ex. /root/dir
+- `--sourcemap-use-absolute-path`: Report SourceMapURL using its full path (default: false)
+- `--assets-dest `: Directory name where to store assets referenced in the bundle
+- `--asset-catalog-dest [string]`: Path where to create an iOS Asset Catalog for images
+- `--reset-cache`: Removes cached files (default: false)
+- `--config `: Path to the CLI configuration file
diff --git a/packages/metro-plugin-rnef/package.json b/packages/metro-plugin-rnef/package.json
new file mode 100644
index 0000000000..945eddc8ff
--- /dev/null
+++ b/packages/metro-plugin-rnef/package.json
@@ -0,0 +1,52 @@
+{
+ "name": "@module-federation/metro-plugin-rnef",
+ "version": "0.0.1",
+ "description": "Metro Module Federation plugin for React Native Enterprise Framework (RNEF)",
+ "keywords": [
+ "rnef",
+ "module-federation",
+ "metro",
+ "react-native"
+ ],
+ "type": "module",
+ "license": "MIT",
+ "contributors": [
+ "Jakub Romańczyk (https://github.com/jbroma)",
+ "Kacper Wiszczuk (https://github.com/esemesek)"
+ ],
+ "publishConfig": {
+ "access": "public",
+ "registry": "https://registry.npmjs.org/"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/module-federation/core",
+ "directory": "packages/metro-plugin-rnef"
+ },
+ "files": [
+ "dist/"
+ ],
+ "main": "./dist/index.js",
+ "types": "./dist/index.d.ts",
+ "exports": {
+ "types": "./dist/index.d.ts",
+ "require": "./dist/index.cjs",
+ "default": "./dist/index.js"
+ },
+ "scripts": {
+ "build": "rslib build",
+ "typecheck": "tsc --noEmit"
+ },
+ "peerDependencies": {
+ "@module-federation/metro": "workspace:*",
+ "@rnef/tools": "^0.7.18"
+ },
+ "devDependencies": {
+ "@module-federation/metro": "workspace:*",
+ "@rnef/config": "^0.7.18",
+ "@rnef/tools": "^0.7.18",
+ "@rslib/core": "^0.10.0",
+ "@types/node": "^20.0.0",
+ "typescript": "^5.8.3"
+ }
+}
diff --git a/packages/metro-plugin-rnef/project.json b/packages/metro-plugin-rnef/project.json
new file mode 100644
index 0000000000..8c83cd9d7b
--- /dev/null
+++ b/packages/metro-plugin-rnef/project.json
@@ -0,0 +1,12 @@
+{
+ "name": "metro-plugin-rnef",
+ "$schema": "../../node_modules/nx/schemas/project-schema.json",
+ "sourceRoot": "packages/metro-plugin-rnef/src",
+ "projectType": "library",
+ "tags": ["type:pkg"],
+ "targets": {
+ "lint": {
+ "executor": "@nx/eslint:lint"
+ }
+ }
+}
diff --git a/packages/metro-plugin-rnef/rslib.config.ts b/packages/metro-plugin-rnef/rslib.config.ts
new file mode 100644
index 0000000000..9e989b3ff2
--- /dev/null
+++ b/packages/metro-plugin-rnef/rslib.config.ts
@@ -0,0 +1,11 @@
+import { defineConfig } from '@rslib/core';
+
+export default defineConfig({
+ lib: [
+ { format: 'esm', syntax: 'es2021', bundle: false, dts: { bundle: false } },
+ { format: 'cjs', syntax: 'es2021', bundle: false },
+ ],
+ source: {
+ tsconfigPath: './tsconfig.build.json',
+ },
+});
diff --git a/packages/metro-plugin-rnef/src/index.ts b/packages/metro-plugin-rnef/src/index.ts
new file mode 100644
index 0000000000..3bde1f1a0e
--- /dev/null
+++ b/packages/metro-plugin-rnef/src/index.ts
@@ -0,0 +1,4 @@
+import { pluginMetroModuleFederation } from './plugin.js';
+
+export { pluginMetroModuleFederation };
+export default pluginMetroModuleFederation;
diff --git a/packages/metro-plugin-rnef/src/plugin.ts b/packages/metro-plugin-rnef/src/plugin.ts
new file mode 100644
index 0000000000..7da9e2e323
--- /dev/null
+++ b/packages/metro-plugin-rnef/src/plugin.ts
@@ -0,0 +1,78 @@
+import commands from '@module-federation/metro/commands';
+import type {
+ BundleFederatedHostArgs,
+ BundleFederatedRemoteArgs,
+} from '@module-federation/metro/commands';
+import type { PluginApi, PluginOutput } from '@rnef/config';
+import { color, logger, outro } from '@rnef/tools';
+
+interface PluginConfig {
+ platforms?: Record;
+}
+
+export const pluginMetroModuleFederation =
+ (pluginConfig: PluginConfig = {}) =>
+ (api: PluginApi): PluginOutput => {
+ // Register the bundle-mf-host command
+ api.registerCommand({
+ name: 'bundle-mf-host',
+ description: 'Bundles a Module Federation host',
+ action: async (args: BundleFederatedHostArgs) => {
+ const commandConfig = {
+ root: api.getProjectRoot(),
+ platforms: api.getPlatforms(),
+ reactNativePath: api.getReactNativePath(),
+ ...pluginConfig,
+ };
+
+ logger.info(
+ `Bundling Module Federation host for platform ${color.cyan(
+ args.platform,
+ )}`,
+ );
+
+ await commands.bundleFederatedHost([], commandConfig, args);
+ logger.info('Bundle artifacts available at ...');
+ outro('Success 🎉.');
+ },
+ options: [
+ ...commands.bundleFederatedHostOptions,
+ {
+ name: '--config-cmd [string]',
+ description:
+ '[Internal] A hack for Xcode build script pointing to wrong bundle command that recognizes this flag. Do not use.',
+ },
+ ],
+ });
+
+ // Register the bundle-mf-remote command
+ api.registerCommand({
+ name: 'bundle-mf-remote',
+ description:
+ 'Bundles a Module Federation remote, including its container entry and all exposed modules for consumption by host applications',
+ action: async (args: BundleFederatedRemoteArgs) => {
+ const commandConfig = {
+ root: api.getProjectRoot(),
+ platforms: api.getPlatforms(),
+ reactNativePath: api.getReactNativePath(),
+ ...pluginConfig,
+ };
+
+ logger.info(
+ `Bundling Module Federation remote for platform ${color.cyan(
+ args.platform,
+ )}`,
+ );
+
+ await commands.bundleFederatedRemote([], commandConfig, args);
+ logger.info('Bundle artifacts available at ...');
+ outro('Success 🎉.');
+ },
+ options: commands.bundleFederatedRemoteOptions,
+ });
+
+ return {
+ name: '@module-federation/metro-plugin-rnef',
+ description: 'RNEF plugin for Module Federation with Metro',
+ };
+ };
diff --git a/packages/metro-plugin-rnef/tsconfig.build.json b/packages/metro-plugin-rnef/tsconfig.build.json
new file mode 100644
index 0000000000..67c581e807
--- /dev/null
+++ b/packages/metro-plugin-rnef/tsconfig.build.json
@@ -0,0 +1,10 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "rootDir": "src",
+ "outDir": "dist",
+ "sourceMap": false,
+ "declarationMap": false,
+ "moduleResolution": "bundler"
+ }
+}
diff --git a/packages/metro-plugin-rnef/tsconfig.json b/packages/metro-plugin-rnef/tsconfig.json
new file mode 100644
index 0000000000..798324680d
--- /dev/null
+++ b/packages/metro-plugin-rnef/tsconfig.json
@@ -0,0 +1,7 @@
+{
+ "extends": "../../tsconfig.base.json",
+ "include": ["src"],
+ "compilerOptions": {
+ "rootDir": "src"
+ }
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2d39503615..821429497b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -121,10 +121,10 @@ importers:
version: 21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@typescript-eslint/parser@7.18.0)(eslint-config-prettier@10.1.5)(eslint@8.57.1)(nx@21.2.3)(typescript@5.8.3)(verdaccio@6.1.2)
'@nx/express':
specifier: 21.2.3
- version: 21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(eslint@8.57.1)(express@4.21.2)(nx@21.2.3)(typescript@5.8.3)(verdaccio@6.1.2)
+ version: 21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(eslint@8.57.1)(express@4.21.2)(nx@21.2.3)(ts-node@10.9.1)(typescript@5.8.3)(verdaccio@6.1.2)
'@nx/jest':
specifier: 21.2.3
- version: 21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(nx@21.2.3)(typescript@5.8.3)(verdaccio@6.1.2)
+ version: 21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(nx@21.2.3)(ts-node@10.9.1)(typescript@5.8.3)(verdaccio@6.1.2)
'@nx/js':
specifier: 21.2.3
version: 21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(nx@21.2.3)(verdaccio@6.1.2)
@@ -136,13 +136,13 @@ importers:
version: 21.2.3(@babel/core@7.28.0)(@rspack/core@1.3.9)(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@swc/helpers@0.5.13)(esbuild@0.25.0)(eslint@8.57.1)(html-webpack-plugin@5.6.2)(next@14.2.16)(nx@21.2.3)(react-dom@18.3.1)(react@18.3.1)(typescript@5.8.3)(verdaccio@6.1.2)(vue-tsc@2.2.10)(webpack-cli@5.1.4)(webpack@5.98.0)
'@nx/node':
specifier: 21.2.3
- version: 21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(eslint@8.57.1)(nx@21.2.3)(typescript@5.8.3)(verdaccio@6.1.2)
+ version: 21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(eslint@8.57.1)(nx@21.2.3)(ts-node@10.9.1)(typescript@5.8.3)(verdaccio@6.1.2)
'@nx/react':
specifier: 21.2.3
version: 21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@swc/helpers@0.5.13)(esbuild@0.25.0)(eslint@8.57.1)(next@14.2.16)(nx@21.2.3)(react-dom@18.3.1)(react@18.3.1)(typescript@5.8.3)(verdaccio@6.1.2)(vue-tsc@2.2.10)(webpack-cli@5.1.4)(webpack@5.98.0)
'@nx/rollup':
specifier: 21.2.3
- version: 21.2.3(@babel/core@7.28.0)(@swc-node/register@1.10.10)(@swc/core@1.7.26)(nx@21.2.3)(typescript@5.8.3)(verdaccio@6.1.2)
+ version: 21.2.3(@babel/core@7.28.0)(@swc-node/register@1.10.10)(@swc/core@1.7.26)(nx@21.2.3)(ts-node@10.9.1)(typescript@5.8.3)(verdaccio@6.1.2)
'@nx/rspack':
specifier: 21.2.3
version: 21.2.3(@module-federation/enhanced@0.15.0)(@module-federation/node@packages+node)(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@swc/helpers@0.5.13)(@types/express@4.17.21)(esbuild@0.25.0)(less@4.4.0)(next@14.2.16)(nx@21.2.3)(react-dom@18.3.1)(react-refresh@0.14.2)(react@18.3.1)(typescript@5.8.3)(verdaccio@6.1.2)(vue-tsc@2.2.10)(webpack-cli@5.1.4)
@@ -352,10 +352,10 @@ importers:
version: 8.0.3
jest:
specifier: 29.7.0
- version: 29.7.0(@types/node@18.16.9)
+ version: 29.7.0(@types/node@18.16.9)(ts-node@10.9.1)
jest-cli:
specifier: 29.7.0
- version: 29.7.0(@types/node@18.16.9)
+ version: 29.7.0(@types/node@18.16.9)(ts-node@10.9.1)
jest-environment-jsdom:
specifier: 29.7.0
version: 29.7.0
@@ -427,19 +427,22 @@ importers:
version: 0.2.6(@swc/core@1.7.26)(webpack@5.98.0)
tailwindcss:
specifier: 3.4.13
- version: 3.4.13
+ version: 3.4.13(ts-node@10.9.1)
terser-webpack-plugin:
specifier: ^5.3.10
version: 5.3.10(@swc/core@1.7.26)(esbuild@0.25.0)(webpack@5.98.0)
ts-jest:
specifier: 29.1.5
version: 29.1.5(@babel/core@7.28.0)(babel-jest@29.7.0)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.8.3)
+ ts-node:
+ specifier: 10.9.1
+ version: 10.9.1(@swc/core@1.7.26)(@types/node@18.16.9)(typescript@5.8.3)
tslib:
specifier: 2.8.1
version: 2.8.1
tsup:
specifier: 7.3.0
- version: 7.3.0(@swc/core@1.7.26)(postcss@8.4.38)(typescript@5.8.3)
+ version: 7.3.0(@swc/core@1.7.26)(postcss@8.4.38)(ts-node@10.9.1)(typescript@5.8.3)
typescript:
specifier: 5.8.3
version: 5.8.3
@@ -859,6 +862,270 @@ importers:
specifier: 0.14.2
version: 0.14.2
+ apps/metro-example-host:
+ dependencies:
+ lodash:
+ specifier: 4.16.6
+ version: 4.16.6
+ react:
+ specifier: 19.1.0
+ version: 19.1.0
+ react-native:
+ specifier: 0.80.0
+ version: 0.80.0(@babel/core@7.28.0)(@react-native-community/cli@19.1.1)(@types/react@19.1.8)(react@19.1.0)
+ devDependencies:
+ '@babel/core':
+ specifier: ^7.25.2
+ version: 7.28.0
+ '@babel/preset-env':
+ specifier: ^7.25.3
+ version: 7.28.0(@babel/core@7.28.0)
+ '@babel/runtime':
+ specifier: ^7.25.0
+ version: 7.28.2
+ '@module-federation/metro':
+ specifier: workspace:*
+ version: link:../../packages/metro-core
+ '@module-federation/metro-plugin-rnef':
+ specifier: workspace:*
+ version: link:../../packages/metro-plugin-rnef
+ '@module-federation/runtime':
+ specifier: ^0.15.0
+ version: 0.15.0
+ '@react-native/babel-preset':
+ specifier: 0.80.0
+ version: 0.80.0(@babel/core@7.28.0)
+ '@react-native/eslint-config':
+ specifier: 0.80.0
+ version: 0.80.0(eslint@8.57.1)(jest@29.7.0)(prettier@2.8.8)(typescript@5.0.4)
+ '@react-native/metro-config':
+ specifier: 0.80.0
+ version: 0.80.0(@babel/core@7.28.0)
+ '@react-native/typescript-config':
+ specifier: 0.80.0
+ version: 0.80.0
+ '@rnef/cli':
+ specifier: ^0.7.25
+ version: 0.7.28(typescript@5.0.4)
+ '@rnef/platform-android':
+ specifier: ^0.7.25
+ version: 0.7.28
+ '@rnef/platform-ios':
+ specifier: ^0.7.25
+ version: 0.7.28(typescript@5.0.4)
+ '@rnef/plugin-metro':
+ specifier: ^0.7.25
+ version: 0.7.28(@react-native/community-cli-plugin@0.80.0)
+ '@types/jest':
+ specifier: ^29.5.13
+ version: 29.5.13
+ '@types/lodash':
+ specifier: ^4
+ version: 4.17.9
+ '@types/react':
+ specifier: ^19.1.0
+ version: 19.1.8
+ '@types/react-test-renderer':
+ specifier: ^19.1.0
+ version: 19.1.0
+ eslint:
+ specifier: ^8.19.0
+ version: 8.57.1
+ jest:
+ specifier: ^29.6.3
+ version: 29.7.0(@types/node@18.16.9)(ts-node@10.9.1)
+ nodemon:
+ specifier: ^3.1.9
+ version: 3.1.10
+ prettier:
+ specifier: 2.8.8
+ version: 2.8.8
+ react-test-renderer:
+ specifier: 19.1.0
+ version: 19.1.0(react@19.1.0)
+ typescript:
+ specifier: 5.0.4
+ version: 5.0.4
+
+ apps/metro-example-mini:
+ dependencies:
+ lodash:
+ specifier: ^4.17.21
+ version: 4.17.21
+ react:
+ specifier: 19.1.0
+ version: 19.1.0
+ react-native:
+ specifier: 0.80.0
+ version: 0.80.0(@babel/core@7.28.0)(@react-native-community/cli@19.1.1)(@types/react@19.1.8)(react@19.1.0)
+ devDependencies:
+ '@babel/core':
+ specifier: ^7.25.2
+ version: 7.28.0
+ '@babel/preset-env':
+ specifier: ^7.25.3
+ version: 7.28.0(@babel/core@7.28.0)
+ '@babel/runtime':
+ specifier: ^7.25.0
+ version: 7.28.2
+ '@module-federation/metro':
+ specifier: workspace:*
+ version: link:../../packages/metro-core
+ '@module-federation/metro-plugin-rnef':
+ specifier: workspace:*
+ version: link:../../packages/metro-plugin-rnef
+ '@module-federation/runtime':
+ specifier: ^0.15.0
+ version: 0.15.0
+ '@react-native-community/cli':
+ specifier: ^19.1.0
+ version: 19.1.1(typescript@5.0.4)
+ '@react-native/babel-preset':
+ specifier: 0.80.0
+ version: 0.80.0(@babel/core@7.28.0)
+ '@react-native/eslint-config':
+ specifier: 0.80.0
+ version: 0.80.0(eslint@8.57.1)(jest@29.7.0)(prettier@2.8.8)(typescript@5.0.4)
+ '@react-native/metro-config':
+ specifier: 0.80.0
+ version: 0.80.0(@babel/core@7.28.0)
+ '@react-native/typescript-config':
+ specifier: 0.80.0
+ version: 0.80.0
+ '@rnef/cli':
+ specifier: ^0.7.25
+ version: 0.7.28(typescript@5.0.4)
+ '@rnef/platform-android':
+ specifier: ^0.7.25
+ version: 0.7.28
+ '@rnef/platform-ios':
+ specifier: ^0.7.25
+ version: 0.7.28(typescript@5.0.4)
+ '@rnef/plugin-metro':
+ specifier: ^0.7.25
+ version: 0.7.28(@react-native/community-cli-plugin@0.80.0)
+ '@types/jest':
+ specifier: ^29.5.13
+ version: 29.5.13
+ '@types/lodash':
+ specifier: ^4
+ version: 4.17.9
+ '@types/react':
+ specifier: ^19.1.0
+ version: 19.1.8
+ '@types/react-test-renderer':
+ specifier: ^19.1.0
+ version: 19.1.0
+ eslint:
+ specifier: ^8.19.0
+ version: 8.57.1
+ jest:
+ specifier: ^29.6.3
+ version: 29.7.0(@types/node@18.16.9)(ts-node@10.9.1)
+ nodemon:
+ specifier: ^3.1.9
+ version: 3.1.10
+ prettier:
+ specifier: 2.8.8
+ version: 2.8.8
+ react-test-renderer:
+ specifier: 19.1.0
+ version: 19.1.0(react@19.1.0)
+ serve:
+ specifier: ^14.2.4
+ version: 14.2.4
+ typescript:
+ specifier: 5.0.4
+ version: 5.0.4
+
+ apps/metro-example-nested-mini:
+ dependencies:
+ lodash:
+ specifier: 4.16.6
+ version: 4.16.6
+ react:
+ specifier: 19.1.0
+ version: 19.1.0
+ react-native:
+ specifier: 0.80.0
+ version: 0.80.0(@babel/core@7.28.0)(@react-native-community/cli@19.1.1)(@types/react@19.1.8)(react@19.1.0)
+ devDependencies:
+ '@babel/core':
+ specifier: ^7.25.2
+ version: 7.28.0
+ '@babel/preset-env':
+ specifier: ^7.25.3
+ version: 7.28.0(@babel/core@7.28.0)
+ '@babel/runtime':
+ specifier: ^7.25.0
+ version: 7.28.2
+ '@module-federation/metro':
+ specifier: workspace:*
+ version: link:../../packages/metro-core
+ '@module-federation/metro-plugin-rnef':
+ specifier: workspace:*
+ version: link:../../packages/metro-plugin-rnef
+ '@module-federation/runtime':
+ specifier: ^0.15.0
+ version: 0.15.0
+ '@react-native/babel-preset':
+ specifier: 0.80.0
+ version: 0.80.0(@babel/core@7.28.0)
+ '@react-native/eslint-config':
+ specifier: 0.80.0
+ version: 0.80.0(eslint@8.57.1)(jest@29.7.0)(prettier@2.8.8)(typescript@5.0.4)
+ '@react-native/metro-config':
+ specifier: 0.80.0
+ version: 0.80.0(@babel/core@7.28.0)
+ '@react-native/typescript-config':
+ specifier: 0.80.0
+ version: 0.80.0
+ '@rnef/cli':
+ specifier: ^0.7.25
+ version: 0.7.28(typescript@5.0.4)
+ '@rnef/platform-android':
+ specifier: ^0.7.25
+ version: 0.7.28
+ '@rnef/platform-ios':
+ specifier: ^0.7.25
+ version: 0.7.28(typescript@5.0.4)
+ '@rnef/plugin-metro':
+ specifier: ^0.7.25
+ version: 0.7.28(@react-native/community-cli-plugin@0.80.0)
+ '@types/jest':
+ specifier: ^29.5.13
+ version: 29.5.13
+ '@types/lodash':
+ specifier: ^4
+ version: 4.17.9
+ '@types/react':
+ specifier: ^19.1.0
+ version: 19.1.8
+ '@types/react-test-renderer':
+ specifier: ^19.1.0
+ version: 19.1.0
+ eslint:
+ specifier: ^8.19.0
+ version: 8.57.1
+ jest:
+ specifier: ^29.6.3
+ version: 29.7.0(@types/node@18.16.9)(ts-node@10.9.1)
+ nodemon:
+ specifier: ^3.1.9
+ version: 3.1.10
+ prettier:
+ specifier: 2.8.8
+ version: 2.8.8
+ react-test-renderer:
+ specifier: 19.1.0
+ version: 19.1.0(react@19.1.0)
+ serve:
+ specifier: ^14.2.4
+ version: 14.2.4
+ typescript:
+ specifier: 5.0.4
+ version: 5.0.4
+
apps/modern-component-data-fetch/host:
dependencies:
'@babel/runtime':
@@ -885,7 +1152,7 @@ importers:
version: 2.59.0(typescript@5.0.4)
'@modern-js/app-tools':
specifier: 2.68.0
- version: 2.68.0(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(typescript@5.0.4)(webpack-cli@5.1.4)
+ version: 2.68.0(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4)(webpack-cli@5.1.4)
'@modern-js/eslint-config':
specifier: 2.59.0
version: 2.59.0(typescript@5.0.4)
@@ -943,7 +1210,7 @@ importers:
version: 2.59.0(typescript@5.0.4)
'@modern-js/app-tools':
specifier: 2.68.0
- version: 2.68.0(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(typescript@5.0.4)(webpack-cli@5.1.4)
+ version: 2.68.0(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4)(webpack-cli@5.1.4)
'@modern-js/eslint-config':
specifier: 2.59.0
version: 2.59.0(typescript@5.0.4)
@@ -1034,7 +1301,7 @@ importers:
version: 2.59.0(typescript@5.0.4)
'@modern-js/app-tools':
specifier: 2.68.2
- version: 2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(typescript@5.0.4)(webpack-cli@5.1.4)
+ version: 2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4)(webpack-cli@5.1.4)
'@modern-js/eslint-config':
specifier: 2.59.0
version: 2.59.0(typescript@5.0.4)
@@ -1092,7 +1359,7 @@ importers:
version: 2.59.0(typescript@5.0.4)
'@modern-js/app-tools':
specifier: 2.68.2
- version: 2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(typescript@5.0.4)(webpack-cli@5.1.4)
+ version: 2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4)(webpack-cli@5.1.4)
'@modern-js/eslint-config':
specifier: 2.59.0
version: 2.59.0(typescript@5.0.4)
@@ -1177,7 +1444,7 @@ importers:
version: 2.59.0(typescript@5.0.4)
'@modern-js/app-tools':
specifier: 2.68.2
- version: 2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(typescript@5.0.4)(webpack-cli@5.1.4)
+ version: 2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4)(webpack-cli@5.1.4)
'@modern-js/eslint-config':
specifier: 2.59.0
version: 2.59.0(typescript@5.0.4)
@@ -1235,7 +1502,7 @@ importers:
version: 2.59.0(typescript@5.0.4)
'@modern-js/app-tools':
specifier: 2.68.2
- version: 2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(typescript@5.0.4)(webpack-cli@5.1.4)
+ version: 2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4)(webpack-cli@5.1.4)
'@modern-js/eslint-config':
specifier: 2.59.0
version: 2.59.0(typescript@5.0.4)
@@ -1293,7 +1560,7 @@ importers:
version: 2.59.0(typescript@5.0.4)
'@modern-js/app-tools':
specifier: 2.68.2
- version: 2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(typescript@5.0.4)(webpack-cli@5.1.4)
+ version: 2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4)(webpack-cli@5.1.4)
'@modern-js/eslint-config':
specifier: 2.59.0
version: 2.59.0(typescript@5.0.4)
@@ -1351,7 +1618,7 @@ importers:
version: 2.59.0(typescript@5.0.4)
'@modern-js/app-tools':
specifier: 2.68.2
- version: 2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(typescript@5.0.4)(webpack-cli@5.1.4)
+ version: 2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4)(webpack-cli@5.1.4)
'@modern-js/eslint-config':
specifier: 2.59.0
version: 2.59.0(typescript@5.0.4)
@@ -1409,7 +1676,7 @@ importers:
version: 2.59.0(typescript@5.0.4)
'@modern-js/app-tools':
specifier: 2.68.2
- version: 2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(typescript@5.0.4)(webpack-cli@5.1.4)
+ version: 2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4)(webpack-cli@5.1.4)
'@modern-js/eslint-config':
specifier: 2.59.0
version: 2.59.0(typescript@5.0.4)
@@ -1527,7 +1794,7 @@ importers:
version: 0.5.14(prettier@3.2.5)
tailwindcss:
specifier: 3.4.3
- version: 3.4.3
+ version: 3.4.3(ts-node@10.9.1)
typescript:
specifier: 5.4.5
version: 5.4.5
@@ -1618,7 +1885,7 @@ importers:
version: 0.5.14(prettier@3.2.5)
tailwindcss:
specifier: 3.4.3
- version: 3.4.3
+ version: 3.4.3(ts-node@10.9.1)
typescript:
specifier: 5.4.5
version: 5.4.5
@@ -1852,7 +2119,7 @@ importers:
version: 18.3.7(@types/react@18.3.11)
tailwindcss:
specifier: ^3.4.3
- version: 3.4.3
+ version: 3.4.3(ts-node@10.9.1)
typescript:
specifier: ^5.4.5
version: 5.5.2
@@ -1901,7 +2168,7 @@ importers:
version: 18.3.0
tailwindcss:
specifier: ^3.4.3
- version: 3.4.3
+ version: 3.4.3(ts-node@10.9.1)
typescript:
specifier: ^5.4.5
version: 5.5.2
@@ -1932,7 +2199,7 @@ importers:
version: 1.0.3(@rsbuild/core@1.3.21)(@swc/core@1.7.26)(esbuild@0.25.0)(vue@3.5.10)(webpack-cli@5.1.4)
tailwindcss:
specifier: ^3.4.3
- version: 3.4.3
+ version: 3.4.3(ts-node@10.9.1)
typescript:
specifier: ^5.4.2
version: 5.5.2
@@ -2052,7 +2319,7 @@ importers:
version: 0.5.1
tailwindcss:
specifier: ^3.4.3
- version: 3.4.3
+ version: 3.4.3(ts-node@10.9.1)
typescript:
specifier: ^5.4.2
version: 5.5.2
@@ -2340,7 +2607,7 @@ importers:
version: 0.0.1(rspress@2.0.0-beta.20)
tailwindcss:
specifier: ^3.2.7
- version: 3.4.3
+ version: 3.4.3(ts-node@10.9.1)
xgplayer:
specifier: ^3.0.16
version: 3.0.20(core-js@3.36.1)
@@ -2574,7 +2841,7 @@ importers:
version: 2.59.0(typescript@5.0.4)
'@modern-js/app-tools':
specifier: 2.68.2
- version: 2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(typescript@5.0.4)(webpack-cli@5.1.4)
+ version: 2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4)(webpack-cli@5.1.4)
'@modern-js/eslint-config':
specifier: 2.59.0
version: 2.59.0(typescript@5.0.4)
@@ -2724,7 +2991,7 @@ importers:
version: 18.0.38
jest:
specifier: ^29.7.0
- version: 29.7.0(@types/node@17.0.45)
+ version: 29.7.0(@types/node@17.0.45)(ts-node@10.9.1)
jest-environment-jsdom:
specifier: ^29.7.0
version: 29.7.0
@@ -2980,6 +3247,85 @@ importers:
specifier: 2.0.0
version: 2.0.0
+ packages/metro-core:
+ dependencies:
+ '@babel/types':
+ specifier: ^7.25.0
+ version: 7.28.2
+ '@expo/metro-runtime':
+ specifier: ^5.0.4
+ version: 5.0.4(react-native@0.80.0)
+ '@module-federation/runtime':
+ specifier: workspace:*
+ version: link:../runtime
+ '@module-federation/sdk':
+ specifier: workspace:*
+ version: link:../sdk
+ devDependencies:
+ '@rslib/core':
+ specifier: ^0.10.0
+ version: 0.10.6(typescript@5.8.3)
+ '@types/node':
+ specifier: ^20.0.0
+ version: 20.12.14
+ '@types/react':
+ specifier: ^19.1.0
+ version: 19.1.8
+ metro:
+ specifier: ^0.82.1
+ version: 0.82.5
+ metro-config:
+ specifier: ^0.82.1
+ version: 0.82.5
+ metro-file-map:
+ specifier: ^0.82.1
+ version: 0.82.5
+ metro-resolver:
+ specifier: ^0.82.1
+ version: 0.82.5
+ metro-source-map:
+ specifier: ^0.82.1
+ version: 0.82.5
+ react:
+ specifier: 19.1.0
+ version: 19.1.0
+ react-native:
+ specifier: 0.80.0
+ version: 0.80.0(@babel/core@7.28.0)(@react-native-community/cli@19.1.1)(@types/react@19.1.8)(react@19.1.0)
+ ts-node:
+ specifier: ^10.9.2
+ version: 10.9.2(@swc/core@1.7.26)(@types/node@20.12.14)(typescript@5.8.3)
+ typescript:
+ specifier: ^5.8.3
+ version: 5.8.3
+
+ packages/metro-plugin-rnc-cli:
+ devDependencies:
+ '@module-federation/metro':
+ specifier: workspace:*
+ version: link:../metro-core
+
+ packages/metro-plugin-rnef:
+ devDependencies:
+ '@module-federation/metro':
+ specifier: workspace:*
+ version: link:../metro-core
+ '@rnef/config':
+ specifier: ^0.7.18
+ version: 0.7.28
+ '@rnef/tools':
+ specifier: ^0.7.18
+ version: 0.7.28
+ '@rslib/core':
+ specifier: ^0.10.0
+ version: 0.10.6(typescript@5.8.3)
+ '@types/node':
+ specifier: ^20.0.0
+ version: 20.12.14
+ typescript:
+ specifier: ^5.8.3
+ version: 5.8.3
+
packages/modernjs:
dependencies:
'@modern-js/node-bundle-require':
@@ -3039,7 +3385,7 @@ importers:
devDependencies:
'@modern-js/app-tools':
specifier: 2.68.2
- version: 2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(typescript@5.5.2)(webpack-cli@5.1.4)
+ version: 2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.5.2)(webpack-cli@5.1.4)
'@modern-js/core':
specifier: 2.68.2
version: 2.68.2
@@ -3350,7 +3696,7 @@ importers:
version: link:../sdk
'@nx/react':
specifier: '>= 16.0.0'
- version: 20.1.1(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@20.12.14)(eslint@9.0.0)(nx@21.2.3)(react-dom@18.3.1)(react@18.3.1)(typescript@5.8.3)(verdaccio@6.1.2)(vue-tsc@2.2.10)(webpack@5.94.0)
+ version: 20.1.1(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@20.12.14)(eslint@8.57.1)(nx@21.2.3)(react-dom@18.3.1)(react@18.3.1)(typescript@5.8.3)(verdaccio@6.1.2)(vue-tsc@2.2.10)(webpack@5.94.0)
'@nx/webpack':
specifier: '>= 16.0.0'
version: 20.1.1(@rspack/core@1.3.9)(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@20.12.14)(esbuild@0.24.0)(html-webpack-plugin@5.6.2)(nx@21.2.3)(react-dom@18.3.1)(react@18.3.1)(typescript@5.8.3)(verdaccio@6.1.2)(vue-tsc@2.2.10)(webpack-cli@5.1.4)
@@ -3473,8 +3819,8 @@ packages:
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
dependencies:
- '@jridgewell/gen-mapping': 0.3.8
- '@jridgewell/trace-mapping': 0.3.25
+ '@jridgewell/gen-mapping': 0.3.12
+ '@jridgewell/trace-mapping': 0.3.29
/@ant-design/colors@6.0.0:
resolution: {integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==}
@@ -3548,7 +3894,7 @@ packages:
dependencies:
'@ant-design/colors': 7.1.0
'@ant-design/icons-svg': 4.4.2
- '@babel/runtime': 7.25.7
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
react: 17.0.2
@@ -3564,7 +3910,7 @@ packages:
dependencies:
'@ant-design/colors': 7.1.0
'@ant-design/icons-svg': 4.4.2
- '@babel/runtime': 7.25.7
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
@@ -3588,7 +3934,7 @@ packages:
peerDependencies:
react: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
json2mq: 0.2.0
react: 17.0.2
@@ -3601,7 +3947,7 @@ packages:
peerDependencies:
react: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
json2mq: 0.2.0
react: 18.3.1
@@ -3622,7 +3968,7 @@ packages:
react-dom: '>=16'
dependencies:
'@arco-design/color': 0.4.0
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
b-tween: 0.3.3
b-validate: 1.5.3
compute-scroll-into-view: 1.0.20
@@ -3840,28 +4186,13 @@ packages:
default-browser-id: 3.0.0
dev: true
- /@babel/code-frame@7.24.7:
- resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/highlight': 7.24.7
- picocolors: 1.1.1
- dev: true
-
/@babel/code-frame@7.25.7:
resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/highlight': 7.25.7
picocolors: 1.1.1
-
- /@babel/code-frame@7.26.2:
- resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-validator-identifier': 7.25.9
- js-tokens: 4.0.0
- picocolors: 1.1.1
+ dev: true
/@babel/code-frame@7.27.1:
resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
@@ -3871,19 +4202,6 @@ packages:
js-tokens: 4.0.0
picocolors: 1.1.1
- /@babel/compat-data@7.25.8:
- resolution: {integrity: sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /@babel/compat-data@7.26.2:
- resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==}
- engines: {node: '>=6.9.0'}
-
- /@babel/compat-data@7.26.8:
- resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==}
- engines: {node: '>=6.9.0'}
-
/@babel/compat-data@7.28.0:
resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==}
engines: {node: '>=6.9.0'}
@@ -3893,13 +4211,13 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.27.1
- '@babel/generator': 7.27.1
- '@babel/helper-module-transforms': 7.27.1(@babel/core@7.12.9)
- '@babel/helpers': 7.27.0
- '@babel/parser': 7.27.2
+ '@babel/generator': 7.28.0
+ '@babel/helper-module-transforms': 7.27.3(@babel/core@7.12.9)
+ '@babel/helpers': 7.28.2
+ '@babel/parser': 7.28.0
'@babel/template': 7.27.2
- '@babel/traverse': 7.27.1
- '@babel/types': 7.27.1
+ '@babel/traverse': 7.28.0
+ '@babel/types': 7.28.2
convert-source-map: 1.9.0
debug: 4.4.1(supports-color@8.1.1)
gensync: 1.0.0-beta.2
@@ -3912,96 +4230,6 @@ packages:
- supports-color
dev: true
- /@babel/core@7.25.2:
- resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.24.7
- '@babel/generator': 7.25.6
- '@babel/helper-compilation-targets': 7.25.2
- '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2)
- '@babel/helpers': 7.25.6
- '@babel/parser': 7.25.7
- '@babel/template': 7.25.0
- '@babel/traverse': 7.25.7
- '@babel/types': 7.25.7
- convert-source-map: 2.0.0
- debug: 4.4.1(supports-color@8.1.1)
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/core@7.25.8:
- resolution: {integrity: sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.26.2
- '@babel/generator': 7.26.2
- '@babel/helper-compilation-targets': 7.25.9
- '@babel/helper-module-transforms': 7.26.0(@babel/core@7.25.8)
- '@babel/helpers': 7.26.0
- '@babel/parser': 7.27.2
- '@babel/template': 7.25.9
- '@babel/traverse': 7.27.1
- '@babel/types': 7.27.1
- convert-source-map: 2.0.0
- debug: 4.4.1(supports-color@8.1.1)
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/core@7.26.0:
- resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.26.2
- '@babel/generator': 7.26.2
- '@babel/helper-compilation-targets': 7.25.9
- '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
- '@babel/helpers': 7.26.0
- '@babel/parser': 7.26.9
- '@babel/template': 7.25.9
- '@babel/traverse': 7.26.9
- '@babel/types': 7.27.0
- convert-source-map: 2.0.0
- debug: 4.4.1(supports-color@8.1.1)
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
- /@babel/core@7.26.10:
- resolution: {integrity: sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.27.1
- '@babel/generator': 7.27.1
- '@babel/helper-compilation-targets': 7.27.0
- '@babel/helper-module-transforms': 7.27.1(@babel/core@7.26.10)
- '@babel/helpers': 7.27.0
- '@babel/parser': 7.27.2
- '@babel/template': 7.27.2
- '@babel/traverse': 7.27.1
- '@babel/types': 7.27.1
- convert-source-map: 2.0.0
- debug: 4.4.1(supports-color@8.1.1)
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
/@babel/core@7.28.0:
resolution: {integrity: sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==}
engines: {node: '>=6.9.0'}
@@ -4050,46 +4278,6 @@ packages:
eslint-rule-composer: 0.3.0
dev: true
- /@babel/generator@7.25.6:
- resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.27.1
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
- jsesc: 2.5.2
- dev: true
-
- /@babel/generator@7.26.2:
- resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/parser': 7.27.2
- '@babel/types': 7.27.1
- '@jridgewell/gen-mapping': 0.3.8
- '@jridgewell/trace-mapping': 0.3.25
- jsesc: 3.0.2
-
- /@babel/generator@7.26.9:
- resolution: {integrity: sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/parser': 7.27.2
- '@babel/types': 7.27.1
- '@jridgewell/gen-mapping': 0.3.8
- '@jridgewell/trace-mapping': 0.3.25
- jsesc: 3.1.0
-
- /@babel/generator@7.27.1:
- resolution: {integrity: sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/parser': 7.27.2
- '@babel/types': 7.27.1
- '@jridgewell/gen-mapping': 0.3.8
- '@jridgewell/trace-mapping': 0.3.25
- jsesc: 3.1.0
-
/@babel/generator@7.28.0:
resolution: {integrity: sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==}
engines: {node: '>=6.9.0'}
@@ -4104,13 +4292,8 @@ packages:
resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.27.1
-
- /@babel/helper-annotate-as-pure@7.27.1:
- resolution: {integrity: sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.27.1
+ '@babel/types': 7.28.2
+ dev: true
/@babel/helper-annotate-as-pure@7.27.3:
resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==}
@@ -4118,46 +4301,6 @@ packages:
dependencies:
'@babel/types': 7.28.2
- /@babel/helper-builder-binary-assignment-operator-visitor@7.25.9:
- resolution: {integrity: sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/traverse': 7.27.1
- '@babel/types': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
- /@babel/helper-compilation-targets@7.25.2:
- resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/compat-data': 7.25.8
- '@babel/helper-validator-option': 7.25.7
- browserslist: 4.24.4
- lru-cache: 5.1.1
- semver: 6.3.1
- dev: true
-
- /@babel/helper-compilation-targets@7.25.9:
- resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/compat-data': 7.28.0
- '@babel/helper-validator-option': 7.27.1
- browserslist: 4.24.4
- lru-cache: 5.1.1
- semver: 6.3.1
-
- /@babel/helper-compilation-targets@7.27.0:
- resolution: {integrity: sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/compat-data': 7.26.8
- '@babel/helper-validator-option': 7.27.1
- browserslist: 4.24.4
- lru-cache: 5.1.1
- semver: 6.3.1
-
/@babel/helper-compilation-targets@7.27.2:
resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
engines: {node: '>=6.9.0'}
@@ -4168,53 +4311,17 @@ packages:
lru-cache: 5.1.1
semver: 6.3.1
- /@babel/helper-create-class-features-plugin@7.25.7(@babel/core@7.25.2):
- resolution: {integrity: sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-annotate-as-pure': 7.25.9
- '@babel/helper-member-expression-to-functions': 7.25.7
- '@babel/helper-optimise-call-expression': 7.25.7
- '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.2)
- '@babel/helper-skip-transparent-expression-wrappers': 7.25.7
- '@babel/traverse': 7.27.1
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/helper-create-class-features-plugin@7.25.7(@babel/core@7.26.10):
+ /@babel/helper-create-class-features-plugin@7.25.7(@babel/core@7.28.0):
resolution: {integrity: sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-annotate-as-pure': 7.25.9
+ '@babel/core': 7.28.0
+ '@babel/helper-annotate-as-pure': 7.27.3
'@babel/helper-member-expression-to-functions': 7.25.7
'@babel/helper-optimise-call-expression': 7.25.7
- '@babel/helper-replace-supers': 7.25.7(@babel/core@7.26.10)
- '@babel/helper-skip-transparent-expression-wrappers': 7.25.7
- '@babel/traverse': 7.27.1
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-member-expression-to-functions': 7.25.9
- '@babel/helper-optimise-call-expression': 7.25.9
- '@babel/helper-replace-supers': 7.27.1(@babel/core@7.26.10)
+ '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0)
'@babel/helper-skip-transparent-expression-wrappers': 7.27.1
'@babel/traverse': 7.28.0
semver: 6.3.1
@@ -4237,25 +4344,6 @@ packages:
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- dev: true
-
- /@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.26.10):
- resolution: {integrity: sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-member-expression-to-functions': 7.27.1
- '@babel/helper-optimise-call-expression': 7.27.1
- '@babel/helper-replace-supers': 7.27.1(@babel/core@7.26.10)
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
- '@babel/traverse': 7.28.0
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- dev: true
/@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==}
@@ -4274,28 +4362,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/helper-create-regexp-features-plugin@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-annotate-as-pure': 7.25.9
- regexpu-core: 6.1.1
- semver: 6.3.1
-
- /@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.26.10):
- resolution: {integrity: sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-annotate-as-pure': 7.27.3
- regexpu-core: 6.2.0
- semver: 6.3.1
-
/@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==}
engines: {node: '>=6.9.0'}
@@ -4307,49 +4373,6 @@ packages:
regexpu-core: 6.2.0
semver: 6.3.1
- /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.26.10):
- resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-compilation-targets': 7.25.9
- '@babel/helper-plugin-utils': 7.25.9
- debug: 4.4.1(supports-color@8.1.1)
- lodash.debounce: 4.0.8
- resolve: 1.22.8
- transitivePeerDependencies:
- - supports-color
-
- /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.28.0):
- resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/core': 7.28.0
- '@babel/helper-compilation-targets': 7.25.9
- '@babel/helper-plugin-utils': 7.25.9
- debug: 4.4.1(supports-color@8.1.1)
- lodash.debounce: 4.0.8
- resolve: 1.22.8
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.26.10):
- resolution: {integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-compilation-targets': 7.27.2
- '@babel/helper-plugin-utils': 7.27.1
- debug: 4.4.1(supports-color@8.1.1)
- lodash.debounce: 4.0.8
- resolve: 1.22.10
- transitivePeerDependencies:
- - supports-color
-
/@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.0):
resolution: {integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==}
peerDependencies:
@@ -4372,8 +4395,8 @@ packages:
resolution: {integrity: sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/traverse': 7.27.1
- '@babel/types': 7.27.1
+ '@babel/traverse': 7.28.0
+ '@babel/types': 7.28.2
transitivePeerDependencies:
- supports-color
@@ -4399,8 +4422,8 @@ packages:
resolution: {integrity: sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/traverse': 7.27.1
- '@babel/types': 7.27.1
+ '@babel/traverse': 7.28.0
+ '@babel/types': 7.28.2
transitivePeerDependencies:
- supports-color
dev: true
@@ -4409,8 +4432,8 @@ packages:
resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/traverse': 7.27.1
- '@babel/types': 7.27.1
+ '@babel/traverse': 7.28.0
+ '@babel/types': 7.28.2
transitivePeerDependencies:
- supports-color
@@ -4432,109 +4455,13 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2):
- resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-module-imports': 7.25.7
- '@babel/helper-simple-access': 7.24.7
- '@babel/helper-validator-identifier': 7.24.7
- '@babel/traverse': 7.27.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/helper-module-transforms@7.26.0(@babel/core@7.25.8):
- resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.25.8
- '@babel/helper-module-imports': 7.25.9
- '@babel/helper-validator-identifier': 7.27.1
- '@babel/traverse': 7.27.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0):
- resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.0
- '@babel/helper-module-imports': 7.25.9
- '@babel/helper-validator-identifier': 7.27.1
- '@babel/traverse': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
- /@babel/helper-module-transforms@7.26.0(@babel/core@7.26.10):
- resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-module-imports': 7.25.9
- '@babel/helper-validator-identifier': 7.27.1
- '@babel/traverse': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
- /@babel/helper-module-transforms@7.27.1(@babel/core@7.12.9):
- resolution: {integrity: sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.12.9
- '@babel/helper-module-imports': 7.27.1
- '@babel/helper-validator-identifier': 7.27.1
- '@babel/traverse': 7.27.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/helper-module-transforms@7.27.1(@babel/core@7.26.10):
- resolution: {integrity: sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-module-imports': 7.27.1
- '@babel/helper-validator-identifier': 7.27.1
- '@babel/traverse': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
- /@babel/helper-module-transforms@7.27.3(@babel/core@7.25.8):
- resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.25.8
- '@babel/helper-module-imports': 7.27.1
- '@babel/helper-validator-identifier': 7.27.1
- '@babel/traverse': 7.28.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/helper-module-transforms@7.27.3(@babel/core@7.26.10):
+ /@babel/helper-module-transforms@7.27.3(@babel/core@7.12.9):
resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.26.10
+ '@babel/core': 7.12.9
'@babel/helper-module-imports': 7.27.1
'@babel/helper-validator-identifier': 7.27.1
'@babel/traverse': 7.28.0
@@ -4559,7 +4486,7 @@ packages:
resolution: {integrity: sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.27.1
+ '@babel/types': 7.28.2
/@babel/helper-optimise-call-expression@7.25.9:
resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==}
@@ -4577,27 +4504,10 @@ packages:
resolution: {integrity: sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==}
dev: true
- /@babel/helper-plugin-utils@7.25.9:
- resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==}
- engines: {node: '>=6.9.0'}
-
/@babel/helper-plugin-utils@7.27.1:
resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==}
engines: {node: '>=6.9.0'}
- /@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-annotate-as-pure': 7.27.1
- '@babel/helper-wrap-function': 7.25.9
- '@babel/traverse': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
/@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==}
engines: {node: '>=6.9.0'}
@@ -4611,60 +4521,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/helper-replace-supers@7.25.7(@babel/core@7.25.2):
- resolution: {integrity: sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-member-expression-to-functions': 7.25.9
- '@babel/helper-optimise-call-expression': 7.25.9
- '@babel/traverse': 7.27.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/helper-replace-supers@7.25.7(@babel/core@7.26.10):
- resolution: {integrity: sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-member-expression-to-functions': 7.25.9
- '@babel/helper-optimise-call-expression': 7.25.9
- '@babel/traverse': 7.27.1
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /@babel/helper-replace-supers@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-member-expression-to-functions': 7.27.1
- '@babel/helper-optimise-call-expression': 7.27.1
- '@babel/traverse': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
- /@babel/helper-replace-supers@7.27.1(@babel/core@7.26.10):
- resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-member-expression-to-functions': 7.27.1
- '@babel/helper-optimise-call-expression': 7.27.1
- '@babel/traverse': 7.28.0
- transitivePeerDependencies:
- - supports-color
-
/@babel/helper-replace-supers@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==}
engines: {node: '>=6.9.0'}
@@ -4678,42 +4534,15 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/helper-simple-access@7.24.7:
- resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/traverse': 7.27.1
- '@babel/types': 7.27.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/helper-simple-access@7.25.9:
- resolution: {integrity: sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/traverse': 7.27.1
- '@babel/types': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
/@babel/helper-skip-transparent-expression-wrappers@7.25.7:
resolution: {integrity: sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/traverse': 7.27.1
- '@babel/types': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
- /@babel/helper-skip-transparent-expression-wrappers@7.25.9:
- resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/traverse': 7.27.1
- '@babel/types': 7.27.1
+ '@babel/traverse': 7.28.0
+ '@babel/types': 7.28.2
transitivePeerDependencies:
- supports-color
+ dev: true
/@babel/helper-skip-transparent-expression-wrappers@7.27.1:
resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==}
@@ -4724,60 +4553,18 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/helper-string-parser@7.25.7:
- resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /@babel/helper-string-parser@7.25.9:
- resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
- engines: {node: '>=6.9.0'}
-
/@babel/helper-string-parser@7.27.1:
resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
engines: {node: '>=6.9.0'}
- /@babel/helper-validator-identifier@7.24.7:
- resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /@babel/helper-validator-identifier@7.25.7:
- resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /@babel/helper-validator-identifier@7.25.9:
- resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
- engines: {node: '>=6.9.0'}
-
/@babel/helper-validator-identifier@7.27.1:
resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
engines: {node: '>=6.9.0'}
- /@babel/helper-validator-option@7.25.7:
- resolution: {integrity: sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==}
- engines: {node: '>=6.9.0'}
- dev: true
-
- /@babel/helper-validator-option@7.25.9:
- resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
- engines: {node: '>=6.9.0'}
-
/@babel/helper-validator-option@7.27.1:
resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
engines: {node: '>=6.9.0'}
- /@babel/helper-wrap-function@7.25.9:
- resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 7.27.2
- '@babel/traverse': 7.27.1
- '@babel/types': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
/@babel/helper-wrap-function@7.27.1:
resolution: {integrity: sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==}
engines: {node: '>=6.9.0'}
@@ -4788,28 +4575,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/helpers@7.25.6:
- resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 7.25.9
- '@babel/types': 7.27.1
- dev: true
-
- /@babel/helpers@7.26.0:
- resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 7.25.9
- '@babel/types': 7.27.1
-
- /@babel/helpers@7.27.0:
- resolution: {integrity: sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 7.27.2
- '@babel/types': 7.27.1
-
/@babel/helpers@7.28.2:
resolution: {integrity: sha512-/V9771t+EgXz62aCcyofnQhGM8DQACbRhvzKFsXKC9QM+5MadF8ZmIm0crDMaz3+o0h0zXfJnd4EhbYbxsrcFw==}
engines: {node: '>=6.9.0'}
@@ -4817,46 +4582,23 @@ packages:
'@babel/template': 7.27.2
'@babel/types': 7.28.2
- /@babel/highlight@7.24.7:
- resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-validator-identifier': 7.27.1
- chalk: 2.4.2
- js-tokens: 4.0.0
- picocolors: 1.1.1
- dev: true
-
/@babel/highlight@7.25.7:
resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-validator-identifier': 7.25.9
+ '@babel/helper-validator-identifier': 7.27.1
chalk: 2.4.2
js-tokens: 4.0.0
picocolors: 1.1.1
-
- /@babel/parser@7.25.7:
- resolution: {integrity: sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==}
- engines: {node: '>=6.0.0'}
- hasBin: true
- dependencies:
- '@babel/types': 7.27.1
dev: true
- /@babel/parser@7.26.9:
- resolution: {integrity: sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==}
- engines: {node: '>=6.0.0'}
- hasBin: true
- dependencies:
- '@babel/types': 7.27.1
-
/@babel/parser@7.27.2:
resolution: {integrity: sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==}
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
- '@babel/types': 7.27.1
+ '@babel/types': 7.28.2
+ dev: true
/@babel/parser@7.28.0:
resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==}
@@ -4865,18 +4607,6 @@ packages:
dependencies:
'@babel/types': 7.28.2
- /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/traverse': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==}
engines: {node: '>=6.9.0'}
@@ -4889,15 +4619,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==}
engines: {node: '>=6.9.0'}
@@ -4907,15 +4628,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==}
engines: {node: '>=6.9.0'}
@@ -4925,19 +4637,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.13.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
- '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.10)
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==}
engines: {node: '>=6.9.0'}
@@ -4951,18 +4650,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/traverse': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==}
engines: {node: '>=6.9.0'}
@@ -4975,16 +4662,16 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.26.10):
+ /@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.28.0):
resolution: {integrity: sha512-q1mqqqH0e1lhmsEQHV5U8OmdueBC2y0RFr2oUzZoFRtN3MvPmt2fsFRcNQAoGLTSNdHBFUYGnlgcRFhkBbKjPw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-decorators': 7.25.7(@babel/core@7.26.10)
+ '@babel/core': 7.28.0
+ '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.28.0)
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/plugin-syntax-decorators': 7.25.7(@babel/core@7.28.0)
transitivePeerDependencies:
- supports-color
dev: false
@@ -5022,7 +4709,7 @@ packages:
'@babel/core': 7.12.9
'@babel/helper-plugin-utils': 7.27.1
'@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9)
- '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.12.9)
+ '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.12.9)
dev: true
/@babel/plugin-proposal-partial-application@7.25.8(@babel/core@7.28.0):
@@ -5046,14 +4733,6 @@ packages:
'@babel/plugin-syntax-pipeline-operator': 7.25.7(@babel/core@7.28.0)
dev: true
- /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.10):
- resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
-
/@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.0):
resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
engines: {node: '>=6.9.0'}
@@ -5069,7 +4748,6 @@ packages:
dependencies:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- dev: true
/@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.0):
resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
@@ -5078,7 +4756,6 @@ packages:
dependencies:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- dev: true
/@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.0):
resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
@@ -5087,7 +4764,6 @@ packages:
dependencies:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- dev: true
/@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.0):
resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
@@ -5097,16 +4773,15 @@ packages:
dependencies:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- dev: true
- /@babel/plugin-syntax-decorators@7.25.7(@babel/core@7.26.10):
+ /@babel/plugin-syntax-decorators@7.25.7(@babel/core@7.28.0):
resolution: {integrity: sha512-oXduHo642ZhstLVYTe2z2GSJIruU0c/W3/Ghr6A5yGMsVrvdnxO1z+3pbTcT7f3/Clnt+1z8D/w1r1f1SHaCHw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
+ '@babel/core': 7.28.0
+ '@babel/helper-plugin-utils': 7.27.1
dev: false
/@babel/plugin-syntax-decorators@7.25.9(@babel/core@7.28.0):
@@ -5127,24 +4802,25 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-syntax-flow@7.25.7(@babel/core@7.26.10):
- resolution: {integrity: sha512-fyoj6/YdVtlv2ROig/J0fP7hh/wNO1MJGm1NR70Pg7jbkF+jOUL9joorqaCOQh06Y+LfgTagHzC8KqZ3MF782w==}
+ /@babel/plugin-syntax-export-default-from@7.27.1(@babel/core@7.28.0):
+ resolution: {integrity: sha512-eBC/3KSekshx19+N40MzjWqJd7KTEdOoLesAfa4IDFI8eRz5a47i5Oszus6zG/cwIXN63YhgLOMSSNJx49sENg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.26.10
+ '@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
dev: true
- /@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.10):
- resolution: {integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==}
+ /@babel/plugin-syntax-flow@7.25.7(@babel/core@7.28.0):
+ resolution: {integrity: sha512-fyoj6/YdVtlv2ROig/J0fP7hh/wNO1MJGm1NR70Pg7jbkF+jOUL9joorqaCOQh06Y+LfgTagHzC8KqZ3MF782w==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.26.10
+ '@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
+ dev: true
/@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.28.0):
resolution: {integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==}
@@ -5165,15 +4841,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.10):
- resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==}
engines: {node: '>=6.9.0'}
@@ -5190,7 +4857,6 @@ packages:
dependencies:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- dev: true
/@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.0):
resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
@@ -5199,7 +4865,6 @@ packages:
dependencies:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- dev: true
/@babel/plugin-syntax-jsx@7.12.1(@babel/core@7.12.9):
resolution: {integrity: sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==}
@@ -5210,34 +4875,25 @@ packages:
'@babel/helper-plugin-utils': 7.27.1
dev: true
- /@babel/plugin-syntax-jsx@7.25.7(@babel/core@7.25.2):
+ /@babel/plugin-syntax-jsx@7.25.7(@babel/core@7.28.0):
resolution: {integrity: sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.25.9
+ '@babel/core': 7.28.0
+ '@babel/helper-plugin-utils': 7.27.1
dev: true
- /@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.10):
+ /@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.28.0):
resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
- /@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.26.10):
- resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
+ '@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- dev: true
+ dev: false
/@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==}
@@ -5255,7 +4911,6 @@ packages:
dependencies:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- dev: true
/@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.0):
resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
@@ -5264,7 +4919,6 @@ packages:
dependencies:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- dev: true
/@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.0):
resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
@@ -5273,7 +4927,6 @@ packages:
dependencies:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- dev: true
/@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.12.9):
resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
@@ -5291,7 +4944,6 @@ packages:
dependencies:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- dev: true
/@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.0):
resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
@@ -5300,7 +4952,6 @@ packages:
dependencies:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- dev: true
/@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.0):
resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
@@ -5309,7 +4960,6 @@ packages:
dependencies:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- dev: true
/@babel/plugin-syntax-pipeline-operator@7.25.7(@babel/core@7.28.0):
resolution: {integrity: sha512-8xa7wyr0Ppxy7j4FaakNSaVNrDQfTKmO/+iswNuj+ZSx7GP+UReoip4YUeus3eFWG1mzx50RZf8fherszXTtgg==}
@@ -5329,7 +4979,6 @@ packages:
dependencies:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- dev: true
/@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.0):
resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
@@ -5339,36 +4988,16 @@ packages:
dependencies:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- dev: true
- /@babel/plugin-syntax-typescript@7.25.7(@babel/core@7.25.2):
+ /@babel/plugin-syntax-typescript@7.25.7(@babel/core@7.28.0):
resolution: {integrity: sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.25.9
- dev: true
-
- /@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
- dev: false
-
- /@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.26.10):
- resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
+ '@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
+ dev: true
/@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==}
@@ -5379,16 +5008,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.10):
- resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.27.1
-
/@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.0):
resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
engines: {node: '>=6.9.0'}
@@ -5399,15 +5018,6 @@ packages:
'@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0)
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==}
engines: {node: '>=6.9.0'}
@@ -5417,19 +5027,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.10)
- '@babel/traverse': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.0):
resolution: {integrity: sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==}
engines: {node: '>=6.9.0'}
@@ -5443,19 +5040,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-module-imports': 7.25.9
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.10)
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==}
engines: {node: '>=6.9.0'}
@@ -5469,15 +5053,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-block-scoped-functions@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==}
engines: {node: '>=6.9.0'}
@@ -5487,15 +5062,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-block-scoping@7.28.0(@babel/core@7.28.0):
resolution: {integrity: sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==}
engines: {node: '>=6.9.0'}
@@ -5505,18 +5071,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.28.0):
resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==}
engines: {node: '>=6.9.0'}
@@ -5528,7 +5082,6 @@ packages:
'@babel/helper-plugin-utils': 7.27.1
transitivePeerDependencies:
- supports-color
- dev: true
/@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==}
@@ -5542,18 +5095,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.10):
- resolution: {integrity: sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.12.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.25.9
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-transform-class-static-block@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==}
engines: {node: '>=6.9.0'}
@@ -5566,22 +5107,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-annotate-as-pure': 7.25.9
- '@babel/helper-compilation-targets': 7.25.9
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.10)
- '@babel/traverse': 7.27.1
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-transform-classes@7.28.0(@babel/core@7.28.0):
resolution: {integrity: sha512-IjM1IoJNw72AZFlj33Cu8X0q2XK/6AaVC3jQu+cgQ5lThWD5ajnuUAml80dqRmOhmPkTH8uAwnpMu9Rvj0LTRA==}
engines: {node: '>=6.9.0'}
@@ -5598,16 +5123,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/template': 7.25.9
-
/@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==}
engines: {node: '>=6.9.0'}
@@ -5618,15 +5133,6 @@ packages:
'@babel/helper-plugin-utils': 7.27.1
'@babel/template': 7.27.2
- /@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.28.0):
resolution: {integrity: sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==}
engines: {node: '>=6.9.0'}
@@ -5639,16 +5145,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==}
engines: {node: '>=6.9.0'}
@@ -5659,15 +5155,6 @@ packages:
'@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0)
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==}
engines: {node: '>=6.9.0'}
@@ -5677,16 +5164,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==}
engines: {node: '>=6.9.0'}
@@ -5697,15 +5174,6 @@ packages:
'@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0)
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==}
engines: {node: '>=6.9.0'}
@@ -5727,18 +5195,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-exponentiation-operator@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.9
- '@babel/helper-plugin-utils': 7.25.9
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==}
engines: {node: '>=6.9.0'}
@@ -5748,15 +5204,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.27.1
-
/@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.28.0):
resolution: {integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==}
engines: {node: '>=6.9.0'}
@@ -5776,29 +5223,17 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-flow-strip-types@7.25.7(@babel/core@7.26.10):
+ /@babel/plugin-transform-flow-strip-types@7.25.7(@babel/core@7.28.0):
resolution: {integrity: sha512-q8Td2PPc6/6I73g96SreSUCKEcwMXCwcXSIAVTyTTN6CpJe0dMj8coxu1fg1T9vfBLi6Rsi6a4ECcFBbKabS5w==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.26.10
+ '@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-syntax-flow': 7.25.7(@babel/core@7.26.10)
+ '@babel/plugin-syntax-flow': 7.25.7(@babel/core@7.28.0)
dev: true
- /@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==}
engines: {node: '>=6.9.0'}
@@ -5811,19 +5246,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-compilation-targets': 7.25.9
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/traverse': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==}
engines: {node: '>=6.9.0'}
@@ -5837,15 +5259,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==}
engines: {node: '>=6.9.0'}
@@ -5855,15 +5268,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==}
engines: {node: '>=6.9.0'}
@@ -5873,15 +5277,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==}
engines: {node: '>=6.9.0'}
@@ -5891,15 +5286,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==}
engines: {node: '>=6.9.0'}
@@ -5909,18 +5295,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.25.9
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==}
engines: {node: '>=6.9.0'}
@@ -5933,45 +5307,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-modules-commonjs@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/helper-simple-access': 7.25.9
- transitivePeerDependencies:
- - supports-color
-
- /@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.25.8):
- resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.25.8
- '@babel/helper-module-transforms': 7.27.3(@babel/core@7.25.8)
- '@babel/helper-plugin-utils': 7.27.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.26.10):
- resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-module-transforms': 7.27.3(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.27.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
/@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==}
engines: {node: '>=6.9.0'}
@@ -5984,20 +5319,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/helper-validator-identifier': 7.25.9
- '@babel/traverse': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==}
engines: {node: '>=6.9.0'}
@@ -6012,18 +5333,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.25.9
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==}
engines: {node: '>=6.9.0'}
@@ -6036,16 +5345,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==}
engines: {node: '>=6.9.0'}
@@ -6056,15 +5355,6 @@ packages:
'@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0)
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==}
engines: {node: '>=6.9.0'}
@@ -6074,15 +5364,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-nullish-coalescing-operator@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==}
engines: {node: '>=6.9.0'}
@@ -6092,15 +5373,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.27.1
-
/@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.28.0):
resolution: {integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==}
engines: {node: '>=6.9.0'}
@@ -6120,17 +5392,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-compilation-targets': 7.27.2
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.26.10)
-
/@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.28.0):
resolution: {integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==}
engines: {node: '>=6.9.0'}
@@ -6158,18 +5419,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.10)
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==}
engines: {node: '>=6.9.0'}
@@ -6182,15 +5431,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==}
engines: {node: '>=6.9.0'}
@@ -6200,18 +5440,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==}
engines: {node: '>=6.9.0'}
@@ -6224,33 +5452,15 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-parameters@7.25.9(@babel/core@7.12.9):
- resolution: {integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.12.9
- '@babel/helper-plugin-utils': 7.25.9
- dev: true
-
- /@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
- /@babel/plugin-transform-parameters@7.27.7(@babel/core@7.26.10):
+ /@babel/plugin-transform-parameters@7.27.7(@babel/core@7.12.9):
resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.26.10
+ '@babel/core': 7.12.9
'@babel/helper-plugin-utils': 7.27.1
+ dev: true
/@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.0):
resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==}
@@ -6261,18 +5471,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.25.9
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==}
engines: {node: '>=6.9.0'}
@@ -6285,19 +5483,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-annotate-as-pure': 7.25.9
- '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.25.9
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==}
engines: {node: '>=6.9.0'}
@@ -6311,15 +5496,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==}
engines: {node: '>=6.9.0'}
@@ -6338,16 +5514,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-react-display-name@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
- dev: true
-
/@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.0):
resolution: {integrity: sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==}
engines: {node: '>=6.9.0'}
@@ -6357,14 +5523,14 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-react-jsx-development@7.25.9(@babel/core@7.26.10):
+ /@babel/plugin-transform-react-jsx-development@7.25.9(@babel/core@7.28.0):
resolution: {integrity: sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.26.10
- '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.10)
+ '@babel/core': 7.28.0
+ '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0)
transitivePeerDependencies:
- supports-color
dev: true
@@ -6380,42 +5546,26 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.26.0):
+ /@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.28.0):
resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.26.0
+ '@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
dev: true
- /@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.26.0):
+ /@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.28.0):
resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.26.0
+ '@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
dev: true
- /@babel/plugin-transform-react-jsx@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-annotate-as-pure': 7.25.9
- '@babel/helper-module-imports': 7.25.9
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.10)
- '@babel/types': 7.26.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
/@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==}
engines: {node: '>=6.9.0'}
@@ -6431,15 +5581,15 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-react-pure-annotations@7.25.9(@babel/core@7.26.10):
+ /@babel/plugin-transform-react-pure-annotations@7.25.9(@babel/core@7.28.0):
resolution: {integrity: sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-annotate-as-pure': 7.25.9
- '@babel/helper-plugin-utils': 7.25.9
+ '@babel/core': 7.28.0
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-plugin-utils': 7.27.1
dev: true
/@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.28.0):
@@ -6452,16 +5602,6 @@ packages:
'@babel/helper-annotate-as-pure': 7.27.3
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
- regenerator-transform: 0.15.2
-
/@babel/plugin-transform-regenerator@7.28.1(@babel/core@7.28.0):
resolution: {integrity: sha512-P0QiV/taaa3kXpLY+sXla5zec4E+4t4Aqc9ggHlfZ7a2cp8/x/Gv08jfwEtn9gnnYIMvHx6aoOZ8XJL8eU71Dg==}
engines: {node: '>=6.9.0'}
@@ -6471,16 +5611,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.10):
- resolution: {integrity: sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==}
engines: {node: '>=6.9.0'}
@@ -6491,15 +5621,6 @@ packages:
'@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0)
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==}
engines: {node: '>=6.9.0'}
@@ -6509,23 +5630,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-runtime@7.25.7(@babel/core@7.26.10):
- resolution: {integrity: sha512-Y9p487tyTzB0yDYQOtWnC+9HGOuogtP3/wNpun1xJXEEvI6vip59BSBTsHnekZLqxmPcgsrAKt46HAAb//xGhg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-module-imports': 7.27.1
- '@babel/helper-plugin-utils': 7.27.1
- babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.26.10)
- babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.10)
- babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.26.10)
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- dev: false
-
/@babel/plugin-transform-runtime@7.25.7(@babel/core@7.28.0):
resolution: {integrity: sha512-Y9p487tyTzB0yDYQOtWnC+9HGOuogtP3/wNpun1xJXEEvI6vip59BSBTsHnekZLqxmPcgsrAKt46HAAb//xGhg==}
engines: {node: '>=6.9.0'}
@@ -6535,22 +5639,12 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-module-imports': 7.27.1
'@babel/helper-plugin-utils': 7.27.1
- babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.28.0)
+ babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.0)
babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.28.0)
- babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.28.0)
+ babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.0)
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- dev: true
-
- /@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
/@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==}
@@ -6561,18 +5655,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
- transitivePeerDependencies:
- - supports-color
-
/@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==}
engines: {node: '>=6.9.0'}
@@ -6585,15 +5667,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==}
engines: {node: '>=6.9.0'}
@@ -6603,15 +5676,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==}
engines: {node: '>=6.9.0'}
@@ -6621,15 +5685,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-typeof-symbol@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==}
engines: {node: '>=6.9.0'}
@@ -6639,50 +5694,18 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.2):
+ /@babel/plugin-transform-typescript@7.25.2(@babel/core@7.28.0):
resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-annotate-as-pure': 7.25.9
- '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.2)
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/helper-skip-transparent-expression-wrappers': 7.25.7
- '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.2)
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/plugin-transform-typescript@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
+ '@babel/core': 7.28.0
'@babel/helper-annotate-as-pure': 7.25.9
- '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
- '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.10)
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /@babel/plugin-transform-typescript@7.28.0(@babel/core@7.26.10):
- resolution: {integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.26.10)
+ '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.28.0)
'@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
- '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.26.10)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.25.7
+ '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.28.0)
transitivePeerDependencies:
- supports-color
dev: true
@@ -6702,15 +5725,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==}
engines: {node: '>=6.9.0'}
@@ -6720,16 +5734,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==}
engines: {node: '>=6.9.0'}
@@ -6740,16 +5744,6 @@ packages:
'@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0)
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==}
engines: {node: '>=6.9.0'}
@@ -6760,16 +5754,6 @@ packages:
'@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0)
'@babel/helper-plugin-utils': 7.27.1
- /@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.10):
- resolution: {integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.10)
- '@babel/helper-plugin-utils': 7.25.9
-
/@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==}
engines: {node: '>=6.9.0'}
@@ -6780,85 +5764,6 @@ packages:
'@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0)
'@babel/helper-plugin-utils': 7.27.1
- /@babel/preset-env@7.26.0(@babel/core@7.26.10):
- resolution: {integrity: sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/compat-data': 7.26.2
- '@babel/core': 7.26.10
- '@babel/helper-compilation-targets': 7.25.9
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/helper-validator-option': 7.25.9
- '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.10)
- '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.10)
- '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.10)
- '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.10)
- '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-block-scoped-functions': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.10)
- '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-exponentiation-operator': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.10)
- '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-typeof-symbol': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.10)
- '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.10)
- babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.26.10)
- babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.10)
- babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.26.10)
- core-js-compat: 3.38.1
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
/@babel/preset-env@7.28.0(@babel/core@7.28.0):
resolution: {integrity: sha512-VmaxeGOwuDqzLl5JUkIRM1X2Qu2uKGxHEQWh+cvvbl7JuJRgKGJSfsEF/bUaxFhJl/XAyxBe7q7qSuTbKFuCyg==}
engines: {node: '>=6.9.0'}
@@ -6939,28 +5844,18 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/preset-flow@7.25.7(@babel/core@7.26.10):
+ /@babel/preset-flow@7.25.7(@babel/core@7.28.0):
resolution: {integrity: sha512-q2x3g0YHzo/Ohsr51KOYS/BtZMsvkzVd8qEyhZAyTatYdobfgXCuyppTqTuIhdq5kR/P3nyyVvZ6H5dMc4PnCQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.26.10
+ '@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-validator-option': 7.27.1
- '@babel/plugin-transform-flow-strip-types': 7.25.7(@babel/core@7.26.10)
+ '@babel/plugin-transform-flow-strip-types': 7.25.7(@babel/core@7.28.0)
dev: true
- /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.10):
- resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/types': 7.28.2
- esutils: 2.0.3
-
/@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.0):
resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
peerDependencies:
@@ -6971,19 +5866,19 @@ packages:
'@babel/types': 7.28.2
esutils: 2.0.3
- /@babel/preset-react@7.26.3(@babel/core@7.26.10):
+ /@babel/preset-react@7.26.3(@babel/core@7.28.0):
resolution: {integrity: sha512-Nl03d6T9ky516DGK2YMxrTqvnpUW63TnJMOMonj+Zae0JiPC5BC9xPMSL6L8fiSpA5vP88qfygavVQvnLp+6Cw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/helper-validator-option': 7.25.9
- '@babel/plugin-transform-react-display-name': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-react-jsx-development': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-react-pure-annotations': 7.25.9(@babel/core@7.26.10)
+ '@babel/core': 7.28.0
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-validator-option': 7.27.1
+ '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.0)
+ '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-react-jsx-development': 7.25.9(@babel/core@7.28.0)
+ '@babel/plugin-transform-react-pure-annotations': 7.25.9(@babel/core@7.28.0)
transitivePeerDependencies:
- supports-color
dev: true
@@ -7004,37 +5899,21 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/preset-typescript@7.26.0(@babel/core@7.26.10):
+ /@babel/preset-typescript@7.26.0(@babel/core@7.28.0):
resolution: {integrity: sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/helper-validator-option': 7.25.9
- '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.10)
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /@babel/preset-typescript@7.27.1(@babel/core@7.26.10):
- resolution: {integrity: sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
+ '@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-validator-option': 7.27.1
- '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.26.10)
- '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.26.10)
- '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.26.10)
+ '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.28.0)
+ '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.0)
transitivePeerDependencies:
- supports-color
- dev: true
+ dev: false
/@babel/preset-typescript@7.27.1(@babel/core@7.28.0):
resolution: {integrity: sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==}
@@ -7051,20 +5930,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/register@7.25.7(@babel/core@7.26.10):
- resolution: {integrity: sha512-qHTd2Rhn/rKhSUwdY6+n98FmwXN+N+zxSVx3zWqRe9INyvTpv+aQ5gDV2+43ACd3VtMBzPPljbb0gZb8u5ma6Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- clone-deep: 4.0.1
- find-cache-dir: 2.1.0
- make-dir: 2.1.0
- pirates: 4.0.7
- source-map-support: 0.5.21
- dev: true
-
/@babel/register@7.25.7(@babel/core@7.28.0):
resolution: {integrity: sha512-qHTd2Rhn/rKhSUwdY6+n98FmwXN+N+zxSVx3zWqRe9INyvTpv+aQ5gDV2+43ACd3VtMBzPPljbb0gZb8u5ma6Q==}
engines: {node: '>=6.9.0'}
@@ -7099,41 +5964,10 @@ packages:
dependencies:
regenerator-runtime: 0.14.1
- /@babel/runtime@7.26.0:
- resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- regenerator-runtime: 0.14.1
-
/@babel/runtime@7.28.2:
resolution: {integrity: sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==}
engines: {node: '>=6.9.0'}
- /@babel/template@7.25.0:
- resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.26.2
- '@babel/parser': 7.27.2
- '@babel/types': 7.27.1
- dev: true
-
- /@babel/template@7.25.9:
- resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.26.2
- '@babel/parser': 7.27.2
- '@babel/types': 7.27.1
-
- /@babel/template@7.26.9:
- resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.27.1
- '@babel/parser': 7.27.2
- '@babel/types': 7.27.1
-
/@babel/template@7.27.2:
resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
engines: {node: '>=6.9.0'}
@@ -7142,44 +5976,15 @@ packages:
'@babel/parser': 7.28.0
'@babel/types': 7.28.2
- /@babel/traverse@7.25.7:
- resolution: {integrity: sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.26.2
- '@babel/generator': 7.26.2
- '@babel/parser': 7.27.2
- '@babel/template': 7.25.9
- '@babel/types': 7.27.1
- debug: 4.4.1(supports-color@8.1.1)
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/traverse@7.26.9:
- resolution: {integrity: sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.27.1
- '@babel/generator': 7.26.9
- '@babel/parser': 7.27.2
- '@babel/template': 7.26.9
- '@babel/types': 7.27.1
- debug: 4.4.1(supports-color@8.1.1)
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
-
/@babel/traverse@7.27.1:
resolution: {integrity: sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.27.1
- '@babel/generator': 7.27.1
- '@babel/parser': 7.27.2
+ '@babel/generator': 7.28.0
+ '@babel/parser': 7.28.0
'@babel/template': 7.27.2
- '@babel/types': 7.27.1
+ '@babel/types': 7.28.2
debug: 4.4.1(supports-color@8.1.1)
globals: 11.12.0
transitivePeerDependencies:
@@ -7213,37 +6018,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/types@7.25.7:
- resolution: {integrity: sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 7.25.7
- '@babel/helper-validator-identifier': 7.25.7
- to-fast-properties: 2.0.0
- dev: true
-
- /@babel/types@7.26.0:
- resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 7.25.9
- '@babel/helper-validator-identifier': 7.25.9
- dev: true
-
- /@babel/types@7.27.0:
- resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 7.25.9
- '@babel/helper-validator-identifier': 7.25.9
-
- /@babel/types@7.27.1:
- resolution: {integrity: sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 7.27.1
- '@babel/helper-validator-identifier': 7.27.1
-
/@babel/types@7.28.2:
resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==}
engines: {node: '>=6.9.0'}
@@ -7281,7 +6055,7 @@ packages:
outdent: 0.5.0
prettier: 2.8.8
resolve-from: 5.0.0
- semver: 7.7.2
+ semver: 7.6.3
dev: true
/@changesets/apply-release-plan@7.0.5:
@@ -7377,7 +6151,7 @@ packages:
package-manager-detector: 0.2.2
picocolors: 1.1.1
resolve-from: 5.0.0
- semver: 7.7.2
+ semver: 7.6.3
spawndamnit: 3.0.1
term-size: 2.2.1
dev: true
@@ -7431,7 +6205,7 @@ packages:
'@changesets/types': 6.1.0
'@manypkg/get-packages': 1.1.3
picocolors: 1.1.1
- semver: 7.7.2
+ semver: 7.6.3
dev: true
/@changesets/get-release-plan@4.0.13:
@@ -7654,6 +6428,21 @@ packages:
sisteransi: 1.0.5
dev: false
+ /@clack/core@0.4.2:
+ resolution: {integrity: sha512-NYQfcEy8MWIxrT5Fj8nIVchfRFA26yYKJcvBS7WlUIlw2OmQOY9DhGGXMovyI5J5PpxrCPGkgUi207EBrjpBvg==}
+ dependencies:
+ picocolors: 1.1.1
+ sisteransi: 1.0.5
+ dev: true
+
+ /@clack/prompts@0.10.1:
+ resolution: {integrity: sha512-Q0T02vx8ZM9XSv9/Yde0jTmmBQufZhPJfYAg2XrrrxWWaZgq1rr8nU8Hv710BQ1dhoP8rtY7YUdpGej2Qza/cw==}
+ dependencies:
+ '@clack/core': 0.4.2
+ picocolors: 1.1.1
+ sisteransi: 1.0.5
+ dev: true
+
/@clack/prompts@0.8.2:
resolution: {integrity: sha512-6b9Ab2UiZwJYA9iMyboYyW9yJvAO9V753ZhS+DHKEjZRKAxPPOb7MXXu84lsPFG+vZt6FRFniZ8rXi+zCIw4yQ==}
dependencies:
@@ -7782,7 +6571,7 @@ packages:
engines: {node: '>=v18'}
dependencies:
'@commitlint/types': 19.5.0
- semver: 7.7.2
+ semver: 7.6.3
dev: true
/@commitlint/lint@19.5.0:
@@ -7931,7 +6720,6 @@ packages:
engines: {node: '>=12'}
dependencies:
'@jridgewell/trace-mapping': 0.3.9
- dev: false
/@csstools/cascade-layer-name-parser@1.0.13(@csstools/css-parser-algorithms@2.7.1)(@csstools/css-tokenizer@2.4.1):
resolution: {integrity: sha512-MX0yLTwtZzr82sQ0zOjqimpZbzjMaK/h2pmlrLK7DCzlmiZLYFpoO94WmN1akRVo6ll/TdpHb53vihHLUMyvng==}
@@ -8121,7 +6909,7 @@ packages:
resolution: {integrity: sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==}
dependencies:
'@babel/helper-module-imports': 7.25.9
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
'@emotion/hash': 0.9.2
'@emotion/memoize': 0.9.0
'@emotion/serialize': 1.3.2
@@ -8191,7 +6979,7 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.25.7
+ '@babel/runtime': 7.28.2
'@emotion/babel-plugin': 11.12.0
'@emotion/cache': 11.13.1
'@emotion/serialize': 1.3.2
@@ -8214,7 +7002,7 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.25.7
+ '@babel/runtime': 7.28.2
'@emotion/babel-plugin': 11.12.0
'@emotion/cache': 11.13.1
'@emotion/serialize': 1.3.2
@@ -8252,7 +7040,7 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.25.7
+ '@babel/runtime': 7.28.2
'@emotion/babel-plugin': 11.12.0
'@emotion/is-prop-valid': 1.3.1
'@emotion/react': 11.13.3(@types/react@18.2.79)(react@18.3.1)
@@ -8275,7 +7063,7 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.25.7
+ '@babel/runtime': 7.28.2
'@emotion/babel-plugin': 11.12.0
'@emotion/is-prop-valid': 1.3.1
'@emotion/react': 11.13.3(@types/react@19.1.8)(react@19.0.0)
@@ -9725,7 +8513,6 @@ packages:
dependencies:
eslint: 8.57.1
eslint-visitor-keys: 3.4.3
- dev: true
/@eslint-community/eslint-utils@4.4.0(eslint@9.0.0):
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
@@ -9735,6 +8522,7 @@ packages:
dependencies:
eslint: 9.0.0
eslint-visitor-keys: 3.4.3
+ dev: true
/@eslint-community/regexpp@4.11.1:
resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==}
@@ -9755,7 +8543,6 @@ packages:
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
- dev: true
/@eslint/eslintrc@3.3.1:
resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
@@ -9772,15 +8559,49 @@ packages:
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
+ dev: true
/@eslint/js@8.57.1:
resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: true
/@eslint/js@9.0.0:
resolution: {integrity: sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ dev: true
+
+ /@expo/fingerprint@0.11.11:
+ resolution: {integrity: sha512-gNyn1KnAOpEa8gSNsYqXMTcq0fSwqU/vit6fP5863vLSKxHm/dNt/gm/uZJxrRZxKq71KUJWF6I7d3z8qIfq5g==}
+ hasBin: true
+ dependencies:
+ '@expo/spawn-async': 1.7.2
+ arg: 5.0.2
+ chalk: 4.1.2
+ debug: 4.4.1(supports-color@8.1.1)
+ find-up: 5.0.0
+ getenv: 1.0.0
+ minimatch: 3.1.2
+ p-limit: 3.1.0
+ resolve-from: 5.0.0
+ semver: 7.6.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@expo/metro-runtime@5.0.4(react-native@0.80.0):
+ resolution: {integrity: sha512-r694MeO+7Vi8IwOsDIDzH/Q5RPMt1kUDYbiTJwnO15nIqiDwlE8HU55UlRhffKZy6s5FmxQsZ8HA+T8DqUW8cQ==}
+ peerDependencies:
+ react-native: '*'
+ dependencies:
+ react-native: 0.80.0(@babel/core@7.28.0)(@react-native-community/cli@19.1.1)(@types/react@19.1.8)(react@19.1.0)
+ dev: false
+
+ /@expo/spawn-async@1.7.2:
+ resolution: {integrity: sha512-QdWi16+CHB9JYP7gma19OVVg0BFkvU8zNj9GjWorYI8Iv8FUxjOCcYRuAmX4s/h91e4e7BPsskc8cSrZYho9Ew==}
+ engines: {node: '>=12'}
+ dependencies:
+ cross-spawn: 7.0.6
+ dev: true
/@fal-works/esbuild-plugin-global-externals@2.1.2:
resolution: {integrity: sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==}
@@ -9829,13 +8650,11 @@ packages:
/@hapi/hoek@9.3.0:
resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
- dev: true
/@hapi/topo@5.1.0:
resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
dependencies:
'@hapi/hoek': 9.3.0
- dev: true
/@heroicons/react@2.1.3(react@19.0.0-rc-cd22717c-20241013):
resolution: {integrity: sha512-fEcPfo4oN345SoqdlCDdSa4ivjaKbk0jTd+oubcgNxnNgAfzysfwWfQUr+51wigiWHQQRiZNd1Ao0M5Y3M2EGg==}
@@ -9855,6 +8674,7 @@ packages:
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
+ dev: true
/@humanwhocodes/config-array@0.13.0:
resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
@@ -9866,7 +8686,6 @@ packages:
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
- dev: true
/@humanwhocodes/module-importer@1.0.1:
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
@@ -10086,6 +8905,17 @@ packages:
wrap-ansi: 8.1.0
wrap-ansi-cjs: /wrap-ansi@7.0.0
+ /@isaacs/fs-minipass@4.0.1:
+ resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
+ engines: {node: '>=18.0.0'}
+ dependencies:
+ minipass: 7.1.2
+ dev: true
+
+ /@isaacs/ttlcache@1.4.1:
+ resolution: {integrity: sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==}
+ engines: {node: '>=12'}
+
/@istanbuljs/load-nyc-config@1.1.0:
resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
engines: {node: '>=8'}
@@ -10095,12 +8925,10 @@ packages:
get-package-type: 0.1.0
js-yaml: 3.14.1
resolve-from: 5.0.0
- dev: true
/@istanbuljs/schema@0.1.3:
resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
engines: {node: '>=8'}
- dev: true
/@jest/console@29.7.0:
resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==}
@@ -10114,7 +8942,7 @@ packages:
slash: 3.0.0
dev: true
- /@jest/core@29.7.0:
+ /@jest/core@29.7.0(ts-node@10.9.1):
resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
@@ -10135,7 +8963,7 @@ packages:
exit: 0.1.2
graceful-fs: 4.2.11
jest-changed-files: 29.7.0
- jest-config: 29.7.0(@types/node@18.16.9)
+ jest-config: 29.7.0(@types/node@18.16.9)(ts-node@10.9.1)
jest-haste-map: 29.7.0
jest-message-util: 29.7.0
jest-regex-util: 29.6.3
@@ -10162,7 +8990,6 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@jest/types': 29.6.3
- dev: true
/@jest/environment@29.7.0:
resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==}
@@ -10172,7 +8999,6 @@ packages:
'@jest/types': 29.6.3
'@types/node': 18.16.9
jest-mock: 29.7.0
- dev: true
/@jest/expect-utils@29.7.0:
resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==}
@@ -10201,7 +9027,6 @@ packages:
jest-message-util: 29.7.0
jest-mock: 29.7.0
jest-util: 29.7.0
- dev: true
/@jest/globals@29.7.0:
resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==}
@@ -10262,7 +9087,7 @@ packages:
resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jridgewell/trace-mapping': 0.3.25
+ '@jridgewell/trace-mapping': 0.3.29
callsites: 3.1.0
graceful-fs: 4.2.11
dev: true
@@ -10293,7 +9118,7 @@ packages:
dependencies:
'@babel/core': 7.28.0
'@jest/types': 29.6.3
- '@jridgewell/trace-mapping': 0.3.25
+ '@jridgewell/trace-mapping': 0.3.29
babel-plugin-istanbul: 6.1.1
chalk: 4.1.2
convert-source-map: 2.0.0
@@ -10308,7 +9133,16 @@ packages:
write-file-atomic: 4.0.2
transitivePeerDependencies:
- supports-color
- dev: true
+
+ /@jest/types@26.6.2:
+ resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==}
+ engines: {node: '>= 10.14.2'}
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+ '@types/istanbul-reports': 3.0.4
+ '@types/node': 20.12.14
+ '@types/yargs': 15.0.19
+ chalk: 4.1.2
/@jest/types@29.6.3:
resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
@@ -10333,15 +9167,15 @@ packages:
dependencies:
'@jridgewell/set-array': 1.2.1
'@jridgewell/sourcemap-codec': 1.5.0
- '@jridgewell/trace-mapping': 0.3.25
+ '@jridgewell/trace-mapping': 0.3.29
/@jridgewell/gen-mapping@0.3.8:
resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
engines: {node: '>=6.0.0'}
dependencies:
'@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.5.0
- '@jridgewell/trace-mapping': 0.3.25
+ '@jridgewell/sourcemap-codec': 1.5.4
+ '@jridgewell/trace-mapping': 0.3.29
/@jridgewell/resolve-uri@3.1.2:
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
@@ -10379,8 +9213,7 @@ packages:
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
dependencies:
'@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.5.0
- dev: false
+ '@jridgewell/sourcemap-codec': 1.5.4
/@jsonjoy.com/base64@1.1.2(tslib@2.8.1):
resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==}
@@ -10451,7 +9284,7 @@ packages:
/@manypkg/find-root@1.1.0:
resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==}
dependencies:
- '@babel/runtime': 7.25.7
+ '@babel/runtime': 7.28.2
'@types/node': 12.20.55
find-up: 4.1.0
fs-extra: 8.1.0
@@ -10459,7 +9292,7 @@ packages:
/@manypkg/get-packages@1.1.3:
resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==}
dependencies:
- '@babel/runtime': 7.25.7
+ '@babel/runtime': 7.28.2
'@changesets/types': 4.1.0
'@manypkg/find-root': 1.1.0
fs-extra: 8.1.0
@@ -10477,7 +9310,7 @@ packages:
nopt: 5.0.0
npmlog: 5.0.1
rimraf: 3.0.2
- semver: 7.7.2
+ semver: 7.6.3
tar: 6.2.1
transitivePeerDependencies:
- encoding
@@ -10565,14 +9398,14 @@ packages:
react: 18.3.1
dev: true
- /@mdx-js/react@2.3.0(react@19.1.1):
+ /@mdx-js/react@2.3.0(react@19.1.0):
resolution: {integrity: sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==}
peerDependencies:
react: '>=16'
dependencies:
'@types/mdx': 2.0.13
'@types/react': 18.3.23
- react: 19.1.1
+ react: 19.1.0
dev: false
/@mdx-js/react@3.1.0(@types/react@18.3.11)(react@18.3.1):
@@ -10586,7 +9419,7 @@ packages:
react: 18.3.1
dev: true
- /@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.1):
+ /@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0):
resolution: {integrity: sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==}
peerDependencies:
'@types/react': '>=16'
@@ -10594,7 +9427,7 @@ packages:
dependencies:
'@types/mdx': 2.0.13
'@types/react': 19.1.8
- react: 19.1.1
+ react: 19.1.0
dev: false
/@mdx-js/util@1.6.22:
@@ -10825,7 +9658,7 @@ packages:
redux: 4.2.1
dev: true
- /@modern-js/app-tools@2.68.0(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(typescript@5.0.4)(webpack-cli@5.1.4):
+ /@modern-js/app-tools@2.68.0(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4)(webpack-cli@5.1.4):
resolution: {integrity: sha512-yoiEwWvVYa7fZjHIAdl4kWSrNWKbCupxlolOhAurGkDe2ypdlVE2IVzjTdrBbB6DSa+TjaE688fWOHiga3nBKg==}
engines: {node: '>=14.17.6'}
hasBin: true
@@ -10840,7 +9673,7 @@ packages:
dependencies:
'@babel/parser': 7.27.2
'@babel/traverse': 7.27.1
- '@babel/types': 7.27.1
+ '@babel/types': 7.28.2
'@modern-js/core': 2.68.0
'@modern-js/node-bundle-require': 2.68.0
'@modern-js/plugin': 2.68.0
@@ -10849,7 +9682,7 @@ packages:
'@modern-js/plugin-v2': 2.68.0(react-dom@18.3.1)(react@18.3.1)
'@modern-js/prod-server': 2.68.0(react-dom@18.3.1)(react@18.3.1)
'@modern-js/rsbuild-plugin-esbuild': 2.68.0(@swc/core@1.7.26)(webpack-cli@5.1.4)
- '@modern-js/server': 2.68.0(@babel/traverse@7.27.1)(@rsbuild/core@1.4.3)(react-dom@18.3.1)(react@18.3.1)
+ '@modern-js/server': 2.68.0(@babel/traverse@7.27.1)(@rsbuild/core@1.4.3)(react-dom@18.3.1)(react@18.3.1)(ts-node@10.9.1)
'@modern-js/server-core': 2.68.0(react-dom@18.3.1)(react@18.3.1)
'@modern-js/server-utils': 2.68.0(@babel/traverse@7.27.1)(@rsbuild/core@1.4.3)
'@modern-js/types': 2.68.0
@@ -10866,6 +9699,7 @@ packages:
ndepe: 0.1.12(encoding@0.1.13)
pkg-types: 1.2.1
std-env: 3.7.0
+ ts-node: 10.9.1(@swc/core@1.7.26)(@types/node@18.16.9)(typescript@5.8.3)
transitivePeerDependencies:
- '@parcel/css'
- '@rspack/core'
@@ -10894,7 +9728,7 @@ packages:
- webpack-plugin-serve
dev: true
- /@modern-js/app-tools@2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(typescript@5.0.4)(webpack-cli@5.1.4):
+ /@modern-js/app-tools@2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.0.4)(webpack-cli@5.1.4):
resolution: {integrity: sha512-fOhDC+WzYUtEZrPd35eOr1NEwybu+QCKMqhk8YsRG+DBUYrglVCub6VSHAu+fqOA1bXIyZbS+dYrCq8t3PebRA==}
engines: {node: '>=14.17.6'}
hasBin: true
@@ -10909,7 +9743,7 @@ packages:
dependencies:
'@babel/parser': 7.27.2
'@babel/traverse': 7.27.1
- '@babel/types': 7.27.1
+ '@babel/types': 7.28.2
'@modern-js/core': 2.68.2
'@modern-js/node-bundle-require': 2.68.2
'@modern-js/plugin': 2.68.2
@@ -10918,7 +9752,7 @@ packages:
'@modern-js/plugin-v2': 2.68.2(react-dom@18.3.1)(react@18.3.1)
'@modern-js/prod-server': 2.68.2(react-dom@18.3.1)(react@18.3.1)
'@modern-js/rsbuild-plugin-esbuild': 2.68.2(@swc/core@1.7.26)(webpack-cli@5.1.4)
- '@modern-js/server': 2.68.2(@babel/traverse@7.27.1)(@rsbuild/core@1.4.4)(react-dom@18.3.1)(react@18.3.1)
+ '@modern-js/server': 2.68.2(@babel/traverse@7.27.1)(@rsbuild/core@1.4.4)(react-dom@18.3.1)(react@18.3.1)(ts-node@10.9.1)
'@modern-js/server-core': 2.68.2(react-dom@18.3.1)(react@18.3.1)
'@modern-js/server-utils': 2.68.2(@babel/traverse@7.27.1)(@rsbuild/core@1.4.4)
'@modern-js/types': 2.68.2
@@ -10935,6 +9769,7 @@ packages:
ndepe: 0.1.12(encoding@0.1.13)
pkg-types: 1.3.1
std-env: 3.7.0
+ ts-node: 10.9.1(@swc/core@1.7.26)(@types/node@18.16.9)(typescript@5.8.3)
transitivePeerDependencies:
- '@parcel/css'
- '@rspack/core'
@@ -10963,7 +9798,7 @@ packages:
- webpack-plugin-serve
dev: true
- /@modern-js/app-tools@2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(typescript@5.5.2)(webpack-cli@5.1.4):
+ /@modern-js/app-tools@2.68.2(@rspack/core@1.3.9)(@swc/core@1.7.26)(encoding@0.1.13)(react-dom@18.3.1)(react@18.3.1)(styled-components@6.1.8)(ts-node@10.9.1)(typescript@5.5.2)(webpack-cli@5.1.4):
resolution: {integrity: sha512-fOhDC+WzYUtEZrPd35eOr1NEwybu+QCKMqhk8YsRG+DBUYrglVCub6VSHAu+fqOA1bXIyZbS+dYrCq8t3PebRA==}
engines: {node: '>=14.17.6'}
hasBin: true
@@ -10978,7 +9813,7 @@ packages:
dependencies:
'@babel/parser': 7.27.2
'@babel/traverse': 7.27.1
- '@babel/types': 7.27.1
+ '@babel/types': 7.28.2
'@modern-js/core': 2.68.2
'@modern-js/node-bundle-require': 2.68.2
'@modern-js/plugin': 2.68.2
@@ -10987,7 +9822,7 @@ packages:
'@modern-js/plugin-v2': 2.68.2(react-dom@18.3.1)(react@18.3.1)
'@modern-js/prod-server': 2.68.2(react-dom@18.3.1)(react@18.3.1)
'@modern-js/rsbuild-plugin-esbuild': 2.68.2(@swc/core@1.7.26)(webpack-cli@5.1.4)
- '@modern-js/server': 2.68.2(@babel/traverse@7.27.1)(@rsbuild/core@1.4.4)(react-dom@18.3.1)(react@18.3.1)
+ '@modern-js/server': 2.68.2(@babel/traverse@7.27.1)(@rsbuild/core@1.4.4)(react-dom@18.3.1)(react@18.3.1)(ts-node@10.9.1)
'@modern-js/server-core': 2.68.2(react-dom@18.3.1)(react@18.3.1)
'@modern-js/server-utils': 2.68.2(@babel/traverse@7.27.1)(@rsbuild/core@1.4.4)
'@modern-js/types': 2.68.2
@@ -11004,6 +9839,7 @@ packages:
ndepe: 0.1.12(encoding@0.1.13)
pkg-types: 1.3.1
std-env: 3.7.0
+ ts-node: 10.9.1(@swc/core@1.7.26)(@types/node@18.16.9)(typescript@5.8.3)
transitivePeerDependencies:
- '@parcel/css'
- '@rspack/core'
@@ -11107,7 +9943,7 @@ packages:
'@babel/preset-env': 7.28.0(@babel/core@7.28.0)
'@babel/preset-typescript': 7.27.1(@babel/core@7.28.0)
'@babel/runtime': 7.28.2
- '@babel/types': 7.27.1
+ '@babel/types': 7.28.2
'@rsbuild/plugin-babel': 1.0.5(@rsbuild/core@1.4.3)
'@swc/helpers': 0.5.17
'@types/babel__core': 7.20.5
@@ -11130,7 +9966,7 @@ packages:
'@babel/preset-env': 7.28.0(@babel/core@7.28.0)
'@babel/preset-typescript': 7.27.1(@babel/core@7.28.0)
'@babel/runtime': 7.28.2
- '@babel/types': 7.27.1
+ '@babel/types': 7.28.2
'@rsbuild/plugin-babel': 1.0.5(@rsbuild/core@1.4.4)
'@swc/helpers': 0.5.17
'@types/babel__core': 7.20.5
@@ -11190,8 +10026,8 @@ packages:
dependencies:
'@ampproject/remapping': 2.3.0
'@ast-grep/napi': 0.35.0
- '@babel/core': 7.26.10
- '@babel/types': 7.27.1
+ '@babel/core': 7.28.0
+ '@babel/types': 7.28.2
'@modern-js/core': 2.68.2
'@modern-js/plugin': 2.68.2
'@modern-js/plugin-changeset': 2.68.2
@@ -11232,8 +10068,8 @@ packages:
dependencies:
'@ampproject/remapping': 2.3.0
'@ast-grep/napi': 0.35.0
- '@babel/core': 7.26.10
- '@babel/types': 7.27.1
+ '@babel/core': 7.28.0
+ '@babel/types': 7.28.2
'@modern-js/core': 2.68.2
'@modern-js/plugin': 2.68.2
'@modern-js/plugin-changeset': 2.68.2
@@ -11535,7 +10371,7 @@ packages:
react-dom: '>=17'
dependencies:
'@babel/core': 7.28.0
- '@babel/types': 7.27.1
+ '@babel/types': 7.28.2
'@loadable/babel-plugin': 5.15.3(@babel/core@7.28.0)
'@loadable/component': 5.15.3(react@18.3.1)
'@loadable/server': 5.15.3(@loadable/component@5.15.3)(react@18.3.1)
@@ -11573,7 +10409,7 @@ packages:
react-dom: '>=17'
dependencies:
'@babel/core': 7.28.0
- '@babel/types': 7.27.1
+ '@babel/types': 7.28.2
'@loadable/babel-plugin': 5.15.3(@babel/core@7.28.0)
'@loadable/component': 5.15.3(react@18.3.1)
'@loadable/server': 5.15.3(@loadable/component@5.15.3)(react@18.3.1)
@@ -11695,7 +10531,7 @@ packages:
- supports-color
dev: true
- /@modern-js/server@2.68.0(@babel/traverse@7.27.1)(@rsbuild/core@1.4.3)(react-dom@18.3.1)(react@18.3.1):
+ /@modern-js/server@2.68.0(@babel/traverse@7.27.1)(@rsbuild/core@1.4.3)(react-dom@18.3.1)(react@18.3.1)(ts-node@10.9.1):
resolution: {integrity: sha512-5r1Bl2osn84wixU625KQGs2FnP0diyk5hZucteogFTAKWz9jo128Ry9ePTXegUnHGc8K/9l4Ex5PsQdXgOPhvA==}
peerDependencies:
devcert: ^1.2.2
@@ -11722,6 +10558,7 @@ packages:
http-compression: 1.0.6
minimatch: 3.1.2
path-to-regexp: 6.3.0
+ ts-node: 10.9.1(@swc/core@1.7.26)(@types/node@18.16.9)(typescript@5.8.3)
ws: 8.18.0
transitivePeerDependencies:
- '@babel/traverse'
@@ -11734,7 +10571,7 @@ packages:
- utf-8-validate
dev: true
- /@modern-js/server@2.68.2(@babel/traverse@7.27.1)(@rsbuild/core@1.4.4)(react-dom@18.3.1)(react@18.3.1):
+ /@modern-js/server@2.68.2(@babel/traverse@7.27.1)(@rsbuild/core@1.4.4)(react-dom@18.3.1)(react@18.3.1)(ts-node@10.9.1):
resolution: {integrity: sha512-O2KtXjev6RBeZ8C3KIgAIo+k2HBWBTgIWss5z3Z0bh+IijnaqaliYOBpG4sbrsLZwVu0c2CoNguG/v246pXDRA==}
peerDependencies:
devcert: ^1.2.2
@@ -11761,6 +10598,7 @@ packages:
http-compression: 1.0.6
minimatch: 3.1.2
path-to-regexp: 6.3.0
+ ts-node: 10.9.1(@swc/core@1.7.26)(@types/node@18.16.9)(typescript@5.8.3)
ws: 8.18.0
transitivePeerDependencies:
- '@babel/traverse'
@@ -11978,7 +10816,7 @@ packages:
dependencies:
'@babel/core': 7.28.0
'@babel/preset-react': 7.27.1(@babel/core@7.28.0)
- '@babel/types': 7.27.1
+ '@babel/types': 7.28.2
'@modern-js/babel-preset': 2.68.0(@rsbuild/core@1.4.3)
'@modern-js/flight-server-transform-plugin': 2.68.0
'@modern-js/utils': 2.68.0
@@ -12059,7 +10897,7 @@ packages:
dependencies:
'@babel/core': 7.28.0
'@babel/preset-react': 7.27.1(@babel/core@7.28.0)
- '@babel/types': 7.27.1
+ '@babel/types': 7.28.2
'@modern-js/babel-preset': 2.68.2(@rsbuild/core@1.4.4)
'@modern-js/flight-server-transform-plugin': 2.68.2
'@modern-js/utils': 2.68.2
@@ -12140,7 +10978,7 @@ packages:
dependencies:
'@babel/core': 7.28.0
'@babel/preset-react': 7.27.1(@babel/core@7.28.0)
- '@babel/types': 7.27.1
+ '@babel/types': 7.28.2
'@modern-js/babel-preset': 2.68.2(@rsbuild/core@1.4.4)
'@modern-js/flight-server-transform-plugin': 2.68.2
'@modern-js/utils': 2.68.2
@@ -12219,9 +11057,9 @@ packages:
/@modern-js/uni-builder@2.68.2(@rspack/core@1.3.9)(esbuild@0.25.5)(styled-components@6.1.8)(typescript@5.5.2)(webpack-cli@5.1.4):
resolution: {integrity: sha512-ZGQup+zYHVl2RZoBJnwW/C/qNOI2ABX4B23YtyNDrmTHCk5kIHXTPScUScS7Eai637xzYfWSFeZGhfN1DOas2Q==}
dependencies:
- '@babel/core': 7.26.10
- '@babel/preset-react': 7.26.3(@babel/core@7.26.10)
- '@babel/types': 7.27.1
+ '@babel/core': 7.28.0
+ '@babel/preset-react': 7.26.3(@babel/core@7.28.0)
+ '@babel/types': 7.28.2
'@modern-js/babel-preset': 2.68.2(@rsbuild/core@1.4.4)
'@modern-js/flight-server-transform-plugin': 2.68.2
'@modern-js/utils': 2.68.2
@@ -12247,7 +11085,7 @@ packages:
'@swc/core': 1.11.31(@swc/helpers@0.5.17)
'@swc/helpers': 0.5.17
autoprefixer: 10.4.21(postcss@8.5.6)
- babel-loader: 9.2.1(@babel/core@7.26.10)(webpack@5.99.9)
+ babel-loader: 9.2.1(@babel/core@7.28.0)(webpack@5.99.9)
babel-plugin-import: 1.13.8
babel-plugin-styled-components: 1.13.3(styled-components@6.1.8)
babel-plugin-transform-react-remove-prop-types: 0.4.24
@@ -12301,7 +11139,7 @@ packages:
resolution: {integrity: sha512-cxY7HsSH0jIN3rlL6RZ0tgzC1tH0gHW++8X6h7sXCNCylhUdbGZI9yTGbpAS8bU7c97NmPaTKg+/ILt00Kju1Q==}
dependencies:
'@swc/helpers': 0.5.17
- caniuse-lite: 1.0.30001718
+ caniuse-lite: 1.0.30001731
lodash: 4.17.21
rslog: 1.2.3
dev: true
@@ -13877,7 +12715,7 @@ packages:
- verdaccio
dev: true
- /@nx/eslint@20.1.1(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@20.12.14)(eslint@9.0.0)(nx@21.2.3)(verdaccio@6.1.2):
+ /@nx/eslint@20.1.1(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@20.12.14)(eslint@8.57.1)(nx@21.2.3)(verdaccio@6.1.2):
resolution: {integrity: sha512-y3Xze6zt2qejqxOZGFbpY1mOG+pakc5Z/ljfI19nGX6voBhsd7+YnHRrcCPieOZ1OetcPn+WdL4HFrSOMb2dcQ==}
peerDependencies:
'@zkochan/js-yaml': 0.0.7
@@ -13888,7 +12726,7 @@ packages:
dependencies:
'@nx/devkit': 20.1.1(nx@21.2.3)
'@nx/js': 20.1.1(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@20.12.14)(nx@21.2.3)(typescript@5.4.5)(verdaccio@6.1.2)
- eslint: 9.0.0
+ eslint: 8.57.1
semver: 7.6.3
tslib: 2.8.1
typescript: 5.4.5
@@ -13929,7 +12767,7 @@ packages:
- verdaccio
dev: true
- /@nx/express@21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(eslint@8.57.1)(express@4.21.2)(nx@21.2.3)(typescript@5.8.3)(verdaccio@6.1.2):
+ /@nx/express@21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(eslint@8.57.1)(express@4.21.2)(nx@21.2.3)(ts-node@10.9.1)(typescript@5.8.3)(verdaccio@6.1.2):
resolution: {integrity: sha512-XUHDpH8ilLUYkuHobm3UZbtkY+09AfjrlR5xfb/fDCimvjyPb/E8MvcYPya+jvUTkNQ5Z8PL51qG/2F5SnUDBw==}
peerDependencies:
express: ^4.21.2
@@ -13939,7 +12777,7 @@ packages:
dependencies:
'@nx/devkit': 21.2.3(nx@21.2.3)
'@nx/js': 21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(nx@21.2.3)(verdaccio@6.1.2)
- '@nx/node': 21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(eslint@8.57.1)(nx@21.2.3)(typescript@5.8.3)(verdaccio@6.1.2)
+ '@nx/node': 21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(eslint@8.57.1)(nx@21.2.3)(ts-node@10.9.1)(typescript@5.8.3)(verdaccio@6.1.2)
express: 4.21.2
tslib: 2.8.1
transitivePeerDependencies:
@@ -13959,7 +12797,7 @@ packages:
- verdaccio
dev: true
- /@nx/jest@21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(nx@21.2.3)(typescript@5.8.3)(verdaccio@6.1.2):
+ /@nx/jest@21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(nx@21.2.3)(ts-node@10.9.1)(typescript@5.8.3)(verdaccio@6.1.2):
resolution: {integrity: sha512-lkH+tX8c1XSRjDa1g/lnYiC4zgs+8tZsj9yUVR2/1x+OO2SYDL8KVld6ZkWzXhRW8ZKXPHkDMWMUNBqsYlAWHA==}
dependencies:
'@jest/reporters': 29.7.0
@@ -13968,7 +12806,7 @@ packages:
'@nx/js': 21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(nx@21.2.3)(verdaccio@6.1.2)
'@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3)
identity-obj-proxy: 3.0.0
- jest-config: 29.7.0(@types/node@18.16.9)
+ jest-config: 29.7.0(@types/node@18.16.9)(ts-node@10.9.1)
jest-resolve: 29.7.0
jest-util: 29.7.0
minimatch: 9.0.3
@@ -14000,19 +12838,19 @@ packages:
verdaccio:
optional: true
dependencies:
- '@babel/core': 7.26.10
- '@babel/plugin-proposal-decorators': 7.25.7(@babel/core@7.26.10)
- '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-runtime': 7.25.7(@babel/core@7.26.10)
- '@babel/preset-env': 7.26.0(@babel/core@7.26.10)
- '@babel/preset-typescript': 7.26.0(@babel/core@7.26.10)
- '@babel/runtime': 7.26.0
+ '@babel/core': 7.28.0
+ '@babel/plugin-proposal-decorators': 7.25.7(@babel/core@7.28.0)
+ '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.28.0)
+ '@babel/plugin-transform-runtime': 7.25.7(@babel/core@7.28.0)
+ '@babel/preset-env': 7.28.0(@babel/core@7.28.0)
+ '@babel/preset-typescript': 7.26.0(@babel/core@7.28.0)
+ '@babel/runtime': 7.28.2
'@nx/devkit': 20.1.1(nx@21.2.3)
'@nx/workspace': 20.1.1(@swc-node/register@1.10.10)(@swc/core@1.7.26)
'@zkochan/js-yaml': 0.0.7
- babel-plugin-const-enum: 1.2.0(@babel/core@7.26.10)
+ babel-plugin-const-enum: 1.2.0(@babel/core@7.28.0)
babel-plugin-macros: 2.8.0
- babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.26.10)
+ babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.28.0)(@babel/traverse@7.27.1)
chalk: 4.1.2
columnify: 1.6.0
detect-port: 1.6.1
@@ -14051,19 +12889,19 @@ packages:
verdaccio:
optional: true
dependencies:
- '@babel/core': 7.26.10
- '@babel/plugin-proposal-decorators': 7.25.7(@babel/core@7.26.10)
- '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-runtime': 7.25.7(@babel/core@7.26.10)
- '@babel/preset-env': 7.26.0(@babel/core@7.26.10)
- '@babel/preset-typescript': 7.26.0(@babel/core@7.26.10)
- '@babel/runtime': 7.26.0
+ '@babel/core': 7.28.0
+ '@babel/plugin-proposal-decorators': 7.25.7(@babel/core@7.28.0)
+ '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.28.0)
+ '@babel/plugin-transform-runtime': 7.25.7(@babel/core@7.28.0)
+ '@babel/preset-env': 7.28.0(@babel/core@7.28.0)
+ '@babel/preset-typescript': 7.26.0(@babel/core@7.28.0)
+ '@babel/runtime': 7.28.2
'@nx/devkit': 20.1.1(nx@21.2.3)
'@nx/workspace': 20.1.1(@swc-node/register@1.10.10)(@swc/core@1.7.26)
'@zkochan/js-yaml': 0.0.7
- babel-plugin-const-enum: 1.2.0(@babel/core@7.26.10)
+ babel-plugin-const-enum: 1.2.0(@babel/core@7.28.0)
babel-plugin-macros: 2.8.0
- babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.26.10)
+ babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.28.0)(@babel/traverse@7.27.1)
chalk: 4.1.2
columnify: 1.6.0
detect-port: 1.6.1
@@ -14108,7 +12946,7 @@ packages:
'@babel/plugin-transform-runtime': 7.25.7(@babel/core@7.28.0)
'@babel/preset-env': 7.28.0(@babel/core@7.28.0)
'@babel/preset-typescript': 7.27.1(@babel/core@7.28.0)
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
'@nx/devkit': 21.2.3(nx@21.2.3)
'@nx/workspace': 21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)
'@zkochan/js-yaml': 0.0.7
@@ -14231,12 +13069,12 @@ packages:
- webpack-cli
dev: true
- /@nx/node@21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(eslint@8.57.1)(nx@21.2.3)(typescript@5.8.3)(verdaccio@6.1.2):
+ /@nx/node@21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(eslint@8.57.1)(nx@21.2.3)(ts-node@10.9.1)(typescript@5.8.3)(verdaccio@6.1.2):
resolution: {integrity: sha512-5ivOTIYyXHwZSwpCR3AnKFCzjjzKHMfmVnMLQbiDhYB7nd9RJXsKsPAMdEVFCP/JBTPmQkufXElw/Kxfww7dnA==}
dependencies:
'@nx/devkit': 21.2.3(nx@21.2.3)
'@nx/eslint': 21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(eslint@8.57.1)(nx@21.2.3)(verdaccio@6.1.2)
- '@nx/jest': 21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(nx@21.2.3)(typescript@5.8.3)(verdaccio@6.1.2)
+ '@nx/jest': 21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@18.16.9)(nx@21.2.3)(ts-node@10.9.1)(typescript@5.8.3)(verdaccio@6.1.2)
'@nx/js': 21.2.3(@swc-node/register@1.10.10)(@swc/core@1.7.26)(nx@21.2.3)(verdaccio@6.1.2)
kill-port: 1.6.1
tcp-port-used: 1.0.2
@@ -14418,12 +13256,12 @@ packages:
requiresBuild: true
optional: true
- /@nx/react@20.1.1(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@20.12.14)(eslint@9.0.0)(nx@21.2.3)(react-dom@18.3.1)(react@18.3.1)(typescript@5.8.3)(verdaccio@6.1.2)(vue-tsc@2.2.10)(webpack@5.94.0):
+ /@nx/react@20.1.1(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@20.12.14)(eslint@8.57.1)(nx@21.2.3)(react-dom@18.3.1)(react@18.3.1)(typescript@5.8.3)(verdaccio@6.1.2)(vue-tsc@2.2.10)(webpack@5.94.0):
resolution: {integrity: sha512-1oXMAgedERHn8LV5FQ4IE3PxmqZLq0fkJXiDjUmL6Lv0alJVDtUWPa+Fr/KIfx9OOw1oGu3ZPPWYGipcSwGeIQ==}
dependencies:
'@module-federation/enhanced': 0.6.9(react-dom@18.3.1)(react@18.3.1)(typescript@5.8.3)(vue-tsc@2.2.10)(webpack@5.94.0)
'@nx/devkit': 20.1.1(nx@21.2.3)
- '@nx/eslint': 20.1.1(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@20.12.14)(eslint@9.0.0)(nx@21.2.3)(verdaccio@6.1.2)
+ '@nx/eslint': 20.1.1(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@20.12.14)(eslint@8.57.1)(nx@21.2.3)(verdaccio@6.1.2)
'@nx/js': 20.1.1(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@20.12.14)(nx@21.2.3)(typescript@5.8.3)(verdaccio@6.1.2)
'@nx/web': 20.1.1(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@20.12.14)(nx@21.2.3)(typescript@5.8.3)(verdaccio@6.1.2)
'@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3)
@@ -14433,7 +13271,7 @@ packages:
http-proxy-middleware: 3.0.3
minimatch: 9.0.3
picocolors: 1.1.1
- tslib: 2.6.3
+ tslib: 2.8.1
transitivePeerDependencies:
- '@babel/traverse'
- '@swc-node/register'
@@ -14496,7 +13334,7 @@ packages:
- webpack-cli
dev: true
- /@nx/rollup@21.2.3(@babel/core@7.28.0)(@swc-node/register@1.10.10)(@swc/core@1.7.26)(nx@21.2.3)(typescript@5.8.3)(verdaccio@6.1.2):
+ /@nx/rollup@21.2.3(@babel/core@7.28.0)(@swc-node/register@1.10.10)(@swc/core@1.7.26)(nx@21.2.3)(ts-node@10.9.1)(typescript@5.8.3)(verdaccio@6.1.2):
resolution: {integrity: sha512-SzvlYPRwp4i6o3NzeMwg+NOU0pT96OySEFZwl8azBllvseAUq6euKMBZDzJuhi3xjpmYb61gK5JAViEAnyZLjw==}
dependencies:
'@nx/devkit': 21.2.3(nx@21.2.3)
@@ -14513,7 +13351,7 @@ packages:
postcss: 8.4.38
rollup: 4.40.0
rollup-plugin-copy: 3.5.0
- rollup-plugin-postcss: 4.0.2(postcss@8.4.38)
+ rollup-plugin-postcss: 4.0.2(postcss@8.4.38)(ts-node@10.9.1)
rollup-plugin-typescript2: 0.36.0(rollup@4.40.0)(typescript@5.8.3)
tslib: 2.8.1
transitivePeerDependencies:
@@ -14694,7 +13532,7 @@ packages:
/@nx/webpack@20.1.1(@rspack/core@1.3.9)(@swc-node/register@1.10.10)(@swc/core@1.7.26)(@types/node@20.12.14)(esbuild@0.24.0)(html-webpack-plugin@5.6.2)(nx@21.2.3)(react-dom@18.3.1)(react@18.3.1)(typescript@5.8.3)(verdaccio@6.1.2)(vue-tsc@2.2.10)(webpack-cli@5.1.4):
resolution: {integrity: sha512-ucxJn9q/KboQ4ywtODmOYD9ac9FczdLd/1WDAPctxERuq71bfkwGmZGUzH3fDqolinek0kAIhn6ci3ww2/Qs1A==}
dependencies:
- '@babel/core': 7.26.0
+ '@babel/core': 7.28.0
'@module-federation/enhanced': 0.6.9(react-dom@18.3.1)(react@18.3.1)(typescript@5.8.3)(vue-tsc@2.2.10)(webpack@5.98.0)
'@module-federation/sdk': 0.6.11
'@nx/devkit': 20.1.1(nx@21.2.3)
@@ -14702,7 +13540,7 @@ packages:
'@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3)
ajv: 8.17.1
autoprefixer: 10.4.20(postcss@8.4.47)
- babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.98.0)
+ babel-loader: 9.2.1(@babel/core@7.28.0)(webpack@5.98.0)
browserslist: 4.24.0
copy-webpack-plugin: 10.2.4(webpack@5.98.0)
css-loader: 6.11.0(@rspack/core@1.3.9)(webpack@5.98.0)
@@ -14730,7 +13568,7 @@ packages:
terser-webpack-plugin: 5.3.10(@swc/core@1.7.26)(esbuild@0.24.0)(webpack@5.98.0)
ts-loader: 9.5.1(typescript@5.8.3)(webpack@5.98.0)
tsconfig-paths-webpack-plugin: 4.0.0
- tslib: 2.6.3
+ tslib: 2.8.1
webpack: 5.98.0(@swc/core@1.7.26)(esbuild@0.24.0)(webpack-cli@5.1.4)
webpack-dev-server: 5.1.0(webpack-cli@5.1.4)(webpack@5.98.0)
webpack-node-externals: 3.0.0
@@ -15434,9 +14272,9 @@ packages:
hasBin: true
dependencies:
'@babel/code-frame': 7.25.7
- '@babel/core': 7.25.8
+ '@babel/core': 7.28.0
'@babel/helper-module-imports': 7.25.7
- '@babel/runtime': 7.25.7
+ '@babel/runtime': 7.28.2
'@preconstruct/hook': 0.4.0
'@rollup/plugin-alias': 3.1.9(rollup@2.79.2)
'@rollup/plugin-commonjs': 15.1.0(rollup@2.79.2)
@@ -15476,8 +14314,8 @@ packages:
/@preconstruct/hook@0.4.0:
resolution: {integrity: sha512-a7mrlPTM3tAFJyz43qb4pPVpUx8j8TzZBFsNFqcKcE/sEakNXRlQAuCT4RGZRf9dQiiUnBahzSIWawU4rENl+Q==}
dependencies:
- '@babel/core': 7.25.8
- '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.25.8)
+ '@babel/core': 7.28.0
+ '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0)
pirates: 4.0.7
source-map-support: 0.5.21
transitivePeerDependencies:
@@ -16206,7 +15044,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
'@ctrl/tinycolor': 3.6.1
classnames: 2.5.1
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
@@ -16220,7 +15058,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
'@ctrl/tinycolor': 3.6.1
classnames: 2.5.1
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
@@ -16266,7 +15104,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
react: 17.0.2
@@ -16280,7 +15118,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
@@ -16321,7 +15159,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
react: 17.0.2
@@ -16335,7 +15173,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
@@ -16349,7 +15187,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/portal': 1.1.2(react-dom@17.0.2)(react@17.0.2)
'@rc-component/trigger': 2.2.3(react-dom@17.0.2)(react@17.0.2)
classnames: 2.5.1
@@ -16365,7 +15203,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/portal': 1.1.2(react-dom@18.3.1)(react@18.3.1)
'@rc-component/trigger': 2.2.3(react-dom@18.3.1)(react@18.3.1)
classnames: 2.5.1
@@ -16381,7 +15219,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/portal': 1.1.2(react-dom@17.0.2)(react@17.0.2)
classnames: 2.5.1
rc-motion: 2.9.3(react-dom@17.0.2)(react@17.0.2)
@@ -16398,7 +15236,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/portal': 1.1.2(react-dom@18.3.1)(react@18.3.1)
classnames: 2.5.1
rc-motion: 2.9.3(react-dom@18.3.1)(react@18.3.1)
@@ -16408,6 +15246,469 @@ packages:
react-dom: 18.3.1(react@18.3.1)
dev: false
+ /@react-native-community/cli-clean@19.1.1:
+ resolution: {integrity: sha512-pP7SmK+PNw5B1Aa2c6y06FBNc9iGah/leFFM2uewpyZRJQ4zycX6Zz1UANpq9YZfp65n7NZKV9Gct2uaVRuP/Q==}
+ dependencies:
+ '@react-native-community/cli-tools': 19.1.1
+ chalk: 4.1.2
+ execa: 5.1.1
+ fast-glob: 3.3.2
+
+ /@react-native-community/cli-config-android@18.0.0:
+ resolution: {integrity: sha512-pgnhEO2cmOeb+bBFEBZFYjeFjDTqWoV0JTorTiugj9bb4RQRCl8cr35baVlBGhxAuaio3722CsJ9GRF1oHjP8w==}
+ dependencies:
+ '@react-native-community/cli-tools': 18.0.0
+ chalk: 4.1.2
+ fast-glob: 3.3.2
+ fast-xml-parser: 4.5.3
+ dev: true
+
+ /@react-native-community/cli-config-android@19.1.1:
+ resolution: {integrity: sha512-uAUXU/BPuasBy7For5lvVEpxiwA29X5BWKjM4fgxWmsQhaZHW//6PNRep94w3WVnAp+CUbW6+o3SzFqMX0PdIw==}
+ dependencies:
+ '@react-native-community/cli-tools': 19.1.1
+ chalk: 4.1.2
+ fast-glob: 3.3.2
+ fast-xml-parser: 4.5.3
+
+ /@react-native-community/cli-config-apple@18.0.0:
+ resolution: {integrity: sha512-6edjTt3mlNMFBuB/Xd6u0O7GEkhJiKvQgmcoBH18FsNy5cpiHDwQsG8EWM5cHeINp1gMK845qq9fFsTko6gqyQ==}
+ dependencies:
+ '@react-native-community/cli-tools': 18.0.0
+ chalk: 4.1.2
+ execa: 5.1.1
+ fast-glob: 3.3.2
+ dev: true
+
+ /@react-native-community/cli-config-apple@19.1.1:
+ resolution: {integrity: sha512-dKS7pg5eAEgRB8sOWYpr6XCR/3xUcttHNsuYYbuMXfY9d0M3d0oGquuMOW/p3Ri9sJI16bRAs/YIXDF2m4gYIA==}
+ dependencies:
+ '@react-native-community/cli-tools': 19.1.1
+ chalk: 4.1.2
+ execa: 5.1.1
+ fast-glob: 3.3.2
+
+ /@react-native-community/cli-config@18.0.0(typescript@5.0.4):
+ resolution: {integrity: sha512-GUGvyek06JRF4mfd9zXao9YQW4+H8ny69HznqNXVRtVSIIekFyjOpKQeSEzdcyqJEEa5gej22GOz1JCHMKBccg==}
+ dependencies:
+ '@react-native-community/cli-tools': 18.0.0
+ chalk: 4.1.2
+ cosmiconfig: 9.0.0(typescript@5.0.4)
+ deepmerge: 4.3.1
+ fast-glob: 3.3.2
+ joi: 17.13.3
+ transitivePeerDependencies:
+ - typescript
+ dev: true
+
+ /@react-native-community/cli-config@19.1.1(typescript@5.0.4):
+ resolution: {integrity: sha512-qGLYCFf3whCa/we3iKd5BY4RlcAUhSykwGpnJpjseXLaI5iJzIn/IMd70EBG8QvhV/KQxM7VFMQj6KgGcoNKYg==}
+ dependencies:
+ '@react-native-community/cli-tools': 19.1.1
+ chalk: 4.1.2
+ cosmiconfig: 9.0.0(typescript@5.0.4)
+ deepmerge: 4.3.1
+ fast-glob: 3.3.2
+ joi: 17.13.3
+ transitivePeerDependencies:
+ - typescript
+
+ /@react-native-community/cli-doctor@19.1.1(typescript@5.0.4):
+ resolution: {integrity: sha512-P6JgTpa8fn6SfGiotyRhiCqBlRlKx8MUUdMESPGyPzvMb8omz+Jv0ibdNg9CVT11/0x5oRsoGv07os/o+Eg0zQ==}
+ dependencies:
+ '@react-native-community/cli-config': 19.1.1(typescript@5.0.4)
+ '@react-native-community/cli-platform-android': 19.1.1
+ '@react-native-community/cli-platform-apple': 19.1.1
+ '@react-native-community/cli-platform-ios': 19.1.1
+ '@react-native-community/cli-tools': 19.1.1
+ chalk: 4.1.2
+ command-exists: 1.2.9
+ deepmerge: 4.3.1
+ envinfo: 7.14.0
+ execa: 5.1.1
+ node-stream-zip: 1.15.0
+ ora: 5.4.1
+ semver: 7.6.3
+ wcwidth: 1.0.1
+ yaml: 2.7.0
+ transitivePeerDependencies:
+ - typescript
+
+ /@react-native-community/cli-platform-android@19.1.1:
+ resolution: {integrity: sha512-omEAcIYz22Lxi/WjYHkNaUMEKV+o60PL3DJE6Wz3c4bkuDfxICJ8JcPawT4fDMsBX7DYwnYf6/Lk/leqQmHzOw==}
+ dependencies:
+ '@react-native-community/cli-config-android': 19.1.1
+ '@react-native-community/cli-tools': 19.1.1
+ chalk: 4.1.2
+ execa: 5.1.1
+ logkitty: 0.7.1
+
+ /@react-native-community/cli-platform-apple@19.1.1:
+ resolution: {integrity: sha512-nsJ/TlQ97Lcmz5dVZVSwYYQzJmK6q/9X31VTAFhUf94ShugF3zXjaNnOJieKYDJlXy4G0EnrEulX1gTt29ebyw==}
+ dependencies:
+ '@react-native-community/cli-config-apple': 19.1.1
+ '@react-native-community/cli-tools': 19.1.1
+ chalk: 4.1.2
+ execa: 5.1.1
+ fast-xml-parser: 4.5.3
+
+ /@react-native-community/cli-platform-ios@19.1.1:
+ resolution: {integrity: sha512-QHw/eBszq+62xUBorVqjgDYsVrZ5JAYJZkc6UKO327LnVn10OUB/bPGA/FzDWZdGB77pt0IalNP8nxyGOytMfg==}
+ dependencies:
+ '@react-native-community/cli-platform-apple': 19.1.1
+
+ /@react-native-community/cli-server-api@18.0.0:
+ resolution: {integrity: sha512-tdmGV7ZntYmzrXWheZNpAy6dVI2yrsX4sQH+xAzU7lCfKHk6J8GucxedduXnB5qBB4JgSrrbzg2RLNxv5v0S/Q==}
+ dependencies:
+ '@react-native-community/cli-tools': 18.0.0
+ body-parser: 1.20.3
+ compression: 1.8.0
+ connect: 3.7.0
+ errorhandler: 1.5.1
+ nocache: 3.0.4
+ open: 6.4.0
+ pretty-format: 26.6.2
+ serve-static: 1.16.2
+ ws: 6.2.3
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /@react-native-community/cli-server-api@19.1.1:
+ resolution: {integrity: sha512-p0FFm82uPrtLZBWTD3bZ43mMBIV5mXwvGFYMcsfGiuMoS9SNbw4ImEFTG2IutVpr7Qb6NMjx6SbgYYMnTdZXmw==}
+ dependencies:
+ '@react-native-community/cli-tools': 19.1.1
+ body-parser: 1.20.3
+ compression: 1.8.0
+ connect: 3.7.0
+ errorhandler: 1.5.1
+ nocache: 3.0.4
+ open: 6.4.0
+ pretty-format: 26.6.2
+ serve-static: 1.16.2
+ ws: 6.2.3
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ /@react-native-community/cli-tools@18.0.0:
+ resolution: {integrity: sha512-oR6FcDEcSDYos79vZy4+Tj8jgAE0Xf5HEiRXMJFGISYLRx7tvslSaK8SodUOW9TZe2bCZOb5QSvj8zeMpORmxg==}
+ dependencies:
+ '@vscode/sudo-prompt': 9.3.1
+ appdirsjs: 1.2.7
+ chalk: 4.1.2
+ execa: 5.1.1
+ find-up: 5.0.0
+ launch-editor: 2.9.1
+ mime: 2.6.0
+ ora: 5.4.1
+ prompts: 2.4.2
+ semver: 7.6.3
+ dev: true
+
+ /@react-native-community/cli-tools@19.1.1:
+ resolution: {integrity: sha512-0yWOdrfgO7jVtYzhNcm9hTA1hqrD6haqDaesFq4d3YCmh8lkkTb61Q/kNIKQCUfaCTR/Qcc4mdwy6ObdXRoTIQ==}
+ dependencies:
+ '@vscode/sudo-prompt': 9.3.1
+ appdirsjs: 1.2.7
+ chalk: 4.1.2
+ execa: 5.1.1
+ find-up: 5.0.0
+ launch-editor: 2.9.1
+ mime: 2.6.0
+ ora: 5.4.1
+ prompts: 2.4.2
+ semver: 7.6.3
+
+ /@react-native-community/cli-types@18.0.0:
+ resolution: {integrity: sha512-J84+4IRXl8WlVdoe1maTD5skYZZO9CbQ6LNXEHx1kaZcFmvPZKfjsaxuyQ+8BsSqZnM2izOw8dEWnAp/Zuwb0w==}
+ dependencies:
+ joi: 17.13.3
+ dev: true
+
+ /@react-native-community/cli-types@19.1.1:
+ resolution: {integrity: sha512-rOGiYjeDM9tkYBEuK6TJrnxpMhmaId1Un8pjQJswz7W9w2Vb6+nnLfWja7X7VmDIvqIK5GhVobRHsmKCKIdDEA==}
+ dependencies:
+ joi: 17.13.3
+
+ /@react-native-community/cli@19.1.1(typescript@5.0.4):
+ resolution: {integrity: sha512-H17sV83KPg2H2GCNuUSMM1ZM2sy6msVSmxrhJSycH8ua3i9Iixja8DeYtGIcJUzjdU/4U2eSDs6PjOSZUVn8CQ==}
+ engines: {node: '>=18'}
+ hasBin: true
+ dependencies:
+ '@react-native-community/cli-clean': 19.1.1
+ '@react-native-community/cli-config': 19.1.1(typescript@5.0.4)
+ '@react-native-community/cli-doctor': 19.1.1(typescript@5.0.4)
+ '@react-native-community/cli-server-api': 19.1.1
+ '@react-native-community/cli-tools': 19.1.1
+ '@react-native-community/cli-types': 19.1.1
+ chalk: 4.1.2
+ commander: 9.5.0
+ deepmerge: 4.3.1
+ execa: 5.1.1
+ find-up: 5.0.0
+ fs-extra: 8.1.0
+ graceful-fs: 4.2.11
+ prompts: 2.4.2
+ semver: 7.6.3
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - typescript
+ - utf-8-validate
+
+ /@react-native/assets-registry@0.80.0:
+ resolution: {integrity: sha512-MlScsKAz99zoYghe5Rf5mUqsqz2rMB02640NxtPtBMSHNdGxxRlWu/pp1bFexDa1DYJwyIjnLgt3Z/Y90ikHfw==}
+ engines: {node: '>=18'}
+
+ /@react-native/babel-plugin-codegen@0.80.0(@babel/core@7.28.0):
+ resolution: {integrity: sha512-LXd766LHCR/79WmhIg4zUB9jRosgw8xGJ1QnYOoef1rA7vCdubC23nhUxF+PJdfTdAl1cqX4u1dhZcjg6yXjRg==}
+ engines: {node: '>=18'}
+ dependencies:
+ '@babel/traverse': 7.28.0
+ '@react-native/codegen': 0.80.0(@babel/core@7.28.0)
+ transitivePeerDependencies:
+ - '@babel/core'
+ - supports-color
+ dev: true
+
+ /@react-native/babel-preset@0.80.0(@babel/core@7.28.0):
+ resolution: {integrity: sha512-ZgwbSOUPNKpIsZ6E0y3bncahh2vBf5V1URNV0tr9PBtu/LbGJ12nBKSH7gqrFdRzfEwKlhc0vP8p1oJt+A5mpw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@babel/core': '*'
+ dependencies:
+ '@babel/core': 7.28.0
+ '@babel/plugin-proposal-export-default-from': 7.25.8(@babel/core@7.28.0)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.0)
+ '@babel/plugin-syntax-export-default-from': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.0)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.0)
+ '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.0)
+ '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.28.0)
+ '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-classes': 7.28.0(@babel/core@7.28.0)
+ '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.0)
+ '@babel/plugin-transform-flow-strip-types': 7.25.7(@babel/core@7.28.0)
+ '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-object-rest-spread': 7.28.0(@babel/core@7.28.0)
+ '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0)
+ '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.0)
+ '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.28.0)
+ '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.28.0)
+ '@babel/plugin-transform-regenerator': 7.28.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-runtime': 7.25.7(@babel/core@7.28.0)
+ '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.0)
+ '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.0)
+ '@babel/template': 7.27.2
+ '@react-native/babel-plugin-codegen': 0.80.0(@babel/core@7.28.0)
+ babel-plugin-syntax-hermes-parser: 0.28.1
+ babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.28.0)
+ react-refresh: 0.14.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@react-native/codegen@0.80.0(@babel/core@7.28.0):
+ resolution: {integrity: sha512-X9TsPgytoUkNrQjzAZh4dXa4AuouvYT0NzYyvnjw1ry4LESCZtKba+eY4x3+M30WPR52zjgu+UFL//14BSdCCA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@babel/core': '*'
+ dependencies:
+ '@babel/core': 7.28.0
+ glob: 7.2.0
+ hermes-parser: 0.28.1
+ invariant: 2.2.4
+ nullthrows: 1.1.1
+ yargs: 17.7.2
+
+ /@react-native/community-cli-plugin@0.80.0(@react-native-community/cli@19.1.1):
+ resolution: {integrity: sha512-uadfVvzZfz5tGpqwslL12i+rELK9m6cLhtqICX0JQvS7Bu12PJwrozhKzEzIYwN9i3wl2dWrKDUr08izt7S9Iw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@react-native-community/cli': '*'
+ peerDependenciesMeta:
+ '@react-native-community/cli':
+ optional: true
+ dependencies:
+ '@react-native-community/cli': 19.1.1(typescript@5.0.4)
+ '@react-native/dev-middleware': 0.80.0
+ chalk: 4.1.2
+ debug: 4.4.1(supports-color@8.1.1)
+ invariant: 2.2.4
+ metro: 0.82.5
+ metro-config: 0.82.5
+ metro-core: 0.82.5
+ semver: 7.6.3
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ /@react-native/debugger-frontend@0.79.5:
+ resolution: {integrity: sha512-WQ49TRpCwhgUYo5/n+6GGykXmnumpOkl4Lr2l2o2buWU9qPOwoiBqJAtmWEXsAug4ciw3eLiVfthn5ufs0VB0A==}
+ engines: {node: '>=18'}
+ dev: true
+
+ /@react-native/debugger-frontend@0.80.0:
+ resolution: {integrity: sha512-lpu9Z3xtKUaKFvEcm5HSgo1KGfkDa/W3oZHn22Zy0WQ9MiOu2/ar1txgd1wjkoNiK/NethKcRdCN7mqnc6y2mA==}
+ engines: {node: '>=18'}
+
+ /@react-native/dev-middleware@0.79.5:
+ resolution: {integrity: sha512-U7r9M/SEktOCP/0uS6jXMHmYjj4ESfYCkNAenBjFjjsRWekiHE+U/vRMeO+fG9gq4UCcBAUISClkQCowlftYBw==}
+ engines: {node: '>=18'}
+ dependencies:
+ '@isaacs/ttlcache': 1.4.1
+ '@react-native/debugger-frontend': 0.79.5
+ chrome-launcher: 0.15.2
+ chromium-edge-launcher: 0.2.0
+ connect: 3.7.0
+ debug: 2.6.9
+ invariant: 2.2.4
+ nullthrows: 1.1.1
+ open: 7.4.2
+ serve-static: 1.16.2
+ ws: 6.2.3
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /@react-native/dev-middleware@0.80.0:
+ resolution: {integrity: sha512-lLyTnJ687A5jF3fn8yR/undlCis3FG+N/apQ+Q0Lcl+GV6FsZs0U5H28YmL6lZtjOj4TLek6uGPMPmZasHx7cQ==}
+ engines: {node: '>=18'}
+ dependencies:
+ '@isaacs/ttlcache': 1.4.1
+ '@react-native/debugger-frontend': 0.80.0
+ chrome-launcher: 0.15.2
+ chromium-edge-launcher: 0.2.0
+ connect: 3.7.0
+ debug: 4.4.1(supports-color@8.1.1)
+ invariant: 2.2.4
+ nullthrows: 1.1.1
+ open: 7.4.2
+ serve-static: 1.16.2
+ ws: 6.2.3
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ /@react-native/eslint-config@0.80.0(eslint@8.57.1)(jest@29.7.0)(prettier@2.8.8)(typescript@5.0.4):
+ resolution: {integrity: sha512-bd0GOcG++qIKzEngeyeNrGaDWWHtB8CpC5zbpYho2TTWpJDxBRcoPAzBdpPkxQtpBMdXyYRZMENRp6Khrg0YYQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ eslint: '>=8'
+ prettier: '>=2'
+ dependencies:
+ '@babel/core': 7.28.0
+ '@babel/eslint-parser': 7.25.7(@babel/core@7.28.0)(eslint@8.57.1)
+ '@react-native/eslint-plugin': 0.80.0
+ '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.0.4)
+ '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.0.4)
+ eslint: 8.57.1
+ eslint-config-prettier: 8.10.0(eslint@8.57.1)
+ eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.1)
+ eslint-plugin-ft-flow: 2.0.3(@babel/eslint-parser@7.25.7)(eslint@8.57.1)
+ eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@7.18.0)(eslint@8.57.1)(jest@29.7.0)(typescript@5.0.4)
+ eslint-plugin-react: 7.37.2(eslint@8.57.1)
+ eslint-plugin-react-hooks: 5.2.0(eslint@8.57.1)
+ eslint-plugin-react-native: 4.1.0(eslint@8.57.1)
+ prettier: 2.8.8
+ transitivePeerDependencies:
+ - jest
+ - supports-color
+ - typescript
+ dev: true
+
+ /@react-native/eslint-plugin@0.80.0:
+ resolution: {integrity: sha512-4kFD3M/zGqKdKyeevnTdhgAhNCj89VflDfv2wElo4jOb07xkR6VlEymv/6mZX3tdP/N5ukP2SZB+FDZH1GxBTg==}
+ engines: {node: '>=18'}
+ dev: true
+
+ /@react-native/gradle-plugin@0.80.0:
+ resolution: {integrity: sha512-drmS68rabSMOuDD+YsAY2luNT8br82ycodSDORDqAg7yWQcieHMp4ZUOcdOi5iW+JCqobablT/b6qxcrBg+RaA==}
+ engines: {node: '>=18'}
+
+ /@react-native/js-polyfills@0.80.0:
+ resolution: {integrity: sha512-dMX7IcBuwghySTgIeK8q03tYz/epg5ScGmJEfBQAciuhzMDMV1LBR/9wwdgD73EXM/133yC5A+TlHb3KQil4Ew==}
+ engines: {node: '>=18'}
+
+ /@react-native/metro-babel-transformer@0.80.0(@babel/core@7.28.0):
+ resolution: {integrity: sha512-5TldnaJE15IUNnZhjAelRz4+6qATlSO9yuzLqN1Y47qfJrAl/2lrI4KdSjFfvUaWrhezi94Aly1OKSJm9fjrXg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@babel/core': '*'
+ dependencies:
+ '@babel/core': 7.28.0
+ '@react-native/babel-preset': 0.80.0(@babel/core@7.28.0)
+ hermes-parser: 0.28.1
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@react-native/metro-config@0.80.0(@babel/core@7.28.0):
+ resolution: {integrity: sha512-LJ1ZC9vs/B3wez6BsOIgJ3iw7N4QalMpiT/fb5b66L4vHUGqVucOWNUwpxbDb1m1/wlhTa8AljiAdjt401sFjA==}
+ engines: {node: '>=18'}
+ dependencies:
+ '@react-native/js-polyfills': 0.80.0
+ '@react-native/metro-babel-transformer': 0.80.0(@babel/core@7.28.0)
+ metro-config: 0.82.5
+ metro-runtime: 0.82.5
+ transitivePeerDependencies:
+ - '@babel/core'
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /@react-native/normalize-colors@0.80.0:
+ resolution: {integrity: sha512-bJZDSopadjJxMDvysc634eTfLL4w7cAx5diPe14Ez5l+xcKjvpfofS/1Ja14DlgdMJhxGd03MTXlrxoWust3zg==}
+
+ /@react-native/typescript-config@0.80.0:
+ resolution: {integrity: sha512-mlZhlXnVsDFvetx2vnOEwspJ5qWLiH2JY7dhxMiT/N90uJZjgFFvRMAWWNeJ1zgZPQylEuHHUUlDoaDZ7tQbTA==}
+ dev: true
+
+ /@react-native/virtualized-lists@0.80.0(@types/react@19.1.8)(react-native@0.80.0)(react@19.1.0):
+ resolution: {integrity: sha512-d9zZdPS/ZRexVAkxo1eRp85U7XnnEpXA1ZpSomRKxBuStYKky1YohfEX5YD5MhphemKK24tT7JR4UhaLlmeX8Q==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/react': ^19.0.0
+ react: '*'
+ react-native: '*'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@types/react': 19.1.8
+ invariant: 2.2.4
+ nullthrows: 1.1.1
+ react: 19.1.0
+ react-native: 0.80.0(@babel/core@7.28.0)(@react-native-community/cli@19.1.1)(@types/react@19.1.8)(react@19.1.0)
+
/@reactflow/background@11.3.14(@types/react@18.2.79)(react-dom@18.3.1)(react@18.3.1):
resolution: {integrity: sha512-Gewd7blEVT5Lh6jqrvOgd4G6Qk17eGKQfsDXgyRSqM+CTwDqRldG2LsWN4sNeno6sbqVIC2fZ+rAUBFA9ZEUDA==}
peerDependencies:
@@ -16550,6 +15851,123 @@ packages:
engines: {node: '>=14.0.0'}
dev: false
+ /@rnef/cli@0.7.28(typescript@5.0.4):
+ resolution: {integrity: sha512-9qc2L1m+RZB3+hsbfFxtqOP3En4klAB5k9flPv9F4rlPNUvg+54Z9DyEZsVL+n29BFFZz8tkVDoX6vifE6Gbig==}
+ hasBin: true
+ dependencies:
+ '@react-native-community/cli-config': 18.0.0(typescript@5.0.4)
+ '@rnef/config': 0.7.28
+ '@rnef/tools': 0.7.28
+ adm-zip: 0.5.16
+ commander: 12.1.0
+ tar: 7.4.3
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@rnef/config@0.7.28:
+ resolution: {integrity: sha512-7AdbAYbP4qgWxR4WmxXo+s+QrWj2DK8fejnGStRx0kN7oJNB7Qn3bvciUtNiBB5YuObxwt3ruMAlspbSA3spZQ==}
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@rnef/provider-github': 0.7.28
+ '@rnef/tools': 0.7.28
+ joi: 17.13.3
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@rnef/platform-android@0.7.28:
+ resolution: {integrity: sha512-QP8pocAPSvVrewnU+VN3MdYMPaonrFY3wyh9dFGe4QFOGNd/OYRHnIt5reHkthv+zmCY7MjsNoOz33C3O/qsjw==}
+ dependencies:
+ '@react-native-community/cli-config-android': 18.0.0
+ '@rnef/tools': 0.7.28
+ adm-zip: 0.5.16
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@rnef/platform-apple-helpers@0.7.28(typescript@5.0.4):
+ resolution: {integrity: sha512-isbYgnmkI0FOuDQ9mREQiUegNSJAd/wAdgk/f0T9EsK62WqQn/Z3nTB3tpn/P47dDHtDItUbngxsbahyl8k2Rg==}
+ dependencies:
+ '@react-native-community/cli-config': 18.0.0(typescript@5.0.4)
+ '@react-native-community/cli-config-apple': 18.0.0
+ '@rnef/tools': 0.7.28
+ '@types/adm-zip': 0.5.7
+ adm-zip: 0.5.16
+ fast-glob: 3.3.2
+ fast-xml-parser: 4.5.3
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@rnef/platform-ios@0.7.28(typescript@5.0.4):
+ resolution: {integrity: sha512-3NgIvMSvq/MD3wUFmz6IvKyhiVLVfBS0+YfjbGvamp0XsxGrvBlVRYnXzbiilOea0X+innm+l1G3Nwu+HeweqQ==}
+ dependencies:
+ '@react-native-community/cli-config-apple': 18.0.0
+ '@react-native-community/cli-types': 18.0.0
+ '@rnef/platform-apple-helpers': 0.7.28(typescript@5.0.4)
+ '@rnef/tools': 0.7.28
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@rnef/plugin-metro@0.7.28(@react-native/community-cli-plugin@0.80.0):
+ resolution: {integrity: sha512-GoWIBf0sW+0ExmBnvKOxenRyhC/542a5GXp0FlUA+D5fVu6K96MEy5BeeE1vsC8Quh4Fhhn2gBJMhNJ7j4STIQ==}
+ peerDependencies:
+ '@react-native/community-cli-plugin': '*'
+ dependencies:
+ '@react-native-community/cli-server-api': 18.0.0
+ '@react-native/community-cli-plugin': 0.80.0(@react-native-community/cli@19.1.1)
+ '@react-native/dev-middleware': 0.79.5
+ '@rnef/tools': 0.7.28
+ metro: 0.82.5
+ metro-config: 0.82.5
+ metro-core: 0.82.5
+ metro-resolver: 0.82.5
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /@rnef/provider-github@0.7.28:
+ resolution: {integrity: sha512-VuFOMBmbUdeSKbtRS1y7gqfX5u54aYuArxaL0Pz8lKHRwulK1AdDt3k+J7yoTjkQwGcNPwzJlTFZLXVSXZMpWw==}
+ dependencies:
+ '@rnef/tools': 0.7.28
+ ts-regex-builder: 1.8.2
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@rnef/tools@0.7.28:
+ resolution: {integrity: sha512-a4MumqUhmCRTdBZZHMHWR6dvy2JwNCHYYmBY2Jif9aj9F7pBrYfqMDCkwbVSZkYqu5vgBHAKzdRH8vCzKWLflw==}
+ dependencies:
+ '@clack/prompts': 0.10.1
+ '@expo/fingerprint': 0.11.11
+ '@types/adm-zip': 0.5.7
+ adm-zip: 0.5.16
+ appdirsjs: 1.2.7
+ fast-glob: 3.3.2
+ is-unicode-supported: 2.1.0
+ nano-spawn: 0.2.1
+ picocolors: 1.1.1
+ string-argv: 0.3.2
+ tar: 7.4.3
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@rollup/plugin-alias@3.1.9(rollup@2.79.2):
resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==}
engines: {node: '>=8.0.0'}
@@ -17307,7 +16725,7 @@ packages:
optional: true
dependencies:
'@rsbuild/core': 1.4.3
- acorn: 8.14.0
+ acorn: 8.15.0
browserslist-to-es-version: 1.0.0
htmlparser2: 10.0.0
picocolors: 1.1.1
@@ -17323,7 +16741,7 @@ packages:
optional: true
dependencies:
'@rsbuild/core': 1.4.4
- acorn: 8.14.0
+ acorn: 8.15.0
browserslist-to-es-version: 1.0.0
htmlparser2: 10.0.0
picocolors: 1.1.1
@@ -19061,7 +18479,7 @@ packages:
dependencies:
'@mdx-js/loader': 3.1.0(acorn@8.15.0)(webpack@5.98.0)
'@mdx-js/mdx': 3.1.0(acorn@8.15.0)
- '@mdx-js/react': 3.1.0(@types/react@19.1.8)(react@19.1.1)
+ '@mdx-js/react': 3.1.0(@types/react@19.1.8)(react@19.1.0)
'@rsbuild/core': 1.4.12
'@rsbuild/plugin-react': 1.3.4(@rsbuild/core@1.4.12)
'@rspress/mdx-rs': 0.6.6
@@ -19072,7 +18490,7 @@ packages:
'@rspress/theme-default': 2.0.0-beta.20
'@shikijs/rehype': 3.6.0
'@types/unist': 3.0.3
- '@unhead/react': 2.0.12(react@19.1.1)
+ '@unhead/react': 2.0.12(react@19.1.0)
enhanced-resolve: 5.18.2
github-slugger: 2.0.0
hast-util-from-html: 2.0.3
@@ -19081,10 +18499,10 @@ packages:
lodash-es: 4.17.21
mdast-util-mdxjs-esm: 2.0.1
picocolors: 1.1.1
- react: 19.1.1
- react-dom: 19.1.1(react@19.1.1)
+ react: 19.1.0
+ react-dom: 19.1.1(react@19.1.0)
react-lazy-with-preload: 2.2.1
- react-router-dom: 6.30.1(react-dom@19.1.1)(react@19.1.1)
+ react-router-dom: 6.30.1(react-dom@19.1.1)(react@19.1.0)
rehype-external-links: 3.0.0
rehype-raw: 7.0.0
remark: 15.0.1
@@ -19110,7 +18528,7 @@ packages:
dependencies:
'@mdx-js/loader': 3.1.0(acorn@8.15.0)(webpack@5.98.0)
'@mdx-js/mdx': 3.1.0(acorn@8.15.0)
- '@mdx-js/react': 3.1.0(@types/react@19.1.8)(react@19.1.1)
+ '@mdx-js/react': 3.1.0(@types/react@19.1.8)(react@19.1.0)
'@rsbuild/core': 1.4.12
'@rsbuild/plugin-react': 1.3.4(@rsbuild/core@1.4.12)
'@rspress/mdx-rs': 0.6.6
@@ -19119,7 +18537,7 @@ packages:
'@rspress/theme-default': 2.0.0-beta.24
'@shikijs/rehype': 3.9.1
'@types/unist': 3.0.3
- '@unhead/react': 2.0.13(react@19.1.1)
+ '@unhead/react': 2.0.13(react@19.1.0)
cac: 6.7.14
chokidar: 3.6.0
enhanced-resolve: 5.18.2
@@ -19131,10 +18549,10 @@ packages:
mdast-util-mdxjs-esm: 2.0.1
medium-zoom: 1.1.0
picocolors: 1.1.1
- react: 19.1.1
- react-dom: 19.1.1(react@19.1.1)
+ react: 19.1.0
+ react-dom: 19.1.1(react@19.1.0)
react-lazy-with-preload: 2.2.1
- react-router-dom: 6.30.1(react-dom@19.1.1)(react@19.1.1)
+ react-router-dom: 6.30.1(react-dom@19.1.1)(react@19.1.0)
rehype-external-links: 3.0.0
rehype-raw: 7.0.0
remark: 15.0.1
@@ -19280,10 +18698,10 @@ packages:
engines: {node: '>=18.0.0'}
dependencies:
'@rspress/shared': 2.0.0-beta.20
- '@unhead/react': 2.0.12(react@19.1.1)
- react: 19.1.1
- react-dom: 19.1.1(react@19.1.1)
- react-router-dom: 6.30.1(react-dom@19.1.1)(react@19.1.1)
+ '@unhead/react': 2.0.12(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.1(react@19.1.0)
+ react-router-dom: 6.30.1(react-dom@19.1.1)(react@19.1.0)
dev: false
/@rspress/runtime@2.0.0-beta.24:
@@ -19291,10 +18709,10 @@ packages:
engines: {node: '>=18.0.0'}
dependencies:
'@rspress/shared': 2.0.0-beta.24
- '@unhead/react': 2.0.13(react@19.1.1)
- react: 19.1.1
- react-dom: 19.1.1(react@19.1.1)
- react-router-dom: 6.30.1(react-dom@19.1.1)(react@19.1.1)
+ '@unhead/react': 2.0.13(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.1(react@19.1.0)
+ react-router-dom: 6.30.1(react-dom@19.1.1)(react@19.1.0)
dev: false
/@rspress/shared@2.0.0-beta.16:
@@ -19331,10 +18749,10 @@ packages:
resolution: {integrity: sha512-6FCLVrcKtIGkqMoN0YlR1ZwCAscGvrxfCPVxekXJkDkKEg2go+sIBsamo0z0h7NrI2gzIV8SlouZaQ+CjbdkUg==}
engines: {node: '>=18.0.0'}
dependencies:
- '@mdx-js/react': 2.3.0(react@19.1.1)
+ '@mdx-js/react': 2.3.0(react@19.1.0)
'@rspress/runtime': 2.0.0-beta.20
'@rspress/shared': 2.0.0-beta.20
- '@unhead/react': 2.0.12(react@19.1.1)
+ '@unhead/react': 2.0.12(react@19.1.0)
body-scroll-lock: 4.0.0-beta.0
copy-to-clipboard: 3.3.3
flexsearch: 0.7.43
@@ -19342,8 +18760,8 @@ packages:
hast-util-to-jsx-runtime: 2.3.6
lodash-es: 4.17.21
nprogress: 0.2.0
- react: 19.1.1
- react-dom: 19.1.1(react@19.1.1)
+ react: 19.1.0
+ react-dom: 19.1.1(react@19.1.0)
shiki: 3.6.0
transitivePeerDependencies:
- supports-color
@@ -19353,10 +18771,10 @@ packages:
resolution: {integrity: sha512-eT8FJ55g9yHXJt+3dWh4PLKVHOshYd9tXT/glZ+Sfnvj8oXHTYWbgEmoqyl88D/4q/nTRuCC7fcIM66W9T7FVQ==}
engines: {node: '>=18.0.0'}
dependencies:
- '@mdx-js/react': 2.3.0(react@19.1.1)
+ '@mdx-js/react': 2.3.0(react@19.1.0)
'@rspress/runtime': 2.0.0-beta.24
'@rspress/shared': 2.0.0-beta.24
- '@unhead/react': 2.0.13(react@19.1.1)
+ '@unhead/react': 2.0.13(react@19.1.0)
body-scroll-lock: 4.0.0-beta.0
copy-to-clipboard: 3.3.3
flexsearch: 0.7.43
@@ -19364,8 +18782,8 @@ packages:
hast-util-to-jsx-runtime: 2.3.6
lodash-es: 4.17.21
nprogress: 0.2.0
- react: 19.1.1
- react-dom: 19.1.1(react@19.1.1)
+ react: 19.1.0
+ react-dom: 19.1.1(react@19.1.0)
shiki: 3.9.1
transitivePeerDependencies:
- supports-color
@@ -19831,15 +19249,12 @@ packages:
resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
dependencies:
'@hapi/hoek': 9.3.0
- dev: true
/@sideway/formula@3.0.1:
resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==}
- dev: true
/@sideway/pinpoint@2.0.0:
resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
- dev: true
/@sinclair/typebox@0.25.24:
resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==}
@@ -19872,13 +19287,11 @@ packages:
resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==}
dependencies:
type-detect: 4.0.8
- dev: true
/@sinonjs/fake-timers@10.3.0:
resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==}
dependencies:
'@sinonjs/commons': 3.0.1
- dev: true
/@storybook/addon-docs@8.6.14(@types/react@18.3.11)(storybook@8.4.2):
resolution: {integrity: sha512-Obpd0OhAF99JyU5pp5ci17YmpcQtMNgqW2pTXV8jAiiipWpwO++hNDeQmLmlSXB399XjtRDOcDVkoc7rc6JzdQ==}
@@ -20023,9 +19436,9 @@ packages:
resolution: {integrity: sha512-ZlP+BJyqg7HlnXf7ypjG2CKMI/KVOn03jFIiClItE/jQfgR6kRFgtjRU7uajh427HHfjv9DRiur8nBzuO7vapA==}
hasBin: true
dependencies:
- '@babel/core': 7.26.10
- '@babel/preset-env': 7.26.0(@babel/core@7.26.10)
- '@babel/types': 7.27.1
+ '@babel/core': 7.28.0
+ '@babel/preset-env': 7.28.0(@babel/core@7.28.0)
+ '@babel/types': 7.28.2
'@ndelangen/get-tarball': 3.0.9
'@storybook/codemod': 7.6.20
'@storybook/core-common': 7.6.20(encoding@0.1.13)
@@ -20051,14 +19464,14 @@ packages:
get-port: 5.1.1
giget: 1.2.3
globby: 11.1.0
- jscodeshift: 0.15.2(@babel/preset-env@7.26.0)
+ jscodeshift: 0.15.2(@babel/preset-env@7.28.0)
leven: 3.1.0
ora: 5.4.1
prettier: 2.8.8
prompts: 2.4.2
puppeteer-core: 2.1.1
read-pkg-up: 7.0.1
- semver: 7.7.2
+ semver: 7.6.3
strip-json-comments: 3.1.1
tempy: 1.0.1
ts-dedent: 2.2.0
@@ -20079,9 +19492,9 @@ packages:
/@storybook/codemod@7.6.20:
resolution: {integrity: sha512-8vmSsksO4XukNw0TmqylPmk7PxnfNfE21YsxFa7mnEBmEKQcZCQsNil4ZgWfG0IzdhTfhglAN4r++Ew0WE+PYA==}
dependencies:
- '@babel/core': 7.26.10
- '@babel/preset-env': 7.26.0(@babel/core@7.26.10)
- '@babel/types': 7.27.1
+ '@babel/core': 7.28.0
+ '@babel/preset-env': 7.28.0(@babel/core@7.28.0)
+ '@babel/types': 7.28.2
'@storybook/csf': 0.1.12
'@storybook/csf-tools': 7.6.20
'@storybook/node-logger': 7.6.20
@@ -20089,7 +19502,7 @@ packages:
'@types/cross-spawn': 6.0.6
cross-spawn: 7.0.6
globby: 11.1.0
- jscodeshift: 0.15.2(@babel/preset-env@7.26.0)
+ jscodeshift: 0.15.2(@babel/preset-env@7.28.0)
lodash: 4.17.21
prettier: 2.8.8
recast: 0.23.11
@@ -20207,14 +19620,14 @@ packages:
pretty-hrtime: 1.0.3
prompts: 2.4.2
read-pkg-up: 7.0.1
- semver: 7.7.2
+ semver: 7.6.3
telejson: 7.2.0
tiny-invariant: 1.3.3
ts-dedent: 2.2.0
util: 0.12.5
util-deprecate: 1.0.2
watchpack: 2.4.2
- ws: 8.18.3
+ ws: 8.18.0
transitivePeerDependencies:
- bufferutil
- encoding
@@ -20340,10 +19753,10 @@ packages:
/@storybook/csf-tools@7.6.20:
resolution: {integrity: sha512-rwcwzCsAYh/m/WYcxBiEtLpIW5OH1ingxNdF/rK9mtGWhJxXRDV8acPkFrF8rtFWIVKoOCXu5USJYmc3f2gdYQ==}
dependencies:
- '@babel/generator': 7.27.1
- '@babel/parser': 7.27.2
- '@babel/traverse': 7.27.1
- '@babel/types': 7.27.1
+ '@babel/generator': 7.28.0
+ '@babel/parser': 7.28.0
+ '@babel/traverse': 7.28.0
+ '@babel/types': 7.28.2
'@storybook/csf': 0.1.12
'@storybook/types': 7.6.20
fs-extra: 11.3.0
@@ -20452,7 +19865,7 @@ packages:
'@babel/preset-env': 7.28.0(@babel/core@7.28.0)
'@babel/preset-react': 7.27.1(@babel/core@7.28.0)
'@babel/preset-typescript': 7.27.1(@babel/core@7.28.0)
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
'@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(webpack@5.98.0)
'@storybook/builder-webpack5': 9.0.9(@rspack/core@1.3.9)(@swc/core@1.7.26)(esbuild@0.25.0)(storybook@9.0.9)(typescript@5.8.3)(webpack-cli@5.1.4)
'@storybook/preset-react-webpack': 9.0.9(@swc/core@1.7.26)(esbuild@0.25.0)(react-dom@18.3.1)(react@18.3.1)(storybook@9.0.9)(typescript@5.8.3)(webpack-cli@5.1.4)
@@ -20961,7 +20374,7 @@ packages:
resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==}
engines: {node: '>=14'}
dependencies:
- '@babel/types': 7.27.1
+ '@babel/types': 7.28.2
entities: 4.5.0
/@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0):
@@ -21326,7 +20739,7 @@ packages:
/@swc/helpers@0.5.13:
resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==}
dependencies:
- tslib: 2.6.3
+ tslib: 2.8.1
/@swc/helpers@0.5.17:
resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==}
@@ -21392,7 +20805,7 @@ packages:
tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1'
dependencies:
mini-svg-data-uri: 1.4.4
- tailwindcss: 3.4.3
+ tailwindcss: 3.4.3(ts-node@10.9.1)
dev: true
/@tailwindcss/forms@0.5.9(tailwindcss@3.4.13):
@@ -21401,7 +20814,7 @@ packages:
tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20'
dependencies:
mini-svg-data-uri: 1.4.4
- tailwindcss: 3.4.13
+ tailwindcss: 3.4.13(ts-node@10.9.1)
dev: true
/@tailwindcss/typography@0.5.12(tailwindcss@3.4.3):
@@ -21413,7 +20826,7 @@ packages:
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
postcss-selector-parser: 6.0.10
- tailwindcss: 3.4.3
+ tailwindcss: 3.4.3(ts-node@10.9.1)
dev: true
/@testing-library/dom@10.4.0:
@@ -21421,7 +20834,7 @@ packages:
engines: {node: '>=18'}
dependencies:
'@babel/code-frame': 7.27.1
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
'@types/aria-query': 5.0.4
aria-query: 5.3.0
chalk: 4.1.2
@@ -21471,7 +20884,7 @@ packages:
react-test-renderer:
optional: true
dependencies:
- '@babel/runtime': 7.25.7
+ '@babel/runtime': 7.28.2
'@types/react': 18.0.38
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
@@ -21490,7 +20903,7 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
'@testing-library/dom': 10.4.0
'@types/react': 18.2.79
'@types/react-dom': 18.3.7(@types/react@18.2.79)
@@ -21513,7 +20926,7 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
'@testing-library/dom': 10.4.1
'@types/react': 18.3.11
react: 18.3.1
@@ -21551,19 +20964,15 @@ packages:
/@tsconfig/node10@1.0.11:
resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==}
- dev: false
/@tsconfig/node12@1.0.11:
resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
- dev: false
/@tsconfig/node14@1.0.3:
resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
- dev: false
/@tsconfig/node16@1.0.4:
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
- dev: false
/@tybys/wasm-util@0.10.0:
resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==}
@@ -21589,6 +20998,12 @@ packages:
'@types/node': 18.16.9
dev: true
+ /@types/adm-zip@0.5.7:
+ resolution: {integrity: sha512-DNEs/QvmyRLurdQPChqq0Md4zGvPwHerAJYWk9l2jCbD1VPpnzRJorOdiq4zsw09NFbYnhfsoEhWtxIzXpn2yw==}
+ dependencies:
+ '@types/node': 20.12.14
+ dev: true
+
/@types/argparse@1.0.38:
resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==}
dev: true
@@ -21604,26 +21019,22 @@ packages:
'@types/babel__generator': 7.6.8
'@types/babel__template': 7.4.4
'@types/babel__traverse': 7.20.6
- dev: true
/@types/babel__generator@7.6.8:
resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
dependencies:
'@babel/types': 7.28.2
- dev: true
/@types/babel__template@7.4.4:
resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
dependencies:
'@babel/parser': 7.28.0
'@babel/types': 7.28.2
- dev: true
/@types/babel__traverse@7.20.6:
resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==}
dependencies:
'@babel/types': 7.28.2
- dev: true
/@types/body-parser@1.19.5:
resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
@@ -21681,7 +21092,7 @@ packages:
resolution: {integrity: sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==}
requiresBuild: true
dependencies:
- '@types/node': 18.16.9
+ '@types/node': 20.12.14
dev: true
optional: true
@@ -21701,7 +21112,7 @@ packages:
/@types/cross-spawn@6.0.6:
resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==}
dependencies:
- '@types/node': 18.16.9
+ '@types/node': 20.12.14
dev: true
/@types/d3-array@3.2.1:
@@ -22041,7 +21452,6 @@ packages:
resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
dependencies:
'@types/node': 18.16.9
- dev: true
/@types/har-format@1.2.16:
resolution: {integrity: sha512-fluxdy7ryD3MV6h8pTfTYpy/xQzCFC7m89nOH9y94cNqJ1mDIDPut7MnRHI3F6qRmh/cT2fUjG1MLdCNb4hE9A==}
@@ -22348,6 +21758,12 @@ packages:
'@types/history': 4.7.11
'@types/react': 18.3.23
+ /@types/react-test-renderer@19.1.0:
+ resolution: {integrity: sha512-XD0WZrHqjNrxA/MaR9O22w/RNidWR9YZmBdRGI7wcnWGrv/3dA8wKCJ8m63Sn+tLJhcjmuhOi629N66W6kgWzQ==}
+ dependencies:
+ '@types/react': 18.3.11
+ dev: true
+
/@types/react@18.0.38:
resolution: {integrity: sha512-ExsidLLSzYj4cvaQjGnQCk4HFfVT9+EZ9XZsQ8Hsrcn8QNgXtpZ3m9vSIC2MWtx7jHictK6wYhQgGh6ic58oOw==}
dependencies:
@@ -22449,7 +21865,6 @@ packages:
/@types/stack-utils@2.0.3:
resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
- dev: true
/@types/styled-components@5.1.34:
resolution: {integrity: sha512-mmiVvwpYklFIv9E8qfxuPyIt/OuyIrn6gMOAMOFUO3WJfSrSE+sGUoa4PiZj77Ut7bKZpaa6o1fBKS/4TOEvnA==}
@@ -22487,6 +21902,11 @@ packages:
/@types/yargs-parser@21.0.3:
resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
+ /@types/yargs@15.0.19:
+ resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==}
+ dependencies:
+ '@types/yargs-parser': 21.0.3
+
/@types/yargs@17.0.33:
resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==}
dependencies:
@@ -22521,13 +21941,40 @@ packages:
graphemer: 1.4.0
ignore: 5.3.2
natural-compare-lite: 1.4.0
- semver: 7.7.2
+ semver: 7.6.3
tsutils: 3.21.0(typescript@5.0.4)
typescript: 5.0.4
transitivePeerDependencies:
- supports-color
dev: true
+ /@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.0.4):
+ resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^7.0.0
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@eslint-community/regexpp': 4.11.1
+ '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.0.4)
+ '@typescript-eslint/scope-manager': 7.18.0
+ '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.0.4)
+ '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.0.4)
+ '@typescript-eslint/visitor-keys': 7.18.0
+ eslint: 8.57.1
+ graphemer: 1.4.0
+ ignore: 5.3.2
+ natural-compare: 1.4.0
+ ts-api-utils: 1.3.0(typescript@5.0.4)
+ typescript: 5.0.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.8.3):
resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==}
engines: {node: ^18.18.0 || >=20.0.0}
@@ -22617,6 +22064,27 @@ packages:
- supports-color
dev: true
+ /@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.0.4):
+ resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': 7.18.0
+ '@typescript-eslint/types': 7.18.0
+ '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.0.4)
+ '@typescript-eslint/visitor-keys': 7.18.0
+ debug: 4.4.1(supports-color@8.1.1)
+ eslint: 8.57.1
+ typescript: 5.0.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3):
resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==}
engines: {node: ^18.18.0 || >=20.0.0}
@@ -22698,6 +22166,26 @@ packages:
- supports-color
dev: true
+ /@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.0.4):
+ resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.0.4)
+ '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.0.4)
+ debug: 4.4.1(supports-color@8.1.1)
+ eslint: 8.57.1
+ ts-api-utils: 1.3.0(typescript@5.0.4)
+ typescript: 5.0.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.8.3):
resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==}
engines: {node: ^18.18.0 || >=20.0.0}
@@ -22776,7 +22264,7 @@ packages:
debug: 4.4.1(supports-color@8.1.1)
globby: 11.1.0
is-glob: 4.0.3
- semver: 7.7.2
+ semver: 7.6.3
tsutils: 3.21.0(typescript@5.0.4)
typescript: 5.0.4
transitivePeerDependencies:
@@ -22798,7 +22286,7 @@ packages:
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.3
- semver: 7.7.2
+ semver: 7.6.3
ts-api-utils: 1.3.0(typescript@5.4.5)
typescript: 5.4.5
transitivePeerDependencies:
@@ -22820,13 +22308,35 @@ packages:
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.3
- semver: 7.7.2
+ semver: 7.6.3
ts-api-utils: 1.3.0(typescript@5.8.3)
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
dev: true
+ /@typescript-eslint/typescript-estree@7.18.0(typescript@5.0.4):
+ resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 7.18.0
+ '@typescript-eslint/visitor-keys': 7.18.0
+ debug: 4.4.1(supports-color@8.1.1)
+ globby: 11.1.0
+ is-glob: 4.0.3
+ minimatch: 9.0.5
+ semver: 7.6.3
+ ts-api-utils: 1.3.0(typescript@5.0.4)
+ typescript: 5.0.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@typescript-eslint/typescript-estree@7.18.0(typescript@5.8.3):
resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==}
engines: {node: ^18.18.0 || >=20.0.0}
@@ -22901,13 +22411,29 @@ packages:
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
'@types/json-schema': 7.0.15
- '@types/semver': 7.7.0
+ '@types/semver': 7.5.8
'@typescript-eslint/scope-manager': 5.62.0
'@typescript-eslint/types': 5.62.0
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.0.4)
eslint: 8.57.1
eslint-scope: 5.1.1
- semver: 7.7.2
+ semver: 7.6.3
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.0.4):
+ resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ eslint: ^8.56.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
+ '@typescript-eslint/scope-manager': 7.18.0
+ '@typescript-eslint/types': 7.18.0
+ '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.0.4)
+ eslint: 8.57.1
transitivePeerDependencies:
- supports-color
- typescript
@@ -23004,21 +22530,21 @@ packages:
/@ungap/structured-clone@1.2.0:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
- /@unhead/react@2.0.12(react@19.1.1):
+ /@unhead/react@2.0.12(react@19.1.0):
resolution: {integrity: sha512-2qRwLtPVUDWHIP2n3S3gL0jT+Wcalb0huCgf/GFXYhV8ZWqm+5+ZTLVlPN7O5q3aVhIGO2gZHsppXNVq+L3fuQ==}
peerDependencies:
react: '>=18'
dependencies:
- react: 19.1.1
+ react: 19.1.0
unhead: 2.0.12
dev: false
- /@unhead/react@2.0.13(react@19.1.1):
+ /@unhead/react@2.0.13(react@19.1.0):
resolution: {integrity: sha512-V1iLA4G5tFcLwnmLUu0w5GDxO2MGiZzVeQiMEbFrkMQcGqxSzmopM8+QEwkly+66rFUJXnDTZxiwR4uDh4tFeA==}
peerDependencies:
react: '>=18.3.1'
dependencies:
- react: 19.1.1
+ react: 19.1.0
unhead: 2.0.13
dev: false
@@ -23108,8 +22634,8 @@ packages:
dependencies:
'@mapbox/node-pre-gyp': 1.0.11(encoding@0.1.13)
'@rollup/pluginutils': 4.2.1
- acorn: 8.14.0
- acorn-import-attributes: 1.9.5(acorn@8.14.0)
+ acorn: 8.15.0
+ acorn-import-attributes: 1.9.5(acorn@8.15.0)
async-sema: 3.1.1
bindings: 1.5.0
estree-walker: 2.0.2
@@ -23130,8 +22656,8 @@ packages:
dependencies:
'@mapbox/node-pre-gyp': 1.0.11(encoding@0.1.13)
'@rollup/pluginutils': 4.2.1
- acorn: 8.14.0
- acorn-import-attributes: 1.9.5(acorn@8.14.0)
+ acorn: 8.15.0
+ acorn-import-attributes: 1.9.5(acorn@8.15.0)
async-sema: 3.1.1
bindings: 1.5.0
estree-walker: 2.0.2
@@ -23421,9 +22947,9 @@ packages:
peerDependencies:
vite: ^4.2.0 || ^5.0.0
dependencies:
- '@babel/core': 7.26.0
- '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.26.0)
- '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.26.0)
+ '@babel/core': 7.28.0
+ '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.28.0)
+ '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.28.0)
'@types/babel__core': 7.20.5
react-refresh: 0.14.2
vite: 5.4.18(@types/node@18.16.9)(less@4.4.0)(stylus@0.64.0)
@@ -23438,9 +22964,9 @@ packages:
vite: ^5.0.0
vue: ^3.0.0
dependencies:
- '@babel/core': 7.25.2
- '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2)
- '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.25.2)
+ '@babel/core': 7.28.0
+ '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.28.0)
+ '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.28.0)
vite: 5.4.18(@types/node@18.16.9)(less@4.4.0)(stylus@0.64.0)
vue: 3.5.10(typescript@5.5.2)
transitivePeerDependencies:
@@ -23454,9 +22980,9 @@ packages:
vite: ^5.0.0
vue: ^3.0.0
dependencies:
- '@babel/core': 7.25.2
- '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2)
- '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.25.2)
+ '@babel/core': 7.28.0
+ '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.28.0)
+ '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.28.0)
vite: 5.4.18(@types/node@18.16.9)(less@4.4.0)(stylus@0.64.0)
vue: 3.5.18(typescript@5.5.2)
transitivePeerDependencies:
@@ -23694,11 +23220,14 @@ packages:
path-browserify: 1.0.1
vscode-uri: 3.0.8
+ /@vscode/sudo-prompt@9.3.1:
+ resolution: {integrity: sha512-9ORTwwS74VaTn38tNbQhsA5U44zkJfcb0BdTSyyG6frP4e8KMtHuTXYmwefe5dpL8XB1aGSIVTaLjD3BbWb5iA==}
+
/@vue/babel-helper-vue-transform-on@1.2.5:
resolution: {integrity: sha512-lOz4t39ZdmU4DJAa2hwPYmKc8EsuGa2U0L9KaZaOJUt0UwQNjNA3AZTq6uEivhOKhhG1Wvy96SvYBoFmCg3uuw==}
dev: true
- /@vue/babel-plugin-jsx@1.2.5(@babel/core@7.25.2):
+ /@vue/babel-plugin-jsx@1.2.5(@babel/core@7.28.0):
resolution: {integrity: sha512-zTrNmOd4939H9KsRIGmmzn3q2zvv1mjxkYZHgqHZgDrXz5B1Q3WyGEjO2f+JrmKghvl1JIRcvo63LgM1kH5zFg==}
peerDependencies:
'@babel/core': ^7.0.0-0
@@ -23706,31 +23235,31 @@ packages:
'@babel/core':
optional: true
dependencies:
- '@babel/core': 7.25.2
+ '@babel/core': 7.28.0
'@babel/helper-module-imports': 7.25.9
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.2)
- '@babel/template': 7.25.9
- '@babel/traverse': 7.26.9
- '@babel/types': 7.27.0
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.28.0)
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.28.0
+ '@babel/types': 7.28.2
'@vue/babel-helper-vue-transform-on': 1.2.5
- '@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.25.2)
+ '@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.28.0)
html-tags: 3.3.1
svg-tags: 1.0.0
transitivePeerDependencies:
- supports-color
dev: true
- /@vue/babel-plugin-resolve-type@1.2.5(@babel/core@7.25.2):
+ /@vue/babel-plugin-resolve-type@1.2.5(@babel/core@7.28.0):
resolution: {integrity: sha512-U/ibkQrf5sx0XXRnUZD1mo5F7PkpKyTbfXM3a3rC4YnUz6crHEz9Jg09jzzL6QYlXNto/9CePdOg/c87O4Nlfg==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/code-frame': 7.27.1
- '@babel/core': 7.25.2
- '@babel/helper-module-imports': 7.25.9
- '@babel/helper-plugin-utils': 7.25.9
- '@babel/parser': 7.27.2
+ '@babel/core': 7.28.0
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/parser': 7.28.0
'@vue/compiler-sfc': 3.5.13
transitivePeerDependencies:
- supports-color
@@ -23739,7 +23268,7 @@ packages:
/@vue/compiler-core@3.5.10:
resolution: {integrity: sha512-iXWlk+Cg/ag7gLvY0SfVucU8Kh2CjysYZjhhP70w9qI4MvSox4frrP+vDGvtQuzIcgD8+sxM6lZvCtdxGunTAA==}
dependencies:
- '@babel/parser': 7.27.2
+ '@babel/parser': 7.28.0
'@vue/shared': 3.5.10
entities: 4.5.0
estree-walker: 2.0.2
@@ -23786,7 +23315,7 @@ packages:
/@vue/compiler-sfc@3.5.10:
resolution: {integrity: sha512-to8E1BgpakV7224ZCm8gz1ZRSyjNCAWEplwFMWKlzCdP9DkMKhRRwt0WkCjY7jkzi/Vz3xgbpeig5Pnbly4Tow==}
dependencies:
- '@babel/parser': 7.26.9
+ '@babel/parser': 7.28.0
'@vue/compiler-core': 3.5.10
'@vue/compiler-dom': 3.5.10
'@vue/compiler-ssr': 3.5.10
@@ -23799,7 +23328,7 @@ packages:
/@vue/compiler-sfc@3.5.13:
resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==}
dependencies:
- '@babel/parser': 7.27.2
+ '@babel/parser': 7.28.0
'@vue/compiler-core': 3.5.13
'@vue/compiler-dom': 3.5.13
'@vue/compiler-ssr': 3.5.13
@@ -24599,6 +24128,10 @@ packages:
js-yaml: 3.14.1
tslib: 2.8.1
+ /@zeit/schemas@2.36.0:
+ resolution: {integrity: sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==}
+ dev: true
+
/@zkochan/js-yaml@0.0.7:
resolution: {integrity: sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==}
hasBin: true
@@ -24642,7 +24175,7 @@ packages:
/acorn-globals@7.0.1:
resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==}
dependencies:
- acorn: 8.14.0
+ acorn: 8.15.0
acorn-walk: 8.3.4
dev: true
@@ -24669,20 +24202,20 @@ packages:
dependencies:
acorn: 8.14.0
- /acorn-jsx@5.3.2(acorn@7.4.1):
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ /acorn-import-attributes@1.9.5(acorn@8.15.0):
+ resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==}
peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ acorn: ^8
dependencies:
- acorn: 7.4.1
- dev: true
+ acorn: 8.15.0
- /acorn-jsx@5.3.2(acorn@8.14.0):
+ /acorn-jsx@5.3.2(acorn@7.4.1):
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
- acorn: 8.14.0
+ acorn: 7.4.1
+ dev: true
/acorn-jsx@5.3.2(acorn@8.15.0):
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
@@ -24690,7 +24223,6 @@ packages:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
acorn: 8.15.0
- dev: false
/acorn-walk@7.2.0:
resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
@@ -24701,7 +24233,7 @@ packages:
resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
engines: {node: '>=0.4.0'}
dependencies:
- acorn: 8.14.0
+ acorn: 8.15.0
/acorn@7.4.1:
resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
@@ -24723,7 +24255,6 @@ packages:
resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
engines: {node: '>=0.4.0'}
hasBin: true
- dev: false
/address@1.2.2:
resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
@@ -24771,7 +24302,6 @@ packages:
/agent-base@7.1.3:
resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==}
engines: {node: '>= 14'}
- dev: true
/agentkeepalive@4.5.0:
resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==}
@@ -24802,7 +24332,7 @@ packages:
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
dayjs: 1.11.13
intersection-observer: 0.12.2
js-cookie: 3.0.5
@@ -24811,7 +24341,7 @@ packages:
react-fast-compare: 3.2.2
resize-observer-polyfill: 1.5.1
screenfull: 5.2.0
- tslib: 2.6.3
+ tslib: 2.8.1
dev: false
/ajv-draft-04@1.0.0(ajv@8.13.0):
@@ -24911,6 +24441,15 @@ packages:
/alien-signals@1.0.13:
resolution: {integrity: sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg==}
+ /anser@1.4.10:
+ resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==}
+
+ /ansi-align@3.0.1:
+ resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
+ dependencies:
+ string-width: 4.2.3
+ dev: true
+
/ansi-colors@4.1.3:
resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
engines: {node: '>=6'}
@@ -24929,6 +24468,13 @@ packages:
environment: 1.1.0
dev: true
+ /ansi-fragments@0.2.1:
+ resolution: {integrity: sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==}
+ dependencies:
+ colorette: 1.4.0
+ slice-ansi: 2.1.0
+ strip-ansi: 5.2.0
+
/ansi-html-community@0.0.8:
resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
engines: {'0': node >= 0.8.0}
@@ -24945,6 +24491,10 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /ansi-regex@4.1.1:
+ resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==}
+ engines: {node: '>=6'}
+
/ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
@@ -25245,6 +24795,9 @@ packages:
resolution: {integrity: sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==}
dev: true
+ /appdirsjs@1.2.7:
+ resolution: {integrity: sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==}
+
/aproba@2.0.0:
resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==}
@@ -25276,7 +24829,6 @@ packages:
/arg@4.1.3:
resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
- dev: false
/arg@5.0.2:
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
@@ -25448,7 +25000,6 @@ packages:
/asap@2.0.6:
resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
- dev: true
/asn1.js@4.10.1:
resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==}
@@ -25511,6 +25062,10 @@ packages:
dependencies:
tslib: 2.8.1
+ /astral-regex@1.0.0:
+ resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==}
+ engines: {node: '>=4'}
+
/astral-regex@2.0.0:
resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
engines: {node: '>=8'}
@@ -25527,7 +25082,6 @@ packages:
/async-limiter@1.0.1:
resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==}
- dev: true
/async-listen@1.2.0:
resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==}
@@ -25632,7 +25186,7 @@ packages:
peerDependencies:
postcss: ^8.1.0
dependencies:
- browserslist: 4.24.4
+ browserslist: 4.25.1
caniuse-lite: 1.0.30001718
fraction.js: 4.3.7
normalize-range: 0.1.2
@@ -25648,7 +25202,7 @@ packages:
peerDependencies:
postcss: ^8.1.0
dependencies:
- browserslist: 4.24.4
+ browserslist: 4.25.1
caniuse-lite: 1.0.30001718
fraction.js: 4.3.7
normalize-range: 0.1.2
@@ -25709,12 +25263,12 @@ packages:
/b4a@1.6.7:
resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==}
- /babel-core@7.0.0-bridge.0(@babel/core@7.26.10):
+ /babel-core@7.0.0-bridge.0(@babel/core@7.28.0):
resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.26.10
+ '@babel/core': 7.28.0
dev: true
/babel-jest@29.7.0(@babel/core@7.28.0):
@@ -25733,33 +25287,6 @@ packages:
slash: 3.0.0
transitivePeerDependencies:
- supports-color
- dev: true
-
- /babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.98.0):
- resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==}
- engines: {node: '>= 14.15.0'}
- peerDependencies:
- '@babel/core': ^7.12.0
- webpack: '>=5'
- dependencies:
- '@babel/core': 7.26.0
- find-cache-dir: 4.0.0
- schema-utils: 4.3.2
- webpack: 5.98.0(@swc/core@1.7.26)(esbuild@0.24.0)(webpack-cli@5.1.4)
- dev: false
-
- /babel-loader@9.2.1(@babel/core@7.26.10)(webpack@5.99.9):
- resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==}
- engines: {node: '>= 14.15.0'}
- peerDependencies:
- '@babel/core': ^7.12.0
- webpack: '>=5'
- dependencies:
- '@babel/core': 7.26.10
- find-cache-dir: 4.0.0
- schema-utils: 4.3.2
- webpack: 5.99.9(@swc/core@1.11.31)(esbuild@0.25.5)(webpack-cli@5.1.4)
- dev: true
/babel-loader@9.2.1(@babel/core@7.28.0)(webpack@5.98.0):
resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==}
@@ -25771,8 +25298,7 @@ packages:
'@babel/core': 7.28.0
find-cache-dir: 4.0.0
schema-utils: 4.3.2
- webpack: 5.98.0(@swc/core@1.7.26)(esbuild@0.25.0)(webpack-cli@5.1.4)
- dev: true
+ webpack: 5.98.0(@swc/core@1.7.26)(esbuild@0.24.0)(webpack-cli@5.1.4)
/babel-loader@9.2.1(@babel/core@7.28.0)(webpack@5.99.9):
resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==}
@@ -25784,7 +25310,7 @@ packages:
'@babel/core': 7.28.0
find-cache-dir: 4.0.0
schema-utils: 4.3.2
- webpack: 5.99.9(@swc/core@1.7.26)(esbuild@0.25.0)(webpack-cli@5.1.4)
+ webpack: 5.99.9(@swc/core@1.11.31)(esbuild@0.25.5)(webpack-cli@5.1.4)
dev: true
/babel-plugin-apply-mdx-type-prop@1.6.22(@babel/core@7.12.9):
@@ -25797,19 +25323,6 @@ packages:
'@mdx-js/util': 1.6.22
dev: true
- /babel-plugin-const-enum@1.2.0(@babel/core@7.26.10):
- resolution: {integrity: sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.26.10)
- '@babel/traverse': 7.27.1
- transitivePeerDependencies:
- - supports-color
- dev: false
-
/babel-plugin-const-enum@1.2.0(@babel/core@7.28.0):
resolution: {integrity: sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==}
peerDependencies:
@@ -25818,10 +25331,9 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
'@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.0)
- '@babel/traverse': 7.27.1
+ '@babel/traverse': 7.28.0
transitivePeerDependencies:
- supports-color
- dev: true
/babel-plugin-dynamic-import-node@2.3.3:
resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==}
@@ -25854,7 +25366,6 @@ packages:
test-exclude: 6.0.0
transitivePeerDependencies:
- supports-color
- dev: true
/babel-plugin-jest-hoist@29.6.3:
resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==}
@@ -25864,7 +25375,6 @@ packages:
'@babel/types': 7.28.2
'@types/babel__core': 7.20.5
'@types/babel__traverse': 7.20.6
- dev: true
/babel-plugin-macros@2.8.0:
resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==}
@@ -25882,31 +25392,6 @@ packages:
cosmiconfig: 7.1.0
resolve: 1.22.8
- /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.26.10):
- resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/compat-data': 7.26.2
- '@babel/core': 7.26.10
- '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.10)
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
- /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.28.0):
- resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/compat-data': 7.26.2
- '@babel/core': 7.28.0
- '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.28.0)
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
/babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.0):
resolution: {integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==}
peerDependencies:
@@ -25919,17 +25404,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.10):
- resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.26.10)
- core-js-compat: 3.44.0
- transitivePeerDependencies:
- - supports-color
-
/babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.28.0):
resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==}
peerDependencies:
@@ -25940,7 +25414,6 @@ packages:
core-js-compat: 3.44.0
transitivePeerDependencies:
- supports-color
- dev: true
/babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.0):
resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==}
@@ -25953,27 +25426,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.26.10):
- resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.10)
- transitivePeerDependencies:
- - supports-color
-
- /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.28.0):
- resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/core': 7.28.0
- '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.28.0)
- transitivePeerDependencies:
- - supports-color
- dev: true
-
/babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.0):
resolution: {integrity: sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==}
peerDependencies:
@@ -26013,27 +25465,27 @@ packages:
- '@babel/core'
- supports-color
+ /babel-plugin-syntax-hermes-parser@0.28.1:
+ resolution: {integrity: sha512-meT17DOuUElMNsL5LZN56d+KBp22hb0EfxWfuPUeoSi54e40v1W4C2V36P75FpsH9fVEfDKpw5Nnkahc8haSsQ==}
+ dependencies:
+ hermes-parser: 0.28.1
+
/babel-plugin-syntax-jsx@6.18.0:
resolution: {integrity: sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==}
dev: true
+ /babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.28.0):
+ resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==}
+ dependencies:
+ '@babel/plugin-syntax-flow': 7.25.7(@babel/core@7.28.0)
+ transitivePeerDependencies:
+ - '@babel/core'
+ dev: true
+
/babel-plugin-transform-react-remove-prop-types@0.4.24:
resolution: {integrity: sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==}
dev: true
- /babel-plugin-transform-typescript-metadata@0.3.2(@babel/core@7.26.10):
- resolution: {integrity: sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg==}
- peerDependencies:
- '@babel/core': ^7
- '@babel/traverse': ^7
- peerDependenciesMeta:
- '@babel/traverse':
- optional: true
- dependencies:
- '@babel/core': 7.26.10
- '@babel/helper-plugin-utils': 7.27.1
- dev: false
-
/babel-plugin-transform-typescript-metadata@0.3.2(@babel/core@7.28.0)(@babel/traverse@7.27.1):
resolution: {integrity: sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg==}
peerDependencies:
@@ -26046,7 +25498,6 @@ packages:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
'@babel/traverse': 7.27.1
- dev: true
/babel-preset-current-node-syntax@1.1.0(@babel/core@7.28.0):
resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==}
@@ -26069,7 +25520,6 @@ packages:
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.0)
'@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.0)
'@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.0)
- dev: true
/babel-preset-jest@29.6.3(@babel/core@7.28.0):
resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==}
@@ -26080,13 +25530,12 @@ packages:
'@babel/core': 7.28.0
babel-plugin-jest-hoist: 29.6.3
babel-preset-current-node-syntax: 1.1.0(@babel/core@7.28.0)
- dev: true
/babel-walk@3.0.0-canary-5:
resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==}
engines: {node: '>= 10.0.0'}
dependencies:
- '@babel/types': 7.27.1
+ '@babel/types': 7.28.2
dev: true
/bail@1.0.5:
@@ -26256,6 +25705,20 @@ packages:
resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==}
dev: true
+ /boxen@7.0.0:
+ resolution: {integrity: sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ ansi-align: 3.0.1
+ camelcase: 7.0.1
+ chalk: 5.4.1
+ cli-boxes: 3.0.0
+ string-width: 5.1.2
+ type-fest: 2.19.0
+ widest-line: 4.0.1
+ wrap-ansi: 8.1.0
+ dev: true
+
/bplist-parser@0.2.0:
resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==}
engines: {node: '>= 5.10.0'}
@@ -26373,7 +25836,7 @@ packages:
/browserslist-to-es-version@1.0.0:
resolution: {integrity: sha512-i6dR03ClGy9ti97FSa4s0dpv01zW/t5VbvGjFfTLsrRQFsPgSeyGkCrlU7BTJuI5XDHVY5S2JgDnDsvQXifJ8w==}
dependencies:
- browserslist: 4.24.4
+ browserslist: 4.25.1
dev: true
/browserslist@4.24.0:
@@ -26417,7 +25880,6 @@ packages:
resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
dependencies:
node-int64: 0.4.0
- dev: true
/btoa@1.2.1:
resolution: {integrity: sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==}
@@ -26496,6 +25958,7 @@ packages:
/bytes@3.0.0:
resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
engines: {node: '>= 0.8'}
+ dev: true
/bytes@3.1.0:
resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==}
@@ -26603,6 +26066,22 @@ packages:
call-bind-apply-helpers: 1.0.2
get-intrinsic: 1.3.0
+ /caller-callsite@2.0.0:
+ resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ callsites: 2.0.0
+
+ /caller-path@2.0.0:
+ resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==}
+ engines: {node: '>=4'}
+ dependencies:
+ caller-callsite: 2.0.0
+
+ /callsites@2.0.0:
+ resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==}
+ engines: {node: '>=4'}
+
/callsites@3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
@@ -26620,12 +26099,16 @@ packages:
/camelcase@5.3.1:
resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
engines: {node: '>=6'}
- dev: true
/camelcase@6.3.0:
resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
engines: {node: '>=10'}
+ /camelcase@7.0.1:
+ resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
+ engines: {node: '>=14.16'}
+ dev: true
+
/camelize@1.0.1:
resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
@@ -26695,6 +26178,13 @@ packages:
loupe: 3.1.1
pathval: 2.0.0
+ /chalk-template@0.4.0:
+ resolution: {integrity: sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==}
+ engines: {node: '>=12'}
+ dependencies:
+ chalk: 4.1.2
+ dev: true
+
/chalk@1.1.3:
resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
engines: {node: '>=0.10.0'}
@@ -26713,6 +26203,7 @@ packages:
ansi-styles: 3.2.1
escape-string-regexp: 1.0.5
supports-color: 5.5.0
+ dev: true
/chalk@3.0.0:
resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
@@ -26728,6 +26219,11 @@ packages:
ansi-styles: 4.3.0
supports-color: 7.2.0
+ /chalk@5.0.1:
+ resolution: {integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+ dev: true
+
/chalk@5.2.0:
resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==}
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
@@ -26885,6 +26381,11 @@ packages:
resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
engines: {node: '>=10'}
+ /chownr@3.0.0:
+ resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
+ engines: {node: '>=18'}
+ dev: true
+
/chromatic@11.11.0:
resolution: {integrity: sha512-mwmYsNMsZlRLtlfFUEtac5zhoVRhc+O/lsuMdOpwkiDQiKX6WdSNIhic+dkLenfuzao2r18s50nphcOgFoatBg==}
hasBin: true
@@ -26898,10 +26399,37 @@ packages:
optional: true
dev: true
+ /chrome-launcher@0.15.2:
+ resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==}
+ engines: {node: '>=12.13.0'}
+ hasBin: true
+ dependencies:
+ '@types/node': 20.12.14
+ escape-string-regexp: 4.0.0
+ is-wsl: 2.2.0
+ lighthouse-logger: 1.4.2
+ transitivePeerDependencies:
+ - supports-color
+
/chrome-trace-event@1.0.4:
resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
engines: {node: '>=6.0'}
+ /chromium-edge-launcher@0.2.0:
+ resolution: {integrity: sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==}
+ dependencies:
+ '@types/node': 20.12.14
+ escape-string-regexp: 4.0.0
+ is-wsl: 2.2.0
+ lighthouse-logger: 1.4.2
+ mkdirp: 1.0.4
+ rimraf: 3.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ /ci-info@2.0.0:
+ resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==}
+
/ci-info@3.9.0:
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
engines: {node: '>=8'}
@@ -26971,6 +26499,11 @@ packages:
escape-string-regexp: 5.0.0
dev: true
+ /cli-boxes@3.0.0:
+ resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==}
+ engines: {node: '>=10'}
+ dev: true
+
/cli-cursor@3.1.0:
resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
engines: {node: '>=8'}
@@ -27067,6 +26600,22 @@ packages:
dependencies:
typanion: 3.14.0
+ /clipboardy@3.0.0:
+ resolution: {integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ arch: 2.2.0
+ execa: 5.1.1
+ is-wsl: 2.2.0
+ dev: true
+
+ /cliui@6.0.0:
+ resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 6.2.0
+
/cliui@7.0.4:
resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
dependencies:
@@ -27182,7 +26731,6 @@ packages:
/colorette@1.4.0:
resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==}
- dev: true
/colorette@2.0.20:
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
@@ -27216,6 +26764,9 @@ packages:
/comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
+ /command-exists@1.2.9:
+ resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==}
+
/command-line-args@5.2.1:
resolution: {integrity: sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==}
engines: {node: '>=4.0.0'}
@@ -27244,6 +26795,10 @@ packages:
resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
engines: {node: '>=16'}
+ /commander@12.1.0:
+ resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
+ engines: {node: '>=18'}
+
/commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
@@ -27264,6 +26819,10 @@ packages:
resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
engines: {node: '>= 12'}
+ /commander@9.5.0:
+ resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
+ engines: {node: ^12.20.0 || >=14}
+
/commitizen@4.3.1(@types/node@18.16.9)(typescript@5.8.3):
resolution: {integrity: sha512-gwAPAVTy/j5YcOOebcCRIijn+mSjWJC+IYKivTu6aG8Ei/scoXgfsMRnuAk6b0GRste2J4NGxVdMN3ZpfNaVaw==}
engines: {node: '>= 12'}
@@ -27333,6 +26892,7 @@ packages:
vary: 1.1.2
transitivePeerDependencies:
- supports-color
+ dev: true
/compression@1.8.0:
resolution: {integrity: sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA==}
@@ -27426,7 +26986,6 @@ packages:
utils-merge: 1.0.1
transitivePeerDependencies:
- supports-color
- dev: true
/consola@3.2.3:
resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
@@ -27442,14 +27001,19 @@ packages:
/constantinople@4.0.1:
resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==}
dependencies:
- '@babel/parser': 7.27.2
- '@babel/types': 7.27.1
+ '@babel/parser': 7.28.0
+ '@babel/types': 7.28.2
dev: true
/constants-browserify@1.0.0:
resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==}
dev: true
+ /content-disposition@0.5.2:
+ resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
/content-disposition@0.5.4:
resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
engines: {node: '>= 0.6'}
@@ -27638,11 +27202,6 @@ packages:
webpack: 5.99.9(@swc/core@1.11.31)(esbuild@0.25.5)(webpack-cli@5.1.4)
dev: true
- /core-js-compat@3.38.1:
- resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==}
- dependencies:
- browserslist: 4.24.4
-
/core-js-compat@3.44.0:
resolution: {integrity: sha512-JepmAj2zfl6ogy34qfWtcE7nHKAJnKsQFRn++scjVS2bZFllwptzw61BZcZFYBPpUznLfAvh0LGhxKppk04ClA==}
dependencies:
@@ -27731,6 +27290,15 @@ packages:
dev: true
optional: true
+ /cosmiconfig@5.2.1:
+ resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==}
+ engines: {node: '>=4'}
+ dependencies:
+ import-fresh: 2.0.0
+ is-directory: 0.3.1
+ js-yaml: 3.14.1
+ parse-json: 4.0.0
+
/cosmiconfig@6.0.0:
resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==}
engines: {node: '>=8'}
@@ -27799,6 +27367,21 @@ packages:
path-type: 4.0.0
typescript: 5.8.3
+ /cosmiconfig@9.0.0(typescript@5.0.4):
+ resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ env-paths: 2.2.1
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ parse-json: 5.2.0
+ typescript: 5.0.4
+
/cosmiconfig@9.0.0(typescript@5.8.3):
resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
engines: {node: '>=14'}
@@ -27843,7 +27426,7 @@ packages:
sha.js: 2.4.11
dev: true
- /create-jest@29.7.0(@types/node@17.0.45):
+ /create-jest@29.7.0(@types/node@17.0.45)(ts-node@10.9.1):
resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
@@ -27852,7 +27435,7 @@ packages:
chalk: 4.1.2
exit: 0.1.2
graceful-fs: 4.2.11
- jest-config: 29.7.0(@types/node@17.0.45)
+ jest-config: 29.7.0(@types/node@17.0.45)(ts-node@10.9.1)
jest-util: 29.7.0
prompts: 2.4.2
transitivePeerDependencies:
@@ -27862,7 +27445,7 @@ packages:
- ts-node
dev: true
- /create-jest@29.7.0(@types/node@18.16.9):
+ /create-jest@29.7.0(@types/node@18.16.9)(ts-node@10.9.1):
resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
@@ -27871,7 +27454,7 @@ packages:
chalk: 4.1.2
exit: 0.1.2
graceful-fs: 4.2.11
- jest-config: 29.7.0(@types/node@18.16.9)
+ jest-config: 29.7.0(@types/node@18.16.9)(ts-node@10.9.1)
jest-util: 29.7.0
prompts: 2.4.2
transitivePeerDependencies:
@@ -27883,7 +27466,6 @@ packages:
/create-require@1.1.1:
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
- dev: false
/cron-parser@4.9.0:
resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==}
@@ -28788,6 +28370,10 @@ packages:
ms: 2.1.3
supports-color: 8.1.1
+ /decamelize@1.2.0:
+ resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
+ engines: {node: '>=0.10.0'}
+
/decimal.js@10.4.3:
resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
dev: true
@@ -29051,7 +28637,6 @@ packages:
/diff@4.0.2:
resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
engines: {node: '>=0.3.1'}
- dev: false
/diffie-hellman@5.0.3:
resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==}
@@ -29105,7 +28690,6 @@ packages:
engines: {node: '>=6.0.0'}
dependencies:
esutils: 2.0.3
- dev: true
/doctypes@1.1.0:
resolution: {integrity: sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==}
@@ -29418,7 +29002,6 @@ packages:
/env-paths@2.2.1:
resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
engines: {node: '>=6'}
- dev: true
/envinfo@7.14.0:
resolution: {integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==}
@@ -29448,6 +29031,13 @@ packages:
dependencies:
stackframe: 1.3.4
+ /errorhandler@1.5.1:
+ resolution: {integrity: sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ accepts: 1.3.8
+ escape-html: 1.0.3
+
/es-abstract@1.23.3:
resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
engines: {node: '>= 0.4'}
@@ -30108,7 +29698,6 @@ packages:
/escape-string-regexp@2.0.0:
resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
engines: {node: '>=8'}
- dev: true
/escape-string-regexp@4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
@@ -30345,6 +29934,19 @@ packages:
lodash.upperfirst: 4.3.1
dev: true
+ /eslint-plugin-ft-flow@2.0.3(@babel/eslint-parser@7.25.7)(eslint@8.57.1):
+ resolution: {integrity: sha512-Vbsd/b+LYA99jUbsL6viEUWShFaYQt2YQs3QN3f+aeszOhh2sgdcU0mjzDyD4yyBvMc8qy2uwvBBWfMzEX06tg==}
+ engines: {node: '>=12.22.0'}
+ peerDependencies:
+ '@babel/eslint-parser': ^7.12.0
+ eslint: ^8.1.0
+ dependencies:
+ '@babel/eslint-parser': 7.25.7(@babel/core@7.28.0)(eslint@8.57.1)
+ eslint: 8.57.1
+ lodash: 4.17.21
+ string-natural-compare: 3.0.1
+ dev: true
+
/eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.1):
resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==}
engines: {node: '>=4'}
@@ -30456,6 +30058,28 @@ packages:
- supports-color
dev: true
+ /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.18.0)(eslint@8.57.1)(jest@29.7.0)(typescript@5.0.4):
+ resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ peerDependencies:
+ '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0
+ eslint: ^7.0.0 || ^8.0.0
+ jest: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/eslint-plugin':
+ optional: true
+ jest:
+ optional: true
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.0.4)
+ '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.0.4)
+ eslint: 8.57.1
+ jest: 29.7.0(@types/node@18.16.9)(ts-node@10.9.1)
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
/eslint-plugin-jsx-a11y@6.10.1(eslint@8.57.1):
resolution: {integrity: sha512-zHByM9WTUMnfsDTafGXRiqxp6lFtNoSOWBY6FonVRn3A+BUwN1L/tdBXT40BcBJi0cZjOGTXZ0eD/rTG9fEJ0g==}
engines: {node: '>=4.0'}
@@ -30610,6 +30234,28 @@ packages:
eslint: 8.57.1
dev: true
+ /eslint-plugin-react-hooks@5.2.0(eslint@8.57.1):
+ resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
+ dependencies:
+ eslint: 8.57.1
+ dev: true
+
+ /eslint-plugin-react-native-globals@0.1.2:
+ resolution: {integrity: sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==}
+ dev: true
+
+ /eslint-plugin-react-native@4.1.0(eslint@8.57.1):
+ resolution: {integrity: sha512-QLo7rzTBOl43FvVqDdq5Ql9IoElIuTdjrz9SKAXCvULvBoRZ44JGSkx9z4999ZusCsb4rK3gjS8gOGyeYqZv2Q==}
+ peerDependencies:
+ eslint: ^3.17.0 || ^4 || ^5 || ^6 || ^7 || ^8
+ dependencies:
+ eslint: 8.57.1
+ eslint-plugin-react-native-globals: 0.1.2
+ dev: true
+
/eslint-plugin-react@7.37.2(eslint@8.57.1):
resolution: {integrity: sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==}
engines: {node: '>=4'}
@@ -30705,7 +30351,6 @@ packages:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
- dev: true
/eslint-scope@8.3.0:
resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==}
@@ -30713,6 +30358,7 @@ packages:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
+ dev: true
/eslint-utils@2.1.0:
resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==}
@@ -30738,10 +30384,12 @@ packages:
/eslint-visitor-keys@4.2.0:
resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ dev: true
/eslint@8.57.1:
resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
hasBin: true
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
@@ -30755,7 +30403,7 @@ packages:
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.6
- debug: 4.4.0(supports-color@9.3.1)
+ debug: 4.4.1(supports-color@8.1.1)
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.2.2
@@ -30784,7 +30432,6 @@ packages:
text-table: 0.2.0
transitivePeerDependencies:
- supports-color
- dev: true
/eslint@9.0.0:
resolution: {integrity: sha512-IMryZ5SudxzQvuod6rUdIUz29qFItWx281VhtFVc2Psy/ZhlCeD/5DT6lBIJ4H3G+iamGJoTln1v+QSuPw0p7Q==}
@@ -30827,6 +30474,7 @@ packages:
text-table: 0.2.0
transitivePeerDependencies:
- supports-color
+ dev: true
/esniff@2.0.1:
resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==}
@@ -30842,18 +30490,18 @@ packages:
resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
dependencies:
- acorn: 8.14.0
- acorn-jsx: 5.3.2(acorn@8.14.0)
+ acorn: 8.15.0
+ acorn-jsx: 5.3.2(acorn@8.15.0)
eslint-visitor-keys: 4.2.0
+ dev: true
/espree@9.6.1:
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- acorn: 8.14.0
- acorn-jsx: 5.3.2(acorn@8.14.0)
+ acorn: 8.15.0
+ acorn-jsx: 5.3.2(acorn@8.15.0)
eslint-visitor-keys: 3.4.3
- dev: true
/esprima@4.0.1:
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
@@ -30884,8 +30532,8 @@ packages:
resolution: {integrity: sha512-YNF+mZ/Wu2FU/gvmzuWtYc8rloubL7wfXCTgouFrnjGVXPA/EeYYA7pupXWrb3Iv1cTBeSSxxJIbK23l4MRNqg==}
engines: {node: '>=8.3.0'}
dependencies:
- '@babel/traverse': 7.27.1
- '@babel/types': 7.27.1
+ '@babel/traverse': 7.28.0
+ '@babel/types': 7.28.2
c8: 7.14.0
transitivePeerDependencies:
- supports-color
@@ -31142,6 +30790,9 @@ packages:
jest-util: 29.7.0
dev: true
+ /exponential-backoff@3.1.2:
+ resolution: {integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==}
+
/express-rate-limit@5.5.1:
resolution: {integrity: sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg==}
@@ -31393,6 +31044,12 @@ packages:
/fast-uri@3.0.2:
resolution: {integrity: sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==}
+ /fast-xml-parser@4.5.3:
+ resolution: {integrity: sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==}
+ hasBin: true
+ dependencies:
+ strnum: 1.1.2
+
/fastest-levenshtein@1.0.16:
resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==}
engines: {node: '>= 4.9.1'}
@@ -31412,7 +31069,6 @@ packages:
resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
dependencies:
bser: 2.1.1
- dev: true
/fd-slicer@1.1.0:
resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
@@ -31480,13 +31136,13 @@ packages:
engines: {node: ^10.12.0 || >=12.0.0}
dependencies:
flat-cache: 3.2.0
- dev: true
/file-entry-cache@8.0.0:
resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
engines: {node: '>=16.0.0'}
dependencies:
flat-cache: 4.0.1
+ dev: true
/file-loader@6.2.0(webpack@5.94.0):
resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==}
@@ -31587,7 +31243,6 @@ packages:
unpipe: 1.0.0
transitivePeerDependencies:
- supports-color
- dev: true
/finalhandler@1.3.1:
resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==}
@@ -31746,7 +31401,6 @@ packages:
flatted: 3.3.3
keyv: 4.5.4
rimraf: 3.0.2
- dev: true
/flat-cache@4.0.1:
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
@@ -31754,6 +31408,7 @@ packages:
dependencies:
flatted: 3.3.3
keyv: 4.5.4
+ dev: true
/flat@5.0.2:
resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
@@ -31769,6 +31424,9 @@ packages:
resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==}
dev: false
+ /flow-enums-runtime@0.0.6:
+ resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==}
+
/flow-parser@0.248.1:
resolution: {integrity: sha512-fkCfVPelbTzSVp+jVwSvEyc+I4WG8MNhRG/EWSZZTlgHAMEdhXJaFEbfErXxMktboMhVGchvEFhWxkzNGM1m2A==}
engines: {node: '>=0.4.0'}
@@ -31840,7 +31498,7 @@ packages:
vue-template-compiler:
optional: true
dependencies:
- '@babel/code-frame': 7.26.2
+ '@babel/code-frame': 7.27.1
chalk: 4.1.2
chokidar: 3.6.0
cosmiconfig: 7.1.0
@@ -31867,7 +31525,7 @@ packages:
vue-template-compiler:
optional: true
dependencies:
- '@babel/code-frame': 7.26.2
+ '@babel/code-frame': 7.27.1
chalk: 4.1.2
chokidar: 3.6.0
cosmiconfig: 7.1.0
@@ -32235,7 +31893,6 @@ packages:
/get-package-type@0.1.0:
resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
engines: {node: '>=8.0.0'}
- dev: true
/get-port@5.1.1:
resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==}
@@ -32301,6 +31958,11 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /getenv@1.0.0:
+ resolution: {integrity: sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==}
+ engines: {node: '>=6'}
+ dev: true
+
/getos@3.2.1:
resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==}
dependencies:
@@ -32538,11 +32200,11 @@ packages:
engines: {node: '>=8'}
dependencies:
type-fest: 0.20.2
- dev: true
/globals@14.0.0:
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
engines: {node: '>=18'}
+ dev: true
/globals@15.10.0:
resolution: {integrity: sha512-tqFIbz83w4Y5TCbtgjZjApohbuh7K9BxGYFm7ifwDR240tvdb7P9x+/9VvUKlmkPoiknoJtanI8UOrqxS3a7lQ==}
@@ -33042,6 +32704,22 @@ packages:
resolution: {integrity: sha512-tUCGvt191vNSQgttSyJoibR+VO+I6+iCHIUdhzEMJKE+EAL8BwCN7fUOZlY4ofOelNHsK+gEjxB/B+9N3EWtdA==}
dev: true
+ /hermes-estree@0.28.1:
+ resolution: {integrity: sha512-w3nxl/RGM7LBae0v8LH2o36+8VqwOZGv9rX1wyoWT6YaKZLqpJZ0YQ5P0LVr3tuRpf7vCx0iIG4i/VmBJejxTQ==}
+
+ /hermes-estree@0.29.1:
+ resolution: {integrity: sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==}
+
+ /hermes-parser@0.28.1:
+ resolution: {integrity: sha512-nf8o+hE8g7UJWParnccljHumE9Vlq8F7MqIdeahl+4x0tvCUJYRrT0L7h0MMg/X9YJmkNwsfbaNNrzPtFXOscg==}
+ dependencies:
+ hermes-estree: 0.28.1
+
+ /hermes-parser@0.29.1:
+ resolution: {integrity: sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==}
+ dependencies:
+ hermes-estree: 0.29.1
+
/highlight.js@10.7.3:
resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==}
dev: true
@@ -33054,7 +32732,7 @@ packages:
/history@4.10.1:
resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==}
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
loose-envify: 1.4.0
resolve-pathname: 3.0.0
tiny-invariant: 1.3.3
@@ -33483,7 +33161,6 @@ packages:
debug: 4.4.1(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
- dev: true
/human-id@1.0.2:
resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==}
@@ -33580,6 +33257,10 @@ packages:
/ieee754@1.2.1:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+ /ignore-by-default@1.0.1:
+ resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==}
+ dev: true
+
/ignore-walk@3.0.4:
resolution: {integrity: sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==}
dependencies:
@@ -33609,6 +33290,13 @@ packages:
requiresBuild: true
optional: true
+ /image-size@1.2.1:
+ resolution: {integrity: sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==}
+ engines: {node: '>=16.x'}
+ hasBin: true
+ dependencies:
+ queue: 6.0.2
+
/image-size@2.0.2:
resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==}
engines: {node: '>=16.x'}
@@ -33632,6 +33320,13 @@ packages:
import-from: 3.0.0
dev: true
+ /import-fresh@2.0.0:
+ resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==}
+ engines: {node: '>=4'}
+ dependencies:
+ caller-path: 2.0.0
+ resolve-from: 3.0.0
+
/import-fresh@3.3.0:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
engines: {node: '>=6'}
@@ -33940,7 +33635,7 @@ packages:
/is-bun-module@1.2.1:
resolution: {integrity: sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==}
dependencies:
- semver: 7.7.2
+ semver: 7.6.3
dev: true
/is-callable@1.2.7:
@@ -34008,6 +33703,10 @@ packages:
is-data-descriptor: 1.0.1
dev: true
+ /is-directory@0.3.1:
+ resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==}
+ engines: {node: '>=0.10.0'}
+
/is-docker@2.2.1:
resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
engines: {node: '>=8'}
@@ -34056,6 +33755,10 @@ packages:
call-bind: 1.0.7
dev: true
+ /is-fullwidth-code-point@2.0.0:
+ resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==}
+ engines: {node: '>=4'}
+
/is-fullwidth-code-point@3.0.0:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'}
@@ -34231,6 +33934,11 @@ packages:
resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
engines: {node: '>=0.10.0'}
+ /is-port-reachable@4.0.0:
+ resolution: {integrity: sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dev: true
+
/is-potential-custom-element-name@1.0.1:
resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
dev: true
@@ -34370,7 +34078,6 @@ packages:
/is-wsl@1.1.0:
resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==}
engines: {node: '>=4'}
- dev: true
/is-wsl@2.2.0:
resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
@@ -34454,7 +34161,6 @@ packages:
/istanbul-lib-coverage@3.2.2:
resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
engines: {node: '>=8'}
- dev: true
/istanbul-lib-instrument@5.2.1:
resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
@@ -34467,17 +34173,16 @@ packages:
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- dev: true
/istanbul-lib-instrument@6.0.3:
resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==}
engines: {node: '>=10'}
dependencies:
'@babel/core': 7.28.0
- '@babel/parser': 7.27.2
+ '@babel/parser': 7.28.0
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.2
- semver: 7.7.2
+ semver: 7.6.3
transitivePeerDependencies:
- supports-color
dev: true
@@ -34594,7 +34299,7 @@ packages:
'@jest/expect': 29.7.0
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
- '@types/node': 18.16.9
+ '@types/node': 20.12.14
chalk: 4.1.2
co: 4.6.0
dedent: 1.5.3
@@ -34615,7 +34320,7 @@ packages:
- supports-color
dev: true
- /jest-cli@29.7.0(@types/node@17.0.45):
+ /jest-cli@29.7.0(@types/node@17.0.45)(ts-node@10.9.1):
resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
@@ -34625,14 +34330,14 @@ packages:
node-notifier:
optional: true
dependencies:
- '@jest/core': 29.7.0
+ '@jest/core': 29.7.0(ts-node@10.9.1)
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
chalk: 4.1.2
- create-jest: 29.7.0(@types/node@17.0.45)
+ create-jest: 29.7.0(@types/node@17.0.45)(ts-node@10.9.1)
exit: 0.1.2
import-local: 3.2.0
- jest-config: 29.7.0(@types/node@17.0.45)
+ jest-config: 29.7.0(@types/node@17.0.45)(ts-node@10.9.1)
jest-util: 29.7.0
jest-validate: 29.7.0
yargs: 17.7.2
@@ -34643,7 +34348,7 @@ packages:
- ts-node
dev: true
- /jest-cli@29.7.0(@types/node@18.16.9):
+ /jest-cli@29.7.0(@types/node@18.16.9)(ts-node@10.9.1):
resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
@@ -34653,14 +34358,14 @@ packages:
node-notifier:
optional: true
dependencies:
- '@jest/core': 29.7.0
+ '@jest/core': 29.7.0(ts-node@10.9.1)
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
chalk: 4.1.2
- create-jest: 29.7.0(@types/node@18.16.9)
+ create-jest: 29.7.0(@types/node@18.16.9)(ts-node@10.9.1)
exit: 0.1.2
import-local: 3.2.0
- jest-config: 29.7.0(@types/node@18.16.9)
+ jest-config: 29.7.0(@types/node@18.16.9)(ts-node@10.9.1)
jest-util: 29.7.0
jest-validate: 29.7.0
yargs: 17.7.2
@@ -34671,7 +34376,7 @@ packages:
- ts-node
dev: true
- /jest-config@29.7.0(@types/node@17.0.45):
+ /jest-config@29.7.0(@types/node@17.0.45)(ts-node@10.9.1):
resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
@@ -34706,12 +34411,13 @@ packages:
pretty-format: 29.7.0
slash: 3.0.0
strip-json-comments: 3.1.1
+ ts-node: 10.9.1(@swc/core@1.7.26)(@types/node@18.16.9)(typescript@5.8.3)
transitivePeerDependencies:
- babel-plugin-macros
- supports-color
dev: true
- /jest-config@29.7.0(@types/node@18.16.9):
+ /jest-config@29.7.0(@types/node@18.16.9)(ts-node@10.9.1):
resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
@@ -34746,6 +34452,7 @@ packages:
pretty-format: 29.7.0
slash: 3.0.0
strip-json-comments: 3.1.1
+ ts-node: 10.9.1(@swc/core@1.7.26)(@types/node@18.16.9)(typescript@5.8.3)
transitivePeerDependencies:
- babel-plugin-macros
- supports-color
@@ -34811,7 +34518,6 @@ packages:
'@types/node': 18.16.9
jest-mock: 29.7.0
jest-util: 29.7.0
- dev: true
/jest-fixed-jsdom@0.0.9(jest-environment-jsdom@29.7.0):
resolution: {integrity: sha512-KPfqh2+sn5q2B+7LZktwDcwhCpOpUSue8a1I+BcixWLOQoEVyAjAGfH+IYZGoxZsziNojoHGRTC8xRbB1wDD4g==}
@@ -34843,7 +34549,6 @@ packages:
walker: 1.0.8
optionalDependencies:
fsevents: 2.3.3
- dev: true
/jest-leak-detector@29.7.0:
resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==}
@@ -34876,7 +34581,6 @@ packages:
pretty-format: 29.7.0
slash: 3.0.0
stack-utils: 2.0.6
- dev: true
/jest-mock@29.7.0:
resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==}
@@ -34885,7 +34589,6 @@ packages:
'@jest/types': 29.6.3
'@types/node': 18.16.9
jest-util: 29.7.0
- dev: true
/jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
@@ -34902,7 +34605,6 @@ packages:
/jest-regex-util@29.6.3:
resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dev: true
/jest-resolve-dependencies@29.7.0:
resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==}
@@ -35011,7 +34713,7 @@ packages:
jest-util: 29.7.0
natural-compare: 1.4.0
pretty-format: 29.7.0
- semver: 7.7.2
+ semver: 7.6.3
transitivePeerDependencies:
- supports-color
dev: true
@@ -35037,7 +34739,6 @@ packages:
jest-get-type: 29.6.3
leven: 3.1.0
pretty-format: 29.7.0
- dev: true
/jest-watcher@29.7.0:
resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==}
@@ -35079,7 +34780,7 @@ packages:
merge-stream: 2.0.0
supports-color: 8.1.1
- /jest@29.7.0(@types/node@17.0.45):
+ /jest@29.7.0(@types/node@17.0.45)(ts-node@10.9.1):
resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
@@ -35089,10 +34790,10 @@ packages:
node-notifier:
optional: true
dependencies:
- '@jest/core': 29.7.0
+ '@jest/core': 29.7.0(ts-node@10.9.1)
'@jest/types': 29.6.3
import-local: 3.2.0
- jest-cli: 29.7.0(@types/node@17.0.45)
+ jest-cli: 29.7.0(@types/node@17.0.45)(ts-node@10.9.1)
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
@@ -35100,7 +34801,7 @@ packages:
- ts-node
dev: true
- /jest@29.7.0(@types/node@18.16.9):
+ /jest@29.7.0(@types/node@18.16.9)(ts-node@10.9.1):
resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
@@ -35110,10 +34811,10 @@ packages:
node-notifier:
optional: true
dependencies:
- '@jest/core': 29.7.0
+ '@jest/core': 29.7.0(ts-node@10.9.1)
'@jest/types': 29.6.3
import-local: 3.2.0
- jest-cli: 29.7.0(@types/node@18.16.9)
+ jest-cli: 29.7.0(@types/node@18.16.9)(ts-node@10.9.1)
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
@@ -35150,7 +34851,6 @@ packages:
'@sideway/address': 4.1.5
'@sideway/formula': 3.0.1
'@sideway/pinpoint': 2.0.0
- dev: true
/joycon@3.1.1:
resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
@@ -35193,7 +34893,10 @@ packages:
/jsbn@0.1.1:
resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==}
- /jscodeshift@0.15.2(@babel/preset-env@7.26.0):
+ /jsc-safe-url@0.2.4:
+ resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==}
+
+ /jscodeshift@0.15.2(@babel/preset-env@7.28.0):
resolution: {integrity: sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==}
hasBin: true
peerDependencies:
@@ -35202,18 +34905,18 @@ packages:
'@babel/preset-env':
optional: true
dependencies:
- '@babel/core': 7.26.10
- '@babel/parser': 7.27.2
- '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.26.10)
- '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.10)
- '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.10)
- '@babel/preset-env': 7.26.0(@babel/core@7.26.10)
- '@babel/preset-flow': 7.25.7(@babel/core@7.26.10)
- '@babel/preset-typescript': 7.27.1(@babel/core@7.26.10)
- '@babel/register': 7.25.7(@babel/core@7.26.10)
- babel-core: 7.0.0-bridge.0(@babel/core@7.26.10)
+ '@babel/core': 7.28.0
+ '@babel/parser': 7.28.0
+ '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.0)
+ '@babel/preset-env': 7.28.0(@babel/core@7.28.0)
+ '@babel/preset-flow': 7.25.7(@babel/core@7.28.0)
+ '@babel/preset-typescript': 7.27.1(@babel/core@7.28.0)
+ '@babel/register': 7.25.7(@babel/core@7.28.0)
+ babel-core: 7.0.0-bridge.0(@babel/core@7.28.0)
chalk: 4.1.2
flow-parser: 0.248.1
graceful-fs: 4.2.11
@@ -35242,7 +34945,7 @@ packages:
optional: true
dependencies:
abab: 2.0.6
- acorn: 8.14.0
+ acorn: 8.15.0
acorn-globals: 7.0.1
cssom: 0.5.0
cssstyle: 2.3.0
@@ -35273,12 +34976,6 @@ packages:
- utf-8-validate
dev: true
- /jsesc@2.5.2:
- resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
- engines: {node: '>=4'}
- hasBin: true
- dev: true
-
/jsesc@3.0.2:
resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
engines: {node: '>=6'}
@@ -35294,7 +34991,6 @@ packages:
/json-parse-better-errors@1.0.2:
resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==}
- dev: true
/json-parse-even-better-errors@2.3.1:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
@@ -35342,7 +35038,7 @@ packages:
resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- acorn: 8.14.0
+ acorn: 8.15.0
eslint-visitor-keys: 3.4.3
espree: 9.6.1
semver: 7.6.3
@@ -35472,7 +35168,6 @@ packages:
/kleur@3.0.3:
resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
engines: {node: '>=6'}
- dev: true
/klona@2.0.6:
resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
@@ -35687,7 +35382,6 @@ packages:
/leven@3.1.0:
resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
engines: {node: '>=6'}
- dev: true
/levn@0.4.1:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
@@ -35723,6 +35417,14 @@ packages:
webpack-sources: 3.2.3
dev: true
+ /lighthouse-logger@1.4.2:
+ resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==}
+ dependencies:
+ debug: 2.6.9
+ marky: 1.3.0
+ transitivePeerDependencies:
+ - supports-color
+
/lilconfig@2.1.0:
resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
engines: {node: '>=10'}
@@ -36024,6 +35726,9 @@ packages:
resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
dev: true
+ /lodash.throttle@4.1.1:
+ resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
+
/lodash.uniq@4.5.0:
resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
@@ -36035,6 +35740,10 @@ packages:
resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==}
dev: true
+ /lodash@4.16.6:
+ resolution: {integrity: sha512-QXrLkYI2gXjL0QoQ9j932ca+Oh/wCUBeZULjqsJy78KjntrohXawEoOfgA2fXwy4vKh7OTD00p757/pUROtv+w==}
+ dev: false
+
/lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
@@ -36078,6 +35787,14 @@ packages:
transitivePeerDependencies:
- supports-color
+ /logkitty@0.7.1:
+ resolution: {integrity: sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==}
+ hasBin: true
+ dependencies:
+ ansi-fragments: 0.2.1
+ dayjs: 1.11.13
+ yargs: 15.4.1
+
/loglevel-colored-level-prefix@1.0.0:
resolution: {integrity: sha512-u45Wcxxc+SdAlh4yeF/uKlC1SPUPCy0gullSNKXod5I4bmifzk+Q4lSLExNEVn19tGaJipbZ4V4jbFn79/6mVA==}
dependencies:
@@ -36202,8 +35919,8 @@ packages:
/magicast@0.3.5:
resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==}
dependencies:
- '@babel/parser': 7.27.2
- '@babel/types': 7.27.1
+ '@babel/parser': 7.28.0
+ '@babel/types': 7.28.2
source-map-js: 1.2.1
dev: true
@@ -36225,7 +35942,7 @@ packages:
resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
engines: {node: '>=10'}
dependencies:
- semver: 7.7.2
+ semver: 7.6.3
dev: true
/make-error@1.3.6:
@@ -36235,7 +35952,6 @@ packages:
resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
dependencies:
tmpl: 1.0.5
- dev: true
/map-cache@0.2.2:
resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==}
@@ -36298,6 +36014,9 @@ packages:
hasBin: true
dev: false
+ /marky@1.3.0:
+ resolution: {integrity: sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==}
+
/math-intrinsics@1.1.0:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
engines: {node: '>= 0.4'}
@@ -36595,6 +36314,9 @@ packages:
tree-dump: 1.0.2(tslib@2.8.1)
tslib: 2.8.1
+ /memoize-one@5.2.1:
+ resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==}
+
/memoizerific@1.11.3:
resolution: {integrity: sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==}
dependencies:
@@ -36629,6 +36351,211 @@ packages:
resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
engines: {node: '>= 0.6'}
+ /metro-babel-transformer@0.82.5:
+ resolution: {integrity: sha512-W/scFDnwJXSccJYnOFdGiYr9srhbHPdxX9TvvACOFsIXdLilh3XuxQl/wXW6jEJfgIb0jTvoTlwwrqvuwymr6Q==}
+ engines: {node: '>=18.18'}
+ dependencies:
+ '@babel/core': 7.28.0
+ flow-enums-runtime: 0.0.6
+ hermes-parser: 0.29.1
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /metro-cache-key@0.82.5:
+ resolution: {integrity: sha512-qpVmPbDJuRLrT4kcGlUouyqLGssJnbTllVtvIgXfR7ZuzMKf0mGS+8WzcqzNK8+kCyakombQWR0uDd8qhWGJcA==}
+ engines: {node: '>=18.18'}
+ dependencies:
+ flow-enums-runtime: 0.0.6
+
+ /metro-cache@0.82.5:
+ resolution: {integrity: sha512-AwHV9607xZpedu1NQcjUkua8v7HfOTKfftl6Vc9OGr/jbpiJX6Gpy8E/V9jo/U9UuVYX2PqSUcVNZmu+LTm71Q==}
+ engines: {node: '>=18.18'}
+ dependencies:
+ exponential-backoff: 3.1.2
+ flow-enums-runtime: 0.0.6
+ https-proxy-agent: 7.0.6
+ metro-core: 0.82.5
+ transitivePeerDependencies:
+ - supports-color
+
+ /metro-config@0.82.5:
+ resolution: {integrity: sha512-/r83VqE55l0WsBf8IhNmc/3z71y2zIPe5kRSuqA5tY/SL/ULzlHUJEMd1szztd0G45JozLwjvrhAzhDPJ/Qo/g==}
+ engines: {node: '>=18.18'}
+ dependencies:
+ connect: 3.7.0
+ cosmiconfig: 5.2.1
+ flow-enums-runtime: 0.0.6
+ jest-validate: 29.7.0
+ metro: 0.82.5
+ metro-cache: 0.82.5
+ metro-core: 0.82.5
+ metro-runtime: 0.82.5
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ /metro-core@0.82.5:
+ resolution: {integrity: sha512-OJL18VbSw2RgtBm1f2P3J5kb892LCVJqMvslXxuxjAPex8OH7Eb8RBfgEo7VZSjgb/LOf4jhC4UFk5l5tAOHHA==}
+ engines: {node: '>=18.18'}
+ dependencies:
+ flow-enums-runtime: 0.0.6
+ lodash.throttle: 4.1.1
+ metro-resolver: 0.82.5
+
+ /metro-file-map@0.82.5:
+ resolution: {integrity: sha512-vpMDxkGIB+MTN8Af5hvSAanc6zXQipsAUO+XUx3PCQieKUfLwdoa8qaZ1WAQYRpaU+CJ8vhBcxtzzo3d9IsCIQ==}
+ engines: {node: '>=18.18'}
+ dependencies:
+ debug: 4.4.1(supports-color@8.1.1)
+ fb-watchman: 2.0.2
+ flow-enums-runtime: 0.0.6
+ graceful-fs: 4.2.11
+ invariant: 2.2.4
+ jest-worker: 29.7.0
+ micromatch: 4.0.8
+ nullthrows: 1.1.1
+ walker: 1.0.8
+ transitivePeerDependencies:
+ - supports-color
+
+ /metro-minify-terser@0.82.5:
+ resolution: {integrity: sha512-v6Nx7A4We6PqPu/ta1oGTqJ4Usz0P7c+3XNeBxW9kp8zayS3lHUKR0sY0wsCHInxZlNAEICx791x+uXytFUuwg==}
+ engines: {node: '>=18.18'}
+ dependencies:
+ flow-enums-runtime: 0.0.6
+ terser: 5.37.0
+
+ /metro-resolver@0.82.5:
+ resolution: {integrity: sha512-kFowLnWACt3bEsuVsaRNgwplT8U7kETnaFHaZePlARz4Fg8tZtmRDUmjaD68CGAwc0rwdwNCkWizLYpnyVcs2g==}
+ engines: {node: '>=18.18'}
+ dependencies:
+ flow-enums-runtime: 0.0.6
+
+ /metro-runtime@0.82.5:
+ resolution: {integrity: sha512-rQZDoCUf7k4Broyw3Ixxlq5ieIPiR1ULONdpcYpbJQ6yQ5GGEyYjtkztGD+OhHlw81LCR2SUAoPvtTus2WDK5g==}
+ engines: {node: '>=18.18'}
+ dependencies:
+ '@babel/runtime': 7.28.2
+ flow-enums-runtime: 0.0.6
+
+ /metro-source-map@0.82.5:
+ resolution: {integrity: sha512-wH+awTOQJVkbhn2SKyaw+0cd+RVSCZ3sHVgyqJFQXIee/yLs3dZqKjjeKKhhVeudgjXo7aE/vSu/zVfcQEcUfw==}
+ engines: {node: '>=18.18'}
+ dependencies:
+ '@babel/traverse': 7.28.0
+ '@babel/traverse--for-generate-function-map': /@babel/traverse@7.28.0
+ '@babel/types': 7.28.2
+ flow-enums-runtime: 0.0.6
+ invariant: 2.2.4
+ metro-symbolicate: 0.82.5
+ nullthrows: 1.1.1
+ ob1: 0.82.5
+ source-map: 0.5.7
+ vlq: 1.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /metro-symbolicate@0.82.5:
+ resolution: {integrity: sha512-1u+07gzrvYDJ/oNXuOG1EXSvXZka/0JSW1q2EYBWerVKMOhvv9JzDGyzmuV7hHbF2Hg3T3S2uiM36sLz1qKsiw==}
+ engines: {node: '>=18.18'}
+ hasBin: true
+ dependencies:
+ flow-enums-runtime: 0.0.6
+ invariant: 2.2.4
+ metro-source-map: 0.82.5
+ nullthrows: 1.1.1
+ source-map: 0.5.7
+ vlq: 1.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /metro-transform-plugins@0.82.5:
+ resolution: {integrity: sha512-57Bqf3rgq9nPqLrT2d9kf/2WVieTFqsQ6qWHpEng5naIUtc/Iiw9+0bfLLWSAw0GH40iJ4yMjFcFJDtNSYynMA==}
+ engines: {node: '>=18.18'}
+ dependencies:
+ '@babel/core': 7.28.0
+ '@babel/generator': 7.28.0
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.28.0
+ flow-enums-runtime: 0.0.6
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /metro-transform-worker@0.82.5:
+ resolution: {integrity: sha512-mx0grhAX7xe+XUQH6qoHHlWedI8fhSpDGsfga7CpkO9Lk9W+aPitNtJWNGrW8PfjKEWbT9Uz9O50dkI8bJqigw==}
+ engines: {node: '>=18.18'}
+ dependencies:
+ '@babel/core': 7.28.0
+ '@babel/generator': 7.28.0
+ '@babel/parser': 7.28.0
+ '@babel/types': 7.28.2
+ flow-enums-runtime: 0.0.6
+ metro: 0.82.5
+ metro-babel-transformer: 0.82.5
+ metro-cache: 0.82.5
+ metro-cache-key: 0.82.5
+ metro-minify-terser: 0.82.5
+ metro-source-map: 0.82.5
+ metro-transform-plugins: 0.82.5
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ /metro@0.82.5:
+ resolution: {integrity: sha512-8oAXxL7do8QckID/WZEKaIFuQJFUTLzfVcC48ghkHhNK2RGuQq8Xvf4AVd+TUA0SZtX0q8TGNXZ/eba1ckeGCg==}
+ engines: {node: '>=18.18'}
+ hasBin: true
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/core': 7.28.0
+ '@babel/generator': 7.28.0
+ '@babel/parser': 7.28.0
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.28.0
+ '@babel/types': 7.28.2
+ accepts: 1.3.8
+ chalk: 4.1.2
+ ci-info: 2.0.0
+ connect: 3.7.0
+ debug: 4.4.1(supports-color@8.1.1)
+ error-stack-parser: 2.1.4
+ flow-enums-runtime: 0.0.6
+ graceful-fs: 4.2.11
+ hermes-parser: 0.29.1
+ image-size: 1.2.1
+ invariant: 2.2.4
+ jest-worker: 29.7.0
+ jsc-safe-url: 0.2.4
+ lodash.throttle: 4.1.1
+ metro-babel-transformer: 0.82.5
+ metro-cache: 0.82.5
+ metro-cache-key: 0.82.5
+ metro-config: 0.82.5
+ metro-core: 0.82.5
+ metro-file-map: 0.82.5
+ metro-resolver: 0.82.5
+ metro-runtime: 0.82.5
+ metro-source-map: 0.82.5
+ metro-symbolicate: 0.82.5
+ metro-transform-plugins: 0.82.5
+ metro-transform-worker: 0.82.5
+ mime-types: 2.1.35
+ nullthrows: 1.1.1
+ serialize-error: 2.1.0
+ source-map: 0.5.7
+ throat: 5.0.0
+ ws: 7.5.10
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
/micro@9.3.5-canary.3:
resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==}
engines: {node: '>= 8.0.0'}
@@ -37012,6 +36939,11 @@ packages:
brorand: 1.1.0
dev: true
+ /mime-db@1.33.0:
+ resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
/mime-db@1.52.0:
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
engines: {node: '>= 0.6'}
@@ -37020,6 +36952,13 @@ packages:
resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==}
engines: {node: '>= 0.6'}
+ /mime-types@2.1.18:
+ resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-db: 1.33.0
+ dev: true
+
/mime-types@2.1.35:
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
engines: {node: '>= 0.6'}
@@ -37230,6 +37169,13 @@ packages:
minipass: 3.3.6
yallist: 4.0.0
+ /minizlib@3.0.2:
+ resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==}
+ engines: {node: '>= 18'}
+ dependencies:
+ minipass: 7.1.2
+ dev: true
+
/mixin-deep@1.3.2:
resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==}
engines: {node: '>=0.10.0'}
@@ -37253,10 +37199,16 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ /mkdirp@3.0.1:
+ resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dev: true
+
/mlly@1.6.1:
resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==}
dependencies:
- acorn: 8.14.0
+ acorn: 8.15.0
pathe: 1.1.2
pkg-types: 1.3.1
ufo: 1.5.4
@@ -37265,7 +37217,7 @@ packages:
/mlly@1.7.2:
resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==}
dependencies:
- acorn: 8.14.0
+ acorn: 8.15.0
pathe: 1.1.2
pkg-types: 1.3.1
ufo: 1.5.4
@@ -37274,7 +37226,7 @@ packages:
/mlly@1.7.4:
resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==}
dependencies:
- acorn: 8.14.0
+ acorn: 8.15.0
pathe: 2.0.3
pkg-types: 1.3.1
ufo: 1.5.4
@@ -37400,6 +37352,11 @@ packages:
dev: true
optional: true
+ /nano-spawn@0.2.1:
+ resolution: {integrity: sha512-/pULofvsF8mOVcl/nUeVXL/GYOEvc7eJWSIxa+K4OYUolvXa5zwSgevsn4eoHs1xvh/BO3vx/PZiD9+Ow2ZVuw==}
+ engines: {node: '>=18.19'}
+ dev: true
+
/nanoid@3.3.11:
resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -37440,7 +37397,7 @@ packages:
mlly: 1.6.1
pkg-types: 1.3.1
pkg-up: 3.1.0
- semver: 7.7.2
+ semver: 7.6.3
transitivePeerDependencies:
- encoding
- supports-color
@@ -37651,6 +37608,10 @@ packages:
lower-case: 2.0.2
tslib: 2.8.1
+ /nocache@3.0.4:
+ resolution: {integrity: sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==}
+ engines: {node: '>=12.0.0'}
+
/node-abort-controller@3.1.1:
resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==}
@@ -37740,7 +37701,6 @@ packages:
/node-int64@0.4.0:
resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
- dev: true
/node-machine-id@1.1.12:
resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==}
@@ -37793,6 +37753,27 @@ packages:
long-timeout: 0.1.1
sorted-array-functions: 1.3.0
+ /node-stream-zip@1.15.0:
+ resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==}
+ engines: {node: '>=0.12.0'}
+
+ /nodemon@3.1.10:
+ resolution: {integrity: sha512-WDjw3pJ0/0jMFmyNDp3gvY2YizjLmmOUQo6DEBY+JgdvW/yQ9mEeSw6H5ythl5Ny2ytb7f9C2nIbjSxMNzbJXw==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ chokidar: 3.6.0
+ debug: 4.4.1(supports-color@5.5.0)
+ ignore-by-default: 1.0.1
+ minimatch: 3.1.2
+ pstree.remy: 1.1.8
+ semver: 7.6.3
+ simple-update-notifier: 2.0.0
+ supports-color: 5.5.0
+ touch: 3.1.1
+ undefsafe: 2.0.5
+ dev: true
+
/nopt@5.0.0:
resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
engines: {node: '>=6'}
@@ -37804,7 +37785,7 @@ packages:
resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
dependencies:
hosted-git-info: 2.8.9
- resolve: 1.22.10
+ resolve: 1.22.8
semver: 5.7.2
validate-npm-package-license: 3.0.4
dev: true
@@ -38101,6 +38082,9 @@ packages:
dependencies:
boolbase: 1.0.0
+ /nullthrows@1.1.1:
+ resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==}
+
/number-precision@1.6.0:
resolution: {integrity: sha512-05OLPgbgmnixJw+VvEh18yNPUo3iyp4BEWJcrLu4X9W05KmMifN7Mu5exYvQXqxxeNWhvIF+j3Rij+HmddM/hQ==}
dev: false
@@ -38248,6 +38232,12 @@ packages:
ufo: 1.5.4
dev: true
+ /ob1@0.82.5:
+ resolution: {integrity: sha512-QyQQ6e66f+Ut/qUVjEce0E/wux5nAGLXYZDn1jr15JWstHsCH3l6VVrg8NKDptW9NEiBXKOJeGF/ydxeSDF3IQ==}
+ engines: {node: '>=18.18'}
+ dependencies:
+ flow-enums-runtime: 0.0.6
+
/object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
@@ -38363,7 +38353,6 @@ packages:
engines: {node: '>= 0.8'}
dependencies:
ee-first: 1.1.1
- dev: true
/on-finished@2.4.1:
resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
@@ -38428,6 +38417,19 @@ packages:
is-inside-container: 1.0.0
is-wsl: 3.1.0
+ /open@6.4.0:
+ resolution: {integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-wsl: 1.1.0
+
+ /open@7.4.2:
+ resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+
/open@8.4.2:
resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
engines: {node: '>=12'}
@@ -38505,7 +38507,6 @@ packages:
log-symbols: 4.1.0
strip-ansi: 6.0.1
wcwidth: 1.0.1
- dev: true
/os-browserify@0.3.0:
resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==}
@@ -38790,13 +38791,12 @@ packages:
dependencies:
error-ex: 1.3.2
json-parse-better-errors: 1.0.2
- dev: true
/parse-json@5.2.0:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
dependencies:
- '@babel/code-frame': 7.25.7
+ '@babel/code-frame': 7.27.1
error-ex: 1.3.2
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
@@ -38903,6 +38903,10 @@ packages:
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
engines: {node: '>=0.10.0'}
+ /path-is-inside@1.0.2:
+ resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==}
+ dev: true
+
/path-key@3.1.1:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
@@ -38949,6 +38953,10 @@ packages:
isarray: 0.0.1
dev: false
+ /path-to-regexp@3.3.0:
+ resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==}
+ dev: true
+
/path-to-regexp@6.1.0:
resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==}
dev: false
@@ -39551,7 +39559,7 @@ packages:
camelcase-css: 2.0.1
postcss: 8.4.47
- /postcss-load-config@3.1.4(postcss@8.4.38):
+ /postcss-load-config@3.1.4(postcss@8.4.38)(ts-node@10.9.1):
resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
engines: {node: '>= 10'}
peerDependencies:
@@ -39565,10 +39573,11 @@ packages:
dependencies:
lilconfig: 2.1.0
postcss: 8.4.38
+ ts-node: 10.9.1(@swc/core@1.7.26)(@types/node@18.16.9)(typescript@5.8.3)
yaml: 1.10.2
dev: true
- /postcss-load-config@4.0.2(postcss@8.4.38):
+ /postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.1):
resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
engines: {node: '>= 14'}
peerDependencies:
@@ -39582,10 +39591,11 @@ packages:
dependencies:
lilconfig: 3.1.2
postcss: 8.4.38
+ ts-node: 10.9.1(@swc/core@1.7.26)(@types/node@18.16.9)(typescript@5.8.3)
yaml: 2.5.1
dev: true
- /postcss-load-config@4.0.2(postcss@8.4.47):
+ /postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.1):
resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
engines: {node: '>= 14'}
peerDependencies:
@@ -39599,6 +39609,7 @@ packages:
dependencies:
lilconfig: 3.1.2
postcss: 8.4.47
+ ts-node: 10.9.1(@swc/core@1.7.26)(@types/node@18.16.9)(typescript@5.8.3)
yaml: 2.5.1
/postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.4.38):
@@ -40668,6 +40679,15 @@ packages:
lodash: 4.17.21
renderkid: 3.0.0
+ /pretty-format@26.6.2:
+ resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==}
+ engines: {node: '>= 10'}
+ dependencies:
+ '@jest/types': 26.6.2
+ ansi-regex: 5.0.1
+ ansi-styles: 4.3.0
+ react-is: 17.0.2
+
/pretty-format@27.5.1:
resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
@@ -40736,6 +40756,11 @@ packages:
asap: 2.0.6
dev: true
+ /promise@8.3.0:
+ resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==}
+ dependencies:
+ asap: 2.0.6
+
/promisepipe@3.0.0:
resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==}
dev: false
@@ -40746,7 +40771,6 @@ packages:
dependencies:
kleur: 3.0.3
sisteransi: 1.0.5
- dev: true
/prop-types@15.8.1:
resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
@@ -40804,6 +40828,10 @@ packages:
resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
dev: true
+ /pstree.remy@1.1.8:
+ resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==}
+ dev: true
+
/public-encrypt@4.0.3:
resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==}
dependencies:
@@ -40995,6 +41023,11 @@ packages:
/queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ /queue@6.0.2:
+ resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==}
+ dependencies:
+ inherits: 2.0.4
+
/quick-format-unescaped@4.0.4:
resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==}
@@ -41045,6 +41078,11 @@ packages:
safe-buffer: 5.2.1
dev: true
+ /range-parser@1.2.0:
+ resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
/range-parser@1.2.1:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
engines: {node: '>= 0.6'}
@@ -41088,7 +41126,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
array-tree-filter: 2.1.0
classnames: 2.5.1
rc-select: 14.15.2(react-dom@17.0.2)(react@17.0.2)
@@ -41104,7 +41142,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
array-tree-filter: 2.1.0
classnames: 2.5.1
rc-select: 14.15.2(react-dom@18.3.1)(react@18.3.1)
@@ -41147,7 +41185,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
react: 17.0.2
@@ -41160,7 +41198,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
@@ -41187,7 +41225,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-motion: 2.9.3(react-dom@17.0.2)(react@17.0.2)
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
@@ -41201,7 +41239,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-motion: 2.9.3(react-dom@18.3.1)(react@18.3.1)
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
@@ -41229,7 +41267,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/portal': 1.1.2(react-dom@17.0.2)(react@17.0.2)
classnames: 2.5.1
rc-motion: 2.9.3(react-dom@17.0.2)(react@17.0.2)
@@ -41244,7 +41282,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/portal': 1.1.2(react-dom@18.3.1)(react@18.3.1)
classnames: 2.5.1
rc-motion: 2.9.3(react-dom@18.3.1)(react@18.3.1)
@@ -41273,7 +41311,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/portal': 1.1.2(react-dom@17.0.2)(react@17.0.2)
classnames: 2.5.1
rc-motion: 2.9.3(react-dom@17.0.2)(react@17.0.2)
@@ -41288,7 +41326,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/portal': 1.1.2(react-dom@18.3.1)(react@18.3.1)
classnames: 2.5.1
rc-motion: 2.9.3(react-dom@18.3.1)(react@18.3.1)
@@ -41316,7 +41354,7 @@ packages:
react: '>=16.11.0'
react-dom: '>=16.11.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
'@rc-component/trigger': 2.2.3(react-dom@17.0.2)(react@17.0.2)
classnames: 2.5.1
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
@@ -41330,7 +41368,7 @@ packages:
react: '>=16.11.0'
react-dom: '>=16.11.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
'@rc-component/trigger': 2.2.3(react-dom@18.3.1)(react@18.3.1)
classnames: 2.5.1
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
@@ -41345,7 +41383,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
async-validator: 4.2.5
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
@@ -41372,7 +41410,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/async-validator': 5.0.4
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
react: 17.0.2
@@ -41386,7 +41424,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/async-validator': 5.0.4
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
@@ -41414,7 +41452,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/portal': 1.1.2(react-dom@17.0.2)(react@17.0.2)
classnames: 2.5.1
rc-dialog: 9.5.2(react-dom@17.0.2)(react@17.0.2)
@@ -41430,7 +41468,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/portal': 1.1.2(react-dom@18.3.1)(react@18.3.1)
classnames: 2.5.1
rc-dialog: 9.5.2(react-dom@18.3.1)(react@18.3.1)
@@ -41458,7 +41496,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/mini-decimal': 1.1.0
classnames: 2.5.1
rc-input: 1.5.1(react-dom@17.0.2)(react@17.0.2)
@@ -41473,7 +41511,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/mini-decimal': 1.1.0
classnames: 2.5.1
rc-input: 1.5.1(react-dom@18.3.1)(react@18.3.1)
@@ -41500,7 +41538,7 @@ packages:
react: '>=16.0.0'
react-dom: '>=16.0.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
react: 17.0.2
@@ -41513,7 +41551,7 @@ packages:
react: '>=16.0.0'
react-dom: '>=16.0.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
@@ -41541,7 +41579,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
'@rc-component/trigger': 2.2.3(react-dom@17.0.2)(react@17.0.2)
classnames: 2.5.1
rc-input: 1.5.1(react-dom@17.0.2)(react@17.0.2)
@@ -41558,7 +41596,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
'@rc-component/trigger': 2.2.3(react-dom@18.3.1)(react@18.3.1)
classnames: 2.5.1
rc-input: 1.5.1(react-dom@18.3.1)(react@18.3.1)
@@ -41575,7 +41613,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/trigger': 2.2.3(react-dom@17.0.2)(react@17.0.2)
classnames: 2.5.1
rc-motion: 2.9.3(react-dom@17.0.2)(react@17.0.2)
@@ -41591,7 +41629,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/trigger': 2.2.3(react-dom@18.3.1)(react@18.3.1)
classnames: 2.5.1
rc-motion: 2.9.3(react-dom@18.3.1)(react@18.3.1)
@@ -41622,7 +41660,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
react: 17.0.2
@@ -41635,7 +41673,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
@@ -41662,7 +41700,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-motion: 2.9.3(react-dom@17.0.2)(react@17.0.2)
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
@@ -41677,7 +41715,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-motion: 2.9.3(react-dom@18.3.1)(react@18.3.1)
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
@@ -41729,7 +41767,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
react: 17.0.2
@@ -41742,7 +41780,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
@@ -41787,7 +41825,7 @@ packages:
moment:
optional: true
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/trigger': 2.2.3(react-dom@17.0.2)(react@17.0.2)
classnames: 2.5.1
dayjs: 1.11.13
@@ -41818,7 +41856,7 @@ packages:
moment:
optional: true
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/trigger': 2.2.3(react-dom@18.3.1)(react@18.3.1)
classnames: 2.5.1
dayjs: 1.11.13
@@ -41847,7 +41885,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
react: 17.0.2
@@ -41860,7 +41898,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
@@ -41874,7 +41912,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
react: 17.0.2
@@ -41888,7 +41926,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
@@ -41954,7 +41992,7 @@ packages:
react: '>=16.0.0'
react-dom: '>=16.0.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-motion: 2.9.3(react-dom@17.0.2)(react@17.0.2)
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
@@ -41968,7 +42006,7 @@ packages:
react: '>=16.0.0'
react-dom: '>=16.0.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-motion: 2.9.3(react-dom@18.3.1)(react@18.3.1)
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
@@ -42000,7 +42038,7 @@ packages:
react: '*'
react-dom: '*'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/trigger': 2.2.3(react-dom@17.0.2)(react@17.0.2)
classnames: 2.5.1
rc-motion: 2.9.3(react-dom@17.0.2)(react@17.0.2)
@@ -42018,7 +42056,7 @@ packages:
react: '*'
react-dom: '*'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/trigger': 2.2.3(react-dom@18.3.1)(react@18.3.1)
classnames: 2.5.1
rc-motion: 2.9.3(react-dom@18.3.1)(react@18.3.1)
@@ -42050,7 +42088,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
react: 17.0.2
@@ -42064,7 +42102,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
@@ -42091,7 +42129,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
react: 17.0.2
@@ -42105,7 +42143,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
@@ -42130,7 +42168,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
react: 17.0.2
@@ -42143,7 +42181,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
@@ -42172,7 +42210,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/context': 1.4.0(react-dom@17.0.2)(react@17.0.2)
classnames: 2.5.1
rc-resize-observer: 1.4.0(react-dom@17.0.2)(react@17.0.2)
@@ -42189,7 +42227,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
'@rc-component/context': 1.4.0(react-dom@18.3.1)(react@18.3.1)
classnames: 2.5.1
rc-resize-observer: 1.4.0(react-dom@18.3.1)(react@18.3.1)
@@ -42223,7 +42261,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-dropdown: 4.2.0(react-dom@17.0.2)(react@17.0.2)
rc-menu: 9.14.1(react-dom@17.0.2)(react@17.0.2)
@@ -42241,7 +42279,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-dropdown: 4.2.0(react-dom@18.3.1)(react@18.3.1)
rc-menu: 9.14.1(react-dom@18.3.1)(react@18.3.1)
@@ -42272,7 +42310,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-input: 1.5.1(react-dom@17.0.2)(react@17.0.2)
rc-resize-observer: 1.4.0(react-dom@17.0.2)(react@17.0.2)
@@ -42287,7 +42325,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-input: 1.5.1(react-dom@18.3.1)(react@18.3.1)
rc-resize-observer: 1.4.0(react-dom@18.3.1)(react@18.3.1)
@@ -42314,7 +42352,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
'@rc-component/trigger': 2.2.3(react-dom@17.0.2)(react@17.0.2)
classnames: 2.5.1
react: 17.0.2
@@ -42327,7 +42365,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
'@rc-component/trigger': 2.2.3(react-dom@18.3.1)(react@18.3.1)
classnames: 2.5.1
react: 18.3.1
@@ -42340,7 +42378,7 @@ packages:
react: '*'
react-dom: '*'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-select: 14.15.2(react-dom@17.0.2)(react@17.0.2)
rc-tree: 5.8.8(react-dom@17.0.2)(react@17.0.2)
@@ -42355,7 +42393,7 @@ packages:
react: '*'
react-dom: '*'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-select: 14.15.2(react-dom@18.3.1)(react@18.3.1)
rc-tree: 5.8.8(react-dom@18.3.1)(react@18.3.1)
@@ -42400,7 +42438,7 @@ packages:
react: '*'
react-dom: '*'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-motion: 2.9.3(react-dom@17.0.2)(react@17.0.2)
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
@@ -42416,7 +42454,7 @@ packages:
react: '*'
react-dom: '*'
dependencies:
- '@babel/runtime': 7.25.6
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-motion: 2.9.3(react-dom@18.3.1)(react@18.3.1)
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
@@ -42458,7 +42496,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@17.0.2)(react@17.0.2)
react: 17.0.2
@@ -42471,7 +42509,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
classnames: 2.5.1
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
@@ -42558,6 +42596,15 @@ packages:
tween-functions: 1.2.0
dev: true
+ /react-devtools-core@6.1.5:
+ resolution: {integrity: sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA==}
+ dependencies:
+ shell-quote: 1.8.1
+ ws: 7.5.10
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+
/react-docgen-typescript@2.2.2(typescript@5.0.4):
resolution: {integrity: sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==}
peerDependencies:
@@ -42579,8 +42626,8 @@ packages:
engines: {node: '>=12.0.0'}
hasBin: true
dependencies:
- '@babel/core': 7.26.10
- '@babel/generator': 7.27.1
+ '@babel/core': 7.28.0
+ '@babel/generator': 7.28.0
ast-types: 0.14.2
commander: 2.20.3
doctrine: 3.0.0
@@ -42657,12 +42704,12 @@ packages:
scheduler: 0.26.0
dev: false
- /react-dom@19.1.1(react@19.1.1):
+ /react-dom@19.1.1(react@19.1.0):
resolution: {integrity: sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==}
peerDependencies:
react: ^19.1.1
dependencies:
- react: 19.1.1
+ react: 19.1.0
scheduler: 0.26.0
dev: false
@@ -42685,7 +42732,7 @@ packages:
peerDependencies:
react: '>=16.13.1'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
react: 18.3.1
dev: true
@@ -42694,7 +42741,7 @@ packages:
peerDependencies:
react: '>=16.13.1'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
react: 18.3.1
dev: false
@@ -42703,7 +42750,7 @@ packages:
peerDependencies:
react: '>=16.13.1'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
react: 18.3.1
dev: false
@@ -42753,14 +42800,72 @@ packages:
/react-is@18.3.1:
resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
+ /react-is@19.1.1:
+ resolution: {integrity: sha512-tr41fA15Vn8p4X9ntI+yCyeGSf1TlYaY5vlTZfQmeLBrFo3psOPX6HhTDnFNL9uj3EhP0KAQ80cugCl4b4BERA==}
+ dev: true
+
/react-lazy-with-preload@2.2.1:
resolution: {integrity: sha512-ONSb8gizLE5jFpdHAclZ6EAAKuFX2JydnFXPPPjoUImZlLjGtKzyBS8SJgJq7CpLgsGKh9QCZdugJyEEOVC16Q==}
dev: false
+ /react-native@0.80.0(@babel/core@7.28.0)(@react-native-community/cli@19.1.1)(@types/react@19.1.8)(react@19.1.0):
+ resolution: {integrity: sha512-b9K1ygb2MWCBtKAodKmE3UsbUuC29Pt4CrJMR0ocTA8k+8HJQTPleBPDNKL4/p0P01QO9aL/gZUddoxHempLow==}
+ engines: {node: '>=18'}
+ hasBin: true
+ peerDependencies:
+ '@types/react': ^19.1.0
+ react: ^19.1.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@jest/create-cache-key-function': 29.7.0
+ '@react-native/assets-registry': 0.80.0
+ '@react-native/codegen': 0.80.0(@babel/core@7.28.0)
+ '@react-native/community-cli-plugin': 0.80.0(@react-native-community/cli@19.1.1)
+ '@react-native/gradle-plugin': 0.80.0
+ '@react-native/js-polyfills': 0.80.0
+ '@react-native/normalize-colors': 0.80.0
+ '@react-native/virtualized-lists': 0.80.0(@types/react@19.1.8)(react-native@0.80.0)(react@19.1.0)
+ '@types/react': 19.1.8
+ abort-controller: 3.0.0
+ anser: 1.4.10
+ ansi-regex: 5.0.1
+ babel-jest: 29.7.0(@babel/core@7.28.0)
+ babel-plugin-syntax-hermes-parser: 0.28.1
+ base64-js: 1.5.1
+ chalk: 4.1.2
+ commander: 12.1.0
+ flow-enums-runtime: 0.0.6
+ glob: 7.2.0
+ invariant: 2.2.4
+ jest-environment-node: 29.7.0
+ memoize-one: 5.2.1
+ metro-runtime: 0.82.5
+ metro-source-map: 0.82.5
+ nullthrows: 1.1.1
+ pretty-format: 29.7.0
+ promise: 8.3.0
+ react: 19.1.0
+ react-devtools-core: 6.1.5
+ react-refresh: 0.14.2
+ regenerator-runtime: 0.13.11
+ scheduler: 0.26.0
+ semver: 7.6.3
+ stacktrace-parser: 0.1.11
+ whatwg-fetch: 3.6.20
+ ws: 6.2.3
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - '@babel/core'
+ - '@react-native-community/cli'
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
/react-refresh@0.14.2:
resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
engines: {node: '>=0.10.0'}
- dev: true
/react-refresh@0.16.0:
resolution: {integrity: sha512-FPvF2XxTSikpJxcr+bHut2H4gJ17+18Uy20D5/F+SKzFap62R3cM5wH6b8WN3LyGSYeQilLEcJcR1fjBSI2S1A==}
@@ -42811,7 +42916,7 @@ packages:
peerDependencies:
react: '>=15'
dependencies:
- '@babel/runtime': 7.25.7
+ '@babel/runtime': 7.28.2
history: 4.10.1
loose-envify: 1.4.0
prop-types: 15.8.1
@@ -42826,7 +42931,7 @@ packages:
peerDependencies:
react: '>=15'
dependencies:
- '@babel/runtime': 7.25.7
+ '@babel/runtime': 7.28.2
history: 4.10.1
loose-envify: 1.4.0
prop-types: 15.8.1
@@ -42887,7 +42992,7 @@ packages:
react-dom: 18.3.1(react@18.3.1)
react-router: 6.27.0(react@18.3.1)
- /react-router-dom@6.30.1(react-dom@19.1.1)(react@19.1.1):
+ /react-router-dom@6.30.1(react-dom@19.1.1)(react@19.1.0):
resolution: {integrity: sha512-llKsgOkZdbPU1Eg3zK8lCn+sjD9wMRZZPuzmdWWX5SUs8OFkN5HnFVC0u5KMeMaC9aoancFI/KoLuKPqN+hxHw==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -42895,9 +43000,9 @@ packages:
react-dom: '>=16.8'
dependencies:
'@remix-run/router': 1.23.0
- react: 19.1.1
- react-dom: 19.1.1(react@19.1.1)
- react-router: 6.30.1(react@19.1.1)
+ react: 19.1.0
+ react-dom: 19.1.1(react@19.1.0)
+ react-router: 6.30.1(react@19.1.0)
dev: false
/react-router@5.3.4(react@17.0.2):
@@ -42905,7 +43010,7 @@ packages:
peerDependencies:
react: '>=15'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
history: 4.10.1
hoist-non-react-statics: 3.3.2
loose-envify: 1.4.0
@@ -42922,7 +43027,7 @@ packages:
peerDependencies:
react: '>=15'
dependencies:
- '@babel/runtime': 7.26.0
+ '@babel/runtime': 7.28.2
history: 4.10.1
hoist-non-react-statics: 3.3.2
loose-envify: 1.4.0
@@ -42983,14 +43088,14 @@ packages:
'@remix-run/router': 1.20.0
react: 18.3.1
- /react-router@6.30.1(react@19.1.1):
+ /react-router@6.30.1(react@19.1.0):
resolution: {integrity: sha512-X1m21aEmxGXqENEPG3T6u0Th7g0aS4ZmoNynhbs+Cn+q+QGTLt+d5IQ2bHAXKzKcxGJjxACpVbnYQSCRcfxHlQ==}
engines: {node: '>=14.0.0'}
peerDependencies:
react: '>=16.8'
dependencies:
'@remix-run/router': 1.23.0
- react: 19.1.1
+ react: 19.1.0
dev: false
/react-shadow@20.5.0(prop-types@15.8.1)(react-dom@17.0.2)(react@17.0.2):
@@ -43051,6 +43156,16 @@ packages:
scheduler: 0.23.2
dev: true
+ /react-test-renderer@19.1.0(react@19.1.0):
+ resolution: {integrity: sha512-jXkSl3CpvPYEF+p/eGDLB4sPoDX8pKkYvRl9+rR8HxLY0X04vW7hCm1/0zHoUSjPZ3bDa+wXWNTDVIw/R8aDVw==}
+ peerDependencies:
+ react: ^19.1.0
+ dependencies:
+ react: 19.1.0
+ react-is: 19.1.1
+ scheduler: 0.26.0
+ dev: true
+
/react-transition-group@4.4.5(react-dom@18.3.1)(react@18.3.1):
resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==}
peerDependencies:
@@ -43091,12 +43206,6 @@ packages:
/react@19.1.0:
resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==}
engines: {node: '>=0.10.0'}
- dev: false
-
- /react@19.1.1:
- resolution: {integrity: sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==}
- engines: {node: '>=0.10.0'}
- dev: false
/reactflow@11.11.4(@types/react@18.2.79)(react-dom@18.3.1)(react@18.3.1):
resolution: {integrity: sha512-70FOtJkUWH3BAOsN+LU9lCrKoKbtOPnz2uq0CV2PLdNSwxTXOhCbsZr50GmZ+Rtw3jx8Uv7/vBFtCGixLfd4Og==}
@@ -43347,14 +43456,12 @@ packages:
/regenerate@1.4.2:
resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
+ /regenerator-runtime@0.13.11:
+ resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
+
/regenerator-runtime@0.14.1:
resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
- /regenerator-transform@0.15.2:
- resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
- dependencies:
- '@babel/runtime': 7.28.2
-
/regex-not@1.0.2:
resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==}
engines: {node: '>=0.10.0'}
@@ -43395,17 +43502,6 @@ packages:
engines: {node: '>=8'}
dev: true
- /regexpu-core@6.1.1:
- resolution: {integrity: sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==}
- engines: {node: '>=4'}
- dependencies:
- regenerate: 1.4.2
- regenerate-unicode-properties: 10.2.0
- regjsgen: 0.8.0
- regjsparser: 0.11.1
- unicode-match-property-ecmascript: 2.0.0
- unicode-match-property-value-ecmascript: 2.2.0
-
/regexpu-core@6.2.0:
resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==}
engines: {node: '>=4'}
@@ -43417,6 +43513,13 @@ packages:
unicode-match-property-ecmascript: 2.0.0
unicode-match-property-value-ecmascript: 2.2.0
+ /registry-auth-token@3.3.2:
+ resolution: {integrity: sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==}
+ dependencies:
+ rc: 1.2.8
+ safe-buffer: 5.2.1
+ dev: true
+
/registry-auth-token@5.0.2:
resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==}
engines: {node: '>=14'}
@@ -43431,15 +43534,16 @@ packages:
'@pnpm/npm-conf': 2.3.1
dev: true
+ /registry-url@3.1.0:
+ resolution: {integrity: sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ rc: 1.2.8
+ dev: true
+
/regjsgen@0.8.0:
resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==}
- /regjsparser@0.11.1:
- resolution: {integrity: sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ==}
- hasBin: true
- dependencies:
- jsesc: 3.0.2
-
/regjsparser@0.12.0:
resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==}
hasBin: true
@@ -43648,6 +43752,9 @@ packages:
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
engines: {node: '>=0.10.0'}
+ /require-main-filename@2.0.0:
+ resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
+
/require-relative@0.8.7:
resolution: {integrity: sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==}
dev: true
@@ -43679,6 +43786,10 @@ packages:
expand-tilde: 2.0.2
global-modules: 1.0.0
+ /resolve-from@3.0.0:
+ resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==}
+ engines: {node: '>=4'}
+
/resolve-from@4.0.0:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
@@ -43838,7 +43949,7 @@ packages:
rollup: 4.24.0
dev: false
- /rollup-plugin-postcss@4.0.2(postcss@8.4.38):
+ /rollup-plugin-postcss@4.0.2(postcss@8.4.38)(ts-node@10.9.1):
resolution: {integrity: sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w==}
engines: {node: '>=10'}
peerDependencies:
@@ -43851,7 +43962,7 @@ packages:
p-queue: 6.6.2
pify: 5.0.0
postcss: 8.4.38
- postcss-load-config: 3.1.4(postcss@8.4.38)
+ postcss-load-config: 3.1.4(postcss@8.4.38)(ts-node@10.9.1)
postcss-modules: 4.3.1(postcss@8.4.38)
promise.series: 0.2.0
resolve: 1.22.8
@@ -44710,7 +44821,6 @@ packages:
/scheduler@0.26.0:
resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==}
- dev: false
/schema-utils@3.3.0:
resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
@@ -44884,6 +44994,7 @@ packages:
resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
engines: {node: '>=10'}
hasBin: true
+ dev: true
/send@0.19.0:
resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
@@ -44924,11 +45035,27 @@ packages:
- supports-color
dev: true
+ /serialize-error@2.1.0:
+ resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==}
+ engines: {node: '>=0.10.0'}
+
/serialize-javascript@6.0.2:
resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
dependencies:
randombytes: 2.1.0
+ /serve-handler@6.1.6:
+ resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==}
+ dependencies:
+ bytes: 3.0.0
+ content-disposition: 0.5.2
+ mime-types: 2.1.18
+ minimatch: 3.1.2
+ path-is-inside: 1.0.2
+ path-to-regexp: 3.3.0
+ range-parser: 1.2.0
+ dev: true
+
/serve-index@1.9.1:
resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==}
engines: {node: '>= 0.8.0'}
@@ -44954,6 +45081,26 @@ packages:
transitivePeerDependencies:
- supports-color
+ /serve@14.2.4:
+ resolution: {integrity: sha512-qy1S34PJ/fcY8gjVGszDB3EXiPSk5FKhUa7tQe0UPRddxRidc2V6cNHPNewbE1D7MAkgLuWEt3Vw56vYy73tzQ==}
+ engines: {node: '>= 14'}
+ hasBin: true
+ dependencies:
+ '@zeit/schemas': 2.36.0
+ ajv: 8.12.0
+ arg: 5.0.2
+ boxen: 7.0.0
+ chalk: 5.0.1
+ chalk-template: 0.4.0
+ clipboardy: 3.0.0
+ compression: 1.7.4
+ is-port-reachable: 4.0.0
+ serve-handler: 6.1.6
+ update-check: 1.5.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/server-only@0.0.1:
resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==}
dev: false
@@ -45196,6 +45343,13 @@ packages:
is-arrayish: 0.3.2
dev: false
+ /simple-update-notifier@2.0.0:
+ resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==}
+ engines: {node: '>=10'}
+ dependencies:
+ semver: 7.6.3
+ dev: true
+
/sirv@2.0.4:
resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
engines: {node: '>= 10'}
@@ -45228,6 +45382,14 @@ packages:
engines: {node: '>=14.16'}
dev: true
+ /slice-ansi@2.1.0:
+ resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ ansi-styles: 3.2.1
+ astral-regex: 1.0.0
+ is-fullwidth-code-point: 2.0.0
+
/slice-ansi@3.0.0:
resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==}
engines: {node: '>=8'}
@@ -45543,7 +45705,6 @@ packages:
engines: {node: '>=10'}
dependencies:
escape-string-regexp: 2.0.0
- dev: true
/stackback@0.0.2:
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
@@ -45552,6 +45713,12 @@ packages:
/stackframe@1.3.4:
resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
+ /stacktrace-parser@0.1.11:
+ resolution: {integrity: sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==}
+ engines: {node: '>=6'}
+ dependencies:
+ type-fest: 0.7.1
+
/stat-mode@0.3.0:
resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==}
dev: false
@@ -45880,6 +46047,10 @@ packages:
strip-ansi: 6.0.1
dev: true
+ /string-natural-compare@3.0.1:
+ resolution: {integrity: sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==}
+ dev: true
+
/string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
@@ -45989,6 +46160,12 @@ packages:
ansi-regex: 2.1.1
dev: true
+ /strip-ansi@5.2.0:
+ resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==}
+ engines: {node: '>=6'}
+ dependencies:
+ ansi-regex: 4.1.1
+
/strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
@@ -46060,7 +46237,7 @@ packages:
/strip-literal@1.3.0:
resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==}
dependencies:
- acorn: 8.14.0
+ acorn: 8.15.0
dev: true
/strip-literal@2.1.0:
@@ -46069,6 +46246,9 @@ packages:
js-tokens: 9.0.0
dev: true
+ /strnum@1.1.2:
+ resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==}
+
/strtok3@9.1.1:
resolution: {integrity: sha512-FhwotcEqjr241ZbjFzjlIYg6c5/L/s4yBGWSMvJ9UoExiSqL+FnFA/CaeZx17WGaZMS/4SOZp8wH18jSS4R4lw==}
engines: {node: '>=16'}
@@ -46467,7 +46647,7 @@ packages:
wordwrapjs: 4.0.1
dev: true
- /tailwindcss@3.4.13:
+ /tailwindcss@3.4.13(ts-node@10.9.1):
resolution: {integrity: sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==}
engines: {node: '>=14.0.0'}
hasBin: true
@@ -46489,7 +46669,7 @@ packages:
postcss: 8.4.47
postcss-import: 15.1.0(postcss@8.4.47)
postcss-js: 4.0.1(postcss@8.4.47)
- postcss-load-config: 4.0.2(postcss@8.4.47)
+ postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.1)
postcss-nested: 6.2.0(postcss@8.4.47)
postcss-selector-parser: 6.1.2
resolve: 1.22.8
@@ -46498,7 +46678,7 @@ packages:
- ts-node
dev: true
- /tailwindcss@3.4.3:
+ /tailwindcss@3.4.3(ts-node@10.9.1):
resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==}
engines: {node: '>=14.0.0'}
hasBin: true
@@ -46520,7 +46700,7 @@ packages:
postcss: 8.4.47
postcss-import: 15.1.0(postcss@8.4.47)
postcss-js: 4.0.1(postcss@8.4.47)
- postcss-load-config: 4.0.2(postcss@8.4.47)
+ postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.1)
postcss-nested: 6.2.0(postcss@8.4.47)
postcss-selector-parser: 6.1.2
resolve: 1.22.8
@@ -46582,6 +46762,18 @@ packages:
mkdirp: 1.0.4
yallist: 4.0.0
+ /tar@7.4.3:
+ resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==}
+ engines: {node: '>=18'}
+ dependencies:
+ '@isaacs/fs-minipass': 4.0.1
+ chownr: 3.0.0
+ minipass: 7.1.2
+ minizlib: 3.0.2
+ mkdirp: 3.0.1
+ yallist: 5.0.0
+ dev: true
+
/tcp-port-used@1.0.2:
resolution: {integrity: sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==}
dependencies:
@@ -46992,7 +47184,6 @@ packages:
'@istanbuljs/schema': 0.1.3
glob: 7.2.0
minimatch: 3.1.2
- dev: true
/text-decoder@1.2.3:
resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==}
@@ -47031,6 +47222,9 @@ packages:
dependencies:
real-require: 0.2.0
+ /throat@5.0.0:
+ resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==}
+
/throttle-debounce@5.0.2:
resolution: {integrity: sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==}
engines: {node: '>=12.22'}
@@ -47151,12 +47345,6 @@ packages:
/tmpl@1.0.5:
resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
- dev: true
-
- /to-fast-properties@2.0.0:
- resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
- engines: {node: '>=4'}
- dev: true
/to-object-path@0.3.0:
resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==}
@@ -47222,6 +47410,11 @@ packages:
engines: {node: '>=6'}
dev: true
+ /touch@3.1.1:
+ resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==}
+ hasBin: true
+ dev: true
+
/tough-cookie@4.1.4:
resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==}
engines: {node: '>=6'}
@@ -47289,6 +47482,15 @@ packages:
/trough@2.2.0:
resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
+ /ts-api-utils@1.3.0(typescript@5.0.4):
+ resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ typescript: '>=4.2.0'
+ dependencies:
+ typescript: 5.0.4
+ dev: true
+
/ts-api-utils@1.3.0(typescript@5.4.5):
resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
engines: {node: '>=16'}
@@ -47430,7 +47632,7 @@ packages:
bs-logger: 0.2.6
esbuild: 0.25.0
fast-json-stable-stringify: 2.1.0
- jest: 29.7.0(@types/node@17.0.45)
+ jest: 29.7.0(@types/node@17.0.45)(ts-node@10.9.1)
jest-util: 29.7.0
json5: 2.2.3
lodash.memoize: 4.1.2
@@ -47469,7 +47671,7 @@ packages:
bs-logger: 0.2.6
esbuild: 0.25.0
fast-json-stable-stringify: 2.1.0
- jest: 29.7.0(@types/node@18.16.9)
+ jest: 29.7.0(@types/node@18.16.9)(ts-node@10.9.1)
jest-util: 29.7.0
json5: 2.2.3
lodash.memoize: 4.1.2
@@ -47489,7 +47691,7 @@ packages:
chalk: 4.1.2
enhanced-resolve: 5.18.2
micromatch: 4.0.8
- semver: 7.7.2
+ semver: 7.6.3
typescript: 5.0.4
webpack: 5.99.9(@swc/core@1.11.31)(esbuild@0.25.5)(webpack-cli@5.1.4)
dev: true
@@ -47504,7 +47706,7 @@ packages:
chalk: 4.1.2
enhanced-resolve: 5.18.2
micromatch: 4.0.8
- semver: 7.7.2
+ semver: 7.6.3
typescript: 5.5.2
webpack: 5.99.9(@swc/core@1.11.31)(esbuild@0.25.5)(webpack-cli@5.1.4)
dev: true
@@ -47569,7 +47771,7 @@ packages:
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
'@types/node': 14.18.33
- acorn: 8.14.0
+ acorn: 8.15.0
acorn-walk: 8.3.4
arg: 4.1.3
create-require: 1.1.1
@@ -47580,6 +47782,37 @@ packages:
yn: 3.1.1
dev: false
+ /ts-node@10.9.1(@swc/core@1.7.26)(@types/node@18.16.9)(typescript@5.8.3):
+ resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
+ hasBin: true
+ peerDependencies:
+ '@swc/core': '>=1.2.50'
+ '@swc/wasm': '>=1.2.50'
+ '@types/node': '*'
+ typescript: '>=2.7'
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ '@swc/wasm':
+ optional: true
+ dependencies:
+ '@cspotcode/source-map-support': 0.8.1
+ '@swc/core': 1.7.26(@swc/helpers@0.5.13)
+ '@tsconfig/node10': 1.0.11
+ '@tsconfig/node12': 1.0.11
+ '@tsconfig/node14': 1.0.3
+ '@tsconfig/node16': 1.0.4
+ '@types/node': 18.16.9
+ acorn: 8.15.0
+ acorn-walk: 8.3.4
+ arg: 4.1.3
+ create-require: 1.1.1
+ diff: 4.0.2
+ make-error: 1.3.6
+ typescript: 5.8.3
+ v8-compile-cache-lib: 3.0.1
+ yn: 3.1.1
+
/ts-node@10.9.1(@swc/core@1.7.26)(@types/node@20.12.14)(typescript@5.4.5):
resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
hasBin: true
@@ -47601,7 +47834,7 @@ packages:
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
'@types/node': 20.12.14
- acorn: 8.14.0
+ acorn: 8.15.0
acorn-walk: 8.3.4
arg: 4.1.3
create-require: 1.1.1
@@ -47633,7 +47866,7 @@ packages:
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
'@types/node': 20.12.14
- acorn: 8.14.0
+ acorn: 8.15.0
acorn-walk: 8.3.4
arg: 4.1.3
create-require: 1.1.1
@@ -47644,6 +47877,43 @@ packages:
yn: 3.1.1
dev: false
+ /ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.12.14)(typescript@5.8.3):
+ resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
+ hasBin: true
+ peerDependencies:
+ '@swc/core': '>=1.2.50'
+ '@swc/wasm': '>=1.2.50'
+ '@types/node': '*'
+ typescript: '>=2.7'
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ '@swc/wasm':
+ optional: true
+ dependencies:
+ '@cspotcode/source-map-support': 0.8.1
+ '@swc/core': 1.7.26(@swc/helpers@0.5.13)
+ '@tsconfig/node10': 1.0.11
+ '@tsconfig/node12': 1.0.11
+ '@tsconfig/node14': 1.0.3
+ '@tsconfig/node16': 1.0.4
+ '@types/node': 20.12.14
+ acorn: 8.15.0
+ acorn-walk: 8.3.4
+ arg: 4.1.3
+ create-require: 1.1.1
+ diff: 4.0.2
+ make-error: 1.3.6
+ typescript: 5.8.3
+ v8-compile-cache-lib: 3.0.1
+ yn: 3.1.1
+ dev: true
+
+ /ts-regex-builder@1.8.2:
+ resolution: {integrity: sha512-Y8HovHFheDKm/jgLIWSO8o81xA/I9O5AGc3/vNG1sVSskatOifr3SQzAsatBXGLjL3nYhQif1MpwQRS5GF8ADg==}
+ engines: {node: '>= 18.0.0'}
+ dev: true
+
/ts-toolbelt@6.15.5:
resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==}
dev: false
@@ -47722,7 +47992,7 @@ packages:
resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==}
engines: {node: '>=0.6.x'}
- /tsup@7.3.0(@swc/core@1.7.26)(postcss@8.4.38)(typescript@5.8.3):
+ /tsup@7.3.0(@swc/core@1.7.26)(postcss@8.4.38)(ts-node@10.9.1)(typescript@5.8.3):
resolution: {integrity: sha512-Ja1eaSRrE+QarmATlNO5fse2aOACYMBX+IZRKy1T+gpyH+jXgRrl5l4nHIQJQ1DoDgEjHDTw8cpE085UdBZuWQ==}
engines: {node: '>=18'}
deprecated: Breaking node 16
@@ -47749,7 +48019,7 @@ packages:
globby: 11.1.0
joycon: 3.1.1
postcss: 8.4.38
- postcss-load-config: 4.0.2(postcss@8.4.38)
+ postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.1)
resolve-from: 5.0.0
rollup: 4.24.0
source-map: 0.8.0-beta.0
@@ -47844,7 +48114,6 @@ packages:
/type-detect@4.0.8:
resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
engines: {node: '>=4'}
- dev: true
/type-detect@4.1.0:
resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==}
@@ -47859,7 +48128,6 @@ packages:
/type-fest@0.20.2:
resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
engines: {node: '>=10'}
- dev: true
/type-fest@0.21.3:
resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
@@ -47871,6 +48139,10 @@ packages:
engines: {node: '>=8'}
dev: true
+ /type-fest@0.7.1:
+ resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==}
+ engines: {node: '>=8'}
+
/type-fest@0.8.1:
resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
engines: {node: '>=8'}
@@ -48007,7 +48279,6 @@ packages:
resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==}
engines: {node: '>=12.20'}
hasBin: true
- dev: true
/typescript@5.4.2:
resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==}
@@ -48087,6 +48358,10 @@ packages:
through: 2.3.8
dev: true
+ /undefsafe@2.0.5:
+ resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==}
+ dev: true
+
/undici-types@5.26.5:
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
@@ -48381,7 +48656,7 @@ packages:
resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==}
engines: {node: '>=14.0.0'}
dependencies:
- acorn: 8.14.0
+ acorn: 8.15.0
webpack-virtual-modules: 0.6.2
dev: true
@@ -48447,6 +48722,13 @@ packages:
escalade: 3.2.0
picocolors: 1.1.1
+ /update-check@1.5.4:
+ resolution: {integrity: sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==}
+ dependencies:
+ registry-auth-token: 3.3.2
+ registry-url: 3.1.0
+ dev: true
+
/uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
dependencies:
@@ -48604,7 +48886,6 @@ packages:
/v8-compile-cache-lib@3.0.1:
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
- dev: false
/v8-compile-cache@2.4.0:
resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==}
@@ -48614,7 +48895,7 @@ packages:
resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==}
engines: {node: '>=10.12.0'}
dependencies:
- '@jridgewell/trace-mapping': 0.3.25
+ '@jridgewell/trace-mapping': 0.3.29
'@types/istanbul-lib-coverage': 2.0.6
convert-source-map: 2.0.0
dev: true
@@ -49249,6 +49530,9 @@ packages:
- terser
dev: true
+ /vlq@1.0.1:
+ resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==}
+
/vm-browserify@1.1.2:
resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==}
dev: true
@@ -49282,7 +49566,7 @@ packages:
espree: 9.6.1
esquery: 1.6.0
lodash: 4.17.21
- semver: 7.7.2
+ semver: 7.6.3
transitivePeerDependencies:
- supports-color
dev: true
@@ -49437,7 +49721,6 @@ packages:
resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
dependencies:
makeerror: 1.0.12
- dev: true
/watchpack@2.4.2:
resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==}
@@ -49604,7 +49887,7 @@ packages:
bonjour-service: 1.2.1
chokidar: 3.6.0
colorette: 2.0.20
- compression: 1.7.4
+ compression: 1.8.0
connect-history-api-fallback: 2.0.0
express: 4.21.2
graceful-fs: 4.2.11
@@ -50096,7 +50379,7 @@ packages:
'@webassemblyjs/ast': 1.14.1
'@webassemblyjs/wasm-edit': 1.14.1
'@webassemblyjs/wasm-parser': 1.14.1
- acorn: 8.14.0
+ acorn: 8.15.0
browserslist: 4.24.4
chrome-trace-event: 1.0.4
enhanced-resolve: 5.18.2
@@ -50137,7 +50420,7 @@ packages:
'@webassemblyjs/ast': 1.14.1
'@webassemblyjs/wasm-edit': 1.14.1
'@webassemblyjs/wasm-parser': 1.14.1
- acorn: 8.14.0
+ acorn: 8.15.0
browserslist: 4.24.4
chrome-trace-event: 1.0.4
enhanced-resolve: 5.18.2
@@ -50178,7 +50461,7 @@ packages:
'@webassemblyjs/ast': 1.14.1
'@webassemblyjs/wasm-edit': 1.14.1
'@webassemblyjs/wasm-parser': 1.14.1
- acorn: 8.14.0
+ acorn: 8.15.0
browserslist: 4.24.4
chrome-trace-event: 1.0.4
enhanced-resolve: 5.18.2
@@ -50219,7 +50502,7 @@ packages:
'@webassemblyjs/ast': 1.14.1
'@webassemblyjs/wasm-edit': 1.14.1
'@webassemblyjs/wasm-parser': 1.14.1
- acorn: 8.14.0
+ acorn: 8.15.0
browserslist: 4.24.4
chrome-trace-event: 1.0.4
enhanced-resolve: 5.18.2
@@ -50264,7 +50547,6 @@ packages:
/whatwg-fetch@3.6.20:
resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==}
- dev: true
/whatwg-mimetype@3.0.0:
resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==}
@@ -50330,6 +50612,9 @@ packages:
is-weakset: 2.0.3
dev: true
+ /which-module@2.0.1:
+ resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
+
/which-typed-array@1.1.15:
resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
engines: {node: '>= 0.4'}
@@ -50368,6 +50653,13 @@ packages:
dependencies:
string-width: 4.2.3
+ /widest-line@4.0.1:
+ resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==}
+ engines: {node: '>=12'}
+ dependencies:
+ string-width: 5.1.2
+ dev: true
+
/wildcard@2.0.1:
resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==}
@@ -50375,8 +50667,8 @@ packages:
resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==}
engines: {node: '>= 10.0.0'}
dependencies:
- '@babel/parser': 7.27.2
- '@babel/types': 7.27.1
+ '@babel/parser': 7.28.0
+ '@babel/types': 7.28.2
assert-never: 1.3.0
babel-walk: 3.0.0-canary-5
dev: true
@@ -50403,7 +50695,6 @@ packages:
ansi-styles: 4.3.0
string-width: 4.2.3
strip-ansi: 6.0.1
- dev: true
/wrap-ansi@7.0.0:
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
@@ -50447,7 +50738,6 @@ packages:
dependencies:
imurmurhash: 0.1.4
signal-exit: 3.0.7
- dev: true
/ws@6.2.3:
resolution: {integrity: sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==}
@@ -50461,23 +50751,21 @@ packages:
optional: true
dependencies:
async-limiter: 1.0.1
- dev: true
- /ws@8.17.1:
- resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==}
- engines: {node: '>=10.0.0'}
+ /ws@7.5.10:
+ resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==}
+ engines: {node: '>=8.3.0'}
peerDependencies:
bufferutil: ^4.0.1
- utf-8-validate: '>=5.0.2'
+ utf-8-validate: ^5.0.2
peerDependenciesMeta:
bufferutil:
optional: true
utf-8-validate:
optional: true
- dev: false
- /ws@8.18.0:
- resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
+ /ws@8.17.1:
+ resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
@@ -50487,9 +50775,10 @@ packages:
optional: true
utf-8-validate:
optional: true
+ dev: false
- /ws@8.18.3:
- resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==}
+ /ws@8.18.0:
+ resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
@@ -50499,7 +50788,6 @@ packages:
optional: true
utf-8-validate:
optional: true
- dev: true
/xdg-app-paths@5.1.0:
resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==}
@@ -50556,6 +50844,9 @@ packages:
cuint: 0.2.2
dev: true
+ /y18n@4.0.3:
+ resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
+
/y18n@5.0.8:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
@@ -50570,6 +50861,11 @@ packages:
/yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+ /yallist@5.0.0:
+ resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
+ engines: {node: '>=18'}
+ dev: true
+
/yaml@1.10.2:
resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
engines: {node: '>= 6'}
@@ -50589,6 +50885,13 @@ packages:
engines: {node: '>= 14'}
hasBin: true
+ /yargs-parser@18.1.3:
+ resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ camelcase: 5.3.1
+ decamelize: 1.2.0
+
/yargs-parser@20.2.9:
resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
engines: {node: '>=10'}
@@ -50598,6 +50901,22 @@ packages:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'}
+ /yargs@15.4.1:
+ resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
+ engines: {node: '>=8'}
+ dependencies:
+ cliui: 6.0.0
+ decamelize: 1.2.0
+ find-up: 4.1.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ require-main-filename: 2.0.0
+ set-blocking: 2.0.0
+ string-width: 4.2.3
+ which-module: 2.0.1
+ y18n: 4.0.3
+ yargs-parser: 18.1.3
+
/yargs@16.2.0:
resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
engines: {node: '>=10'}
@@ -50659,7 +50978,6 @@ packages:
/yn@3.1.1:
resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
engines: {node: '>=6'}
- dev: false
/yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
diff --git a/project.json b/project.json
new file mode 100644
index 0000000000..523e33cd5c
--- /dev/null
+++ b/project.json
@@ -0,0 +1,14 @@
+{
+ "name": "module-federation",
+ "$schema": "node_modules/nx/schemas/project-schema.json",
+ "targets": {
+ "local-registry": {
+ "executor": "@nx/js:verdaccio",
+ "options": {
+ "port": 4873,
+ "config": ".verdaccio/config.yml",
+ "storage": "tmp/local-registry/storage"
+ }
+ }
+ }
+}