diff --git a/.changeset/config.json b/.changeset/config.json index b5efcc0ec..7f620e3a3 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -21,7 +21,6 @@ "tester-app", "tester-expo", "tester-expo-widget", - "tester-federation", "tester-federation-v2", "metro-compat-test", "website" diff --git a/.changeset/mf-runtime-plugin-options.md b/.changeset/mf-runtime-plugin-options.md new file mode 100644 index 000000000..03ffef5e1 --- /dev/null +++ b/.changeset/mf-runtime-plugin-options.md @@ -0,0 +1,5 @@ +--- +'@callstack/repack': patch +--- + +Keep Module Federation runtime plugins passed as `[path, options]` tuples in `ModuleFederationPluginV2`. They were previously dropped silently. diff --git a/.changeset/reanimated-warning-filter.md b/.changeset/reanimated-warning-filter.md new file mode 100644 index 000000000..09e5906c4 --- /dev/null +++ b/.changeset/reanimated-warning-filter.md @@ -0,0 +1,5 @@ +--- +'@callstack/repack-plugin-reanimated': patch +--- + +Fix `ReanimatedPlugin` not hiding the `setUpTests` / `Critical dependency: require function` warning from Reanimated 4's Jest utilities, whose message is now prefixed with `[Reanimated] `. diff --git a/.changeset/terser-plugin-unpin.md b/.changeset/terser-plugin-unpin.md new file mode 100644 index 000000000..2ae7080e2 --- /dev/null +++ b/.changeset/terser-plugin-unpin.md @@ -0,0 +1,5 @@ +--- +'@callstack/repack': patch +--- + +Depend on `terser-webpack-plugin@^5.6.1` instead of pinning `5.5.0`. diff --git a/.changeset/v6-module-federation-v2.md b/.changeset/v6-module-federation-v2.md new file mode 100644 index 000000000..96e2ec577 --- /dev/null +++ b/.changeset/v6-module-federation-v2.md @@ -0,0 +1,5 @@ +--- +'@callstack/repack': major +--- + +Drop Module Federation V1 and require `@module-federation/enhanced` 2.0 or newer. Removed `ModuleFederationPluginV1` and the `Federated` helpers (`Federated.SHARED_REACT`, `Federated.SHARED_REACT_NATIVE` and `Federated.createRemote` from `@callstack/repack`, `Federated.createURLResolver` and `Federated.importModule` from `@callstack/repack/client`). `Repack.plugins.ModuleFederationPlugin` is now an alias of `ModuleFederationPluginV2`. diff --git a/.changeset/v6-node-22.md b/.changeset/v6-node-22.md new file mode 100644 index 000000000..cb3d88408 --- /dev/null +++ b/.changeset/v6-node-22.md @@ -0,0 +1,10 @@ +--- +'@callstack/repack': major +'@callstack/repack-dev-server': major +'@callstack/repack-init': major +'@callstack/repack-plugin-expo-modules': major +'@callstack/repack-plugin-nativewind': major +'@callstack/repack-plugin-reanimated': major +--- + +Require Node.js 22.12 or newer. Node.js 18 and 20 are no longer supported. diff --git a/.changeset/v6-package-exports-default.md b/.changeset/v6-package-exports-default.md new file mode 100644 index 000000000..00e0e68ff --- /dev/null +++ b/.changeset/v6-package-exports-default.md @@ -0,0 +1,5 @@ +--- +'@callstack/repack': major +--- + +`getResolveOptions()` now enables package exports by default (`enablePackageExports: true`), matching Metro's default since React Native 0.79. Pass `enablePackageExports: false` to keep resolving through main fields only. diff --git a/.changeset/v6-react-native-082.md b/.changeset/v6-react-native-082.md new file mode 100644 index 000000000..21c1e96f6 --- /dev/null +++ b/.changeset/v6-react-native-082.md @@ -0,0 +1,6 @@ +--- +'@callstack/repack': major +'@callstack/repack-dev-server': major +--- + +Require React Native 0.82 or newer with the New Architecture. The native module is now built only as a TurboModule: the legacy architecture Android sources, the `IS_NEW_ARCHITECTURE_ENABLED` build config field and the iOS `RCT_NEW_ARCH_ENABLED` branches were removed, and Android reads the call invoker from `ReactContext` instead of `CatalystInstance`. Also removed code paths for older React Native versions: the pre-0.79 `HMRClient` named exports, the pre-0.79 `DevLoadingView` / `LoadingView` and `AssetSourceResolver` interop, the dev-only `__REACT_NATIVE_MAJOR_VERSION__`, `__REACT_NATIVE_MINOR_VERSION__` and `__REACT_NATIVE_PATCH_VERSION__` globals, `text/plain` symbolication requests, the `enableNewDebugger` dev-middleware experiment, the React Native <= 0.73 Android `CallInvoker` sources and the AGP < 7.3 / pre-0.76 / NDK < 27 Android build branches. The Android library no longer declares its own Android Gradle Plugin classpath and uses `BaseReactPackage`. The iOS pod now uses React Native's `min_ios_version_supported` deployment target instead of iOS 12. diff --git a/.changeset/v6-reanimated-4.md b/.changeset/v6-reanimated-4.md new file mode 100644 index 000000000..2a5f7be5d --- /dev/null +++ b/.changeset/v6-reanimated-4.md @@ -0,0 +1,5 @@ +--- +'@callstack/repack-plugin-reanimated': major +--- + +Require `react-native-reanimated` 4 or newer, since Reanimated 3 doesn't support React Native 0.82. `ReanimatedPlugin` now throws for Reanimated 3, always requires `react-native-worklets`, and only uses `react-native-worklets/plugin`. `reanimated3ModuleRules` was removed; use `reanimated4ModuleRules`. diff --git a/.changeset/v6-remove-deprecated.md b/.changeset/v6-remove-deprecated.md new file mode 100644 index 000000000..e41dce76f --- /dev/null +++ b/.changeset/v6-remove-deprecated.md @@ -0,0 +1,6 @@ +--- +'@callstack/repack': major +'@callstack/repack-plugin-reanimated': major +--- + +Remove APIs deprecated in Re.Pack 5: `ChunksToHermesBytecodePlugin` (use `HermesBytecodePlugin`), `getPublicPath`, the `--webpackConfig` CLI option (use `--config`), the `@callstack/repack/commands/rspack` and `@callstack/repack/commands/webpack` entry points (use `@callstack/repack/commands`), and `reanimatedModuleRules` from `@callstack/repack-plugin-reanimated` (use `reanimated4ModuleRules`). `OutputPlugin` now rejects the no-op `output.bundleFilename`, `output.sourceMapFilename` and `output.assetsPath` options. diff --git a/.github/workflows/test-main-matrix.yml b/.github/workflows/test-main-matrix.yml index a0ebf6171..bfb1f1465 100644 --- a/.github/workflows/test-main-matrix.yml +++ b/.github/workflows/test-main-matrix.yml @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - node_version: ['18', '20', '22', '24', '26'] + node_version: ['22', '24', '26'] os: [ubuntu-latest] steps: diff --git a/AGENTS.md b/AGENTS.md index afc7276ab..08cd0733f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -23,7 +23,6 @@ Re.Pack is a toolkit for building and developing React Native applications with ### Apps - `apps/tester-app/`: Primary manual/integration validation app. -- `apps/tester-federation/`: Module Federation v1 validation app. - `apps/tester-federation-v2/`: Module Federation v2 validation app. ### Tests diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c9c81d5bc..4ef417ae4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,7 +6,7 @@ We want this community to be friendly and respectful to each other. Please read ## Requirements -- Node 20+ (although Node 18 is still supported but has now reached EOL) +- Node 22.12+ (Node 24 recommended, see `mise.toml`) - pnpm 8 (use it via `corepack install`) ## Our Development Process diff --git a/apps/tester-app/__tests__/bundle.test.ts b/apps/tester-app/__tests__/bundle.test.ts index 67d6e637f..79cf16486 100644 --- a/apps/tester-app/__tests__/bundle.test.ts +++ b/apps/tester-app/__tests__/bundle.test.ts @@ -139,7 +139,7 @@ describe('bundle command', () => { entryFile: 'index.js', bundleOutput: bundleOutputPath, dev: false, - webpackConfig: path.join(__dirname, 'configs', configFile), + config: path.join(__dirname, 'configs', configFile), }; // @ts-expect-error diff --git a/apps/tester-app/__tests__/lazy-compilation.test.ts b/apps/tester-app/__tests__/lazy-compilation.test.ts index 3e0192a13..c1ec4d56d 100644 --- a/apps/tester-app/__tests__/lazy-compilation.test.ts +++ b/apps/tester-app/__tests__/lazy-compilation.test.ts @@ -1,6 +1,6 @@ import fs from 'node:fs'; import path from 'node:path'; -import rspackCommands from '@callstack/repack/commands/rspack'; +import commands from '@callstack/repack/commands'; import { MultiCompiler } from '@rspack/core'; import getPort from 'get-port'; import { afterAll, beforeAll, describe, expect, it } from 'vitest'; @@ -11,9 +11,7 @@ let port: number; let stopServer: (() => Promise) | undefined; describe('lazy compilation', () => { - const startCommand = rspackCommands.find( - (command) => command.name === 'start' - ); + const startCommand = commands.find((command) => command.name === 'start'); if (!startCommand) throw new Error('start command not found'); const getStats = (platform: string) => @@ -37,7 +35,7 @@ describe('lazy compilation', () => { // No `platform` arg — both ios and android are configured, // which enables the lazy compilation watchRun gate mechanism. logFile: path.join(TMP_DIR, 'server.log'), - webpackConfig: path.join(__dirname, 'configs', './rspack.config.mjs'), + config: path.join(__dirname, 'configs', './rspack.config.mjs'), }; // @ts-expect-error diff --git a/apps/tester-app/__tests__/start.test.ts b/apps/tester-app/__tests__/start.test.ts index 57cb10801..47912db28 100644 --- a/apps/tester-app/__tests__/start.test.ts +++ b/apps/tester-app/__tests__/start.test.ts @@ -104,7 +104,7 @@ describe('start command', () => { port, platform, logFile: path.join(TMP_DIR, 'server.log'), - webpackConfig: path.join(__dirname, 'configs', configFile), + config: path.join(__dirname, 'configs', configFile), }; // @ts-expect-error diff --git a/apps/tester-app/package.json b/apps/tester-app/package.json index ad9ed2b14..d51ab5e8f 100644 --- a/apps/tester-app/package.json +++ b/apps/tester-app/package.json @@ -61,6 +61,7 @@ "terser-webpack-plugin": "catalog:", "thread-loader": "^4.0.4", "typescript": "catalog:", + "vite": "catalog:", "vitest": "catalog:", "webpack": "catalog:" } diff --git a/apps/tester-federation/.gitignore b/apps/tester-federation/.gitignore deleted file mode 100644 index 1204d234c..000000000 --- a/apps/tester-federation/.gitignore +++ /dev/null @@ -1,61 +0,0 @@ -# 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 -**/.xcode.env.local - -# Android/IntelliJ -# -build/ -.idea -.gradle -local.properties -*.iml -*.hprof -.cxx/ -*.keystore -!debug.keystore - -# 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/ diff --git a/apps/tester-federation/.ruby-version b/apps/tester-federation/.ruby-version deleted file mode 100644 index 7bcbb3808..000000000 --- a/apps/tester-federation/.ruby-version +++ /dev/null @@ -1 +0,0 @@ -3.4.9 diff --git a/apps/tester-federation/Gemfile b/apps/tester-federation/Gemfile deleted file mode 100644 index 28cf44118..000000000 --- a/apps/tester-federation/Gemfile +++ /dev/null @@ -1,21 +0,0 @@ -source 'https://rubygems.org' - -# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version -# -# 3.1 is the floor for activesupport >= 7.2, but 3.4 is the real floor here: -# on Ruby <= 3.3 CocoaPods intermittently dies with "pathname contains null -# byte" while resolving pnpm's symlinked node_modules (CocoaPods#12866). -ruby '>= 3.4' - -# Exclude problematic versions of cocoapods that cause build failures. -# activesupport is floored at the release carrying the security fixes. -gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1' -gem 'activesupport', '>= 7.2.3.1' -gem 'xcodeproj', '< 1.26.0' - -# Ruby 3.4.0 has removed some libraries from the standard library. -gem 'bigdecimal' -gem 'logger' -gem 'benchmark' -gem 'mutex_m' -gem 'nkf' diff --git a/apps/tester-federation/Gemfile.lock b/apps/tester-federation/Gemfile.lock deleted file mode 100644 index cd7e6a9b0..000000000 --- a/apps/tester-federation/Gemfile.lock +++ /dev/null @@ -1,142 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - CFPropertyList (3.0.8) - activesupport (7.2.3.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, < 6) - securerandom (>= 0.3) - tzinfo (~> 2.0, >= 2.0.5) - addressable (2.9.0) - public_suffix (>= 2.0.2, < 8.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.5.0) - bigdecimal (4.1.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.8) - connection_pool (3.0.2) - drb (2.2.3) - escape (0.0.4) - ethon (0.18.0) - ffi (>= 1.15.0) - logger - ffi (1.17.4) - ffi (1.17.4-aarch64-linux-gnu) - ffi (1.17.4-aarch64-linux-musl) - ffi (1.17.4-arm-linux-gnu) - ffi (1.17.4-arm-linux-musl) - ffi (1.17.4-arm64-darwin) - ffi (1.17.4-x86-linux-gnu) - ffi (1.17.4-x86-linux-musl) - ffi (1.17.4-x86_64-darwin) - ffi (1.17.4-x86_64-linux-gnu) - ffi (1.17.4-x86_64-linux-musl) - fourflusher (2.3.1) - fuzzy_match (2.0.4) - gh_inspector (1.1.3) - httpclient (2.9.0) - mutex_m - i18n (1.15.2) - concurrent-ruby (~> 1.0) - json (2.21.2) - logger (1.7.0) - minitest (5.27.0) - molinillo (0.8.0) - mutex_m (0.3.0) - nanaimo (0.3.0) - nap (1.1.0) - netrc (0.11.0) - nkf (0.3.0) - public_suffix (4.0.7) - rexml (3.4.4) - ruby-macho (2.5.1) - securerandom (0.4.1) - typhoeus (1.6.0) - ethon (>= 0.18.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 - aarch64-linux-gnu - aarch64-linux-musl - arm-linux-gnu - arm-linux-musl - arm64-darwin - ruby - x86-linux-gnu - x86-linux-musl - x86_64-darwin - x86_64-linux-gnu - x86_64-linux-musl - -DEPENDENCIES - activesupport (>= 7.2.3.1) - benchmark - bigdecimal - cocoapods (>= 1.13, != 1.15.1, != 1.15.0) - logger - mutex_m - nkf - xcodeproj (< 1.26.0) - -RUBY VERSION - ruby 3.4.9p82 - -BUNDLED WITH - 2.6.9 diff --git a/apps/tester-federation/android/build.gradle b/apps/tester-federation/android/build.gradle deleted file mode 100644 index 808e764f5..000000000 --- a/apps/tester-federation/android/build.gradle +++ /dev/null @@ -1,46 +0,0 @@ -buildscript { - apply(from: { - def searchDir = rootDir.toPath() - do { - def p = searchDir.resolve("node_modules/react-native-test-app/android/dependencies.gradle") - if (p.toFile().exists()) { - return p.toRealPath().toString() - } - } while (searchDir = searchDir.getParent()) - throw new GradleException("Could not find `react-native-test-app`"); - }()) - - repositories { - mavenCentral() - google() - } - - dependencies { - getReactNativeDependencies().each { dependency -> - classpath(dependency) - } - } -} - -allprojects { - repositories { - { - def searchDir = rootDir.toPath() - do { - def p = searchDir.resolve("node_modules/react-native/android") - if (p.toFile().exists()) { - maven { - url(p.toRealPath().toString()) - } - break - } - } while (searchDir = searchDir.getParent()) - // As of 0.80, React Native is no longer installed from npm - }() - mavenCentral() - google() - maven { - url(project(":react-native-async-storage_async-storage").file("local_repo")) - } - } -} diff --git a/apps/tester-federation/android/debug.keystore b/apps/tester-federation/android/debug.keystore deleted file mode 100644 index 364e105ed..000000000 Binary files a/apps/tester-federation/android/debug.keystore and /dev/null differ diff --git a/apps/tester-federation/android/gradle.properties b/apps/tester-federation/android/gradle.properties deleted file mode 100644 index 400ceca75..000000000 --- a/apps/tester-federation/android/gradle.properties +++ /dev/null @@ -1,55 +0,0 @@ -# Project-wide Gradle settings. - -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. - -# For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html - -# Specifies the JVM arguments used for the Gradle Daemon. The setting is -# particularly useful for configuring JVM memory settings for build performance. -# This does not affect the JVM settings for the Gradle client VM. -# The default is `-Xmx512m -XX:MaxMetaspaceSize=256m`. -org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 - -# When configured, Gradle will fork up to org.gradle.workers.max JVMs to execute -# projects in parallel. To learn more about parallel task execution, see the -# section on Gradle build performance: -# https://docs.gradle.org/current/userguide/performance.html#parallel_execution. -# Default is `false`. -#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. -# Note that this is incompatible with web debugging. -newArchEnabled=true -bridgelessEnabled=true -hermesEnabled=true - -# Uncomment the line below to build React Native from source. -#react.buildFromSource=true - -# Version of Android NDK to build against. -#ANDROID_NDK_VERSION=26.1.10909125 - -# Version of Kotlin to build against. -#KOTLIN_VERSION=1.8.22 - -# Use this property to enable edge-to-edge display support. -# This allows your app to draw behind system bars for an immersive UI. -# Note: Only works with ReactActivity and should not be used with custom Activity. -edgeToEdgeEnabled=true \ No newline at end of file diff --git a/apps/tester-federation/android/gradle/wrapper/gradle-wrapper.jar b/apps/tester-federation/android/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 1b33c55ba..000000000 Binary files a/apps/tester-federation/android/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/apps/tester-federation/android/gradle/wrapper/gradle-wrapper.properties b/apps/tester-federation/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 37f78a6af..000000000 --- a/apps/tester-federation/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,7 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip -networkTimeout=10000 -validateDistributionUrl=true -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/apps/tester-federation/android/gradlew b/apps/tester-federation/android/gradlew deleted file mode 100755 index 17fc5dbb8..000000000 --- a/apps/tester-federation/android/gradlew +++ /dev/null @@ -1,252 +0,0 @@ -#!/bin/sh - -# -# Copyright © 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# 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 -' "$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/tester-federation/android/gradlew.bat b/apps/tester-federation/android/gradlew.bat deleted file mode 100644 index db3a6ac20..000000000 --- a/apps/tester-federation/android/gradlew.bat +++ /dev/null @@ -1,94 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem -@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/tester-federation/android/settings.gradle b/apps/tester-federation/android/settings.gradle deleted file mode 100644 index 131843bf5..000000000 --- a/apps/tester-federation/android/settings.gradle +++ /dev/null @@ -1,21 +0,0 @@ -pluginManagement { - repositories { - gradlePluginPortal() - mavenCentral() - google() - } -} - -rootProject.name = "ModuleFederationTester" - -apply(from: { - def searchDir = rootDir.toPath() - do { - def p = searchDir.resolve("node_modules/react-native-test-app/test-app.gradle") - if (p.toFile().exists()) { - return p.toRealPath().toString() - } - } while (searchDir = searchDir.getParent()) - throw new GradleException("Could not find `react-native-test-app`"); -}()) -applyTestAppSettings(settings) diff --git a/apps/tester-federation/app.json b/apps/tester-federation/app.json deleted file mode 100644 index a15d894ee..000000000 --- a/apps/tester-federation/app.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/microsoft/react-native-test-app/trunk/schema.json", - "name": "ModuleFederationTester", - "displayName": "ModuleFederationTester", - "singleApp": "host-app", - "components": [ - { - "appKey": "HostApp", - "displayName": "HostApp", - "slug": "host-app" - } - ], - "android": { - "package": "com.tester.federation", - "signingConfigs": { - "debug": { - "storeFile": "android/debug.keystore" - }, - "release": { - "storeFile": "android/debug.keystore" - } - } - }, - "ios": { - "bundleIdentifier": "com.tester.federation" - }, - "resources": { - "android": [], - "ios": [] - } -} diff --git a/apps/tester-federation/babel.config.js b/apps/tester-federation/babel.config.js deleted file mode 100644 index d4461aec7..000000000 --- a/apps/tester-federation/babel.config.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - presets: ['module:@react-native/babel-preset'], - comments: true, -}; diff --git a/apps/tester-federation/config.host-app.mts b/apps/tester-federation/config.host-app.mts deleted file mode 100644 index 39e509b2b..000000000 --- a/apps/tester-federation/config.host-app.mts +++ /dev/null @@ -1,17 +0,0 @@ -import path from 'node:path'; -import { fileURLToPath } from 'node:url'; -import type * as Repack from '@callstack/repack'; - -import rspackConfig from './configs/rspack.host-app.mts'; -import webpackConfig from './configs/webpack.host-app.mts'; - -const __filename = fileURLToPath(import.meta.url); -const __dirname = path.dirname(__filename); - -const useWebpack = Boolean(process.env.USE_WEBPACK); - -export default (env: Repack.EnvOptions) => { - env.context = __dirname; - - return useWebpack ? webpackConfig(env) : rspackConfig(env); -}; diff --git a/apps/tester-federation/config.mini-app.mts b/apps/tester-federation/config.mini-app.mts deleted file mode 100644 index f23e09347..000000000 --- a/apps/tester-federation/config.mini-app.mts +++ /dev/null @@ -1,17 +0,0 @@ -import path from 'node:path'; -import { fileURLToPath } from 'node:url'; -import type * as Repack from '@callstack/repack'; - -import rspackConfig from './configs/rspack.mini-app.mts'; -import webpackConfig from './configs/webpack.mini-app.mts'; - -const __filename = fileURLToPath(import.meta.url); -const __dirname = path.dirname(__filename); - -const useWebpack = Boolean(process.env.USE_WEBPACK); - -export default (env: Repack.EnvOptions) => { - env.context = __dirname; - - return useWebpack ? webpackConfig(env) : rspackConfig(env); -}; diff --git a/apps/tester-federation/configs/rspack.host-app.mts b/apps/tester-federation/configs/rspack.host-app.mts deleted file mode 100644 index 238dc550a..000000000 --- a/apps/tester-federation/configs/rspack.host-app.mts +++ /dev/null @@ -1,106 +0,0 @@ -import * as Repack from '@callstack/repack'; -import { RsdoctorRspackPlugin } from '@rsdoctor/rspack-plugin'; -import rspack from '@rspack/core'; -import pkg from '../package.json' with { type: 'json' }; - -export default Repack.defineRspackConfig((env) => { - const { mode, context, platform } = env; - - const config = { - mode, - context, - entry: './src/host/index.js', - resolve: { - ...Repack.getResolveOptions({ enablePackageExports: true }), - }, - output: { - path: '[context]/build/host-app/[platform]', - uniqueName: 'MFTester-HostApp', - }, - module: { - rules: [ - { - test: /\.[cm]?[jt]sx?$/, - type: 'javascript/auto', - use: { - loader: '@callstack/repack/babel-swc-loader', - parallel: true, - options: {}, - }, - }, - ...Repack.getAssetTransformRules(), - ], - }, - plugins: [ - new Repack.RepackPlugin({ - extraChunks: [ - { - include: /.*/, - type: 'remote', - outputPath: `build/host-app/${platform}/output-remote`, - }, - ], - }), - new Repack.plugins.ModuleFederationPluginV1({ - name: 'HostApp', - shared: { - react: { - singleton: true, - eager: true, - requiredVersion: '19.2.3', - }, - 'react-native': { - singleton: true, - eager: true, - requiredVersion: '0.84.1', - }, - '@react-navigation/native': { - singleton: true, - eager: true, - version: pkg.dependencies['@react-navigation/native'], - requiredVersion: pkg.dependencies['@react-navigation/native'], - }, - '@react-navigation/native-stack': { - singleton: true, - eager: true, - version: pkg.dependencies['@react-navigation/native-stack'], - requiredVersion: pkg.dependencies['@react-navigation/native-stack'], - }, - 'react-native-safe-area-context': { - singleton: true, - eager: true, - version: pkg.dependencies['react-native-safe-area-context'], - requiredVersion: pkg.dependencies['react-native-safe-area-context'], - }, - 'react-native-screens': { - singleton: true, - eager: true, - version: pkg.dependencies['react-native-screens'], - requiredVersion: pkg.dependencies['react-native-screens'], - }, - '@react-native-async-storage/async-storage': { - singleton: true, - eager: true, - version: - pkg.dependencies['@react-native-async-storage/async-storage'], - requiredVersion: - pkg.dependencies['@react-native-async-storage/async-storage'], - }, - }, - }), - new rspack.IgnorePlugin({ - resourceRegExp: /^@react-native-masked-view/, - }), - new rspack.EnvironmentPlugin({ - MF_CACHE: null, - }), - ], - }; - - if (process.env.RSDOCTOR) { - // @ts-expect-error - config.plugins?.push(new RsdoctorRspackPlugin()); - } - - return config; -}); diff --git a/apps/tester-federation/configs/rspack.mini-app.mts b/apps/tester-federation/configs/rspack.mini-app.mts deleted file mode 100644 index 0e867a2c1..000000000 --- a/apps/tester-federation/configs/rspack.mini-app.mts +++ /dev/null @@ -1,106 +0,0 @@ -import * as Repack from '@callstack/repack'; -import { RsdoctorRspackPlugin } from '@rsdoctor/rspack-plugin'; -import rspack from '@rspack/core'; -import pkg from '../package.json' with { type: 'json' }; - -export default Repack.defineRspackConfig((env) => { - const { mode, context, platform } = env; - - const config = { - mode, - context, - entry: './src/mini/index.js', - resolve: { - ...Repack.getResolveOptions({ enablePackageExports: true }), - }, - output: { - path: '[context]/build/mini-app/[platform]', - uniqueName: 'MFTester-MiniApp', - }, - module: { - rules: [ - { - test: /\.[cm]?[jt]sx?$/, - use: { - loader: '@callstack/repack/babel-swc-loader', - parallel: true, - options: {}, - }, - type: 'javascript/auto', - }, - ...Repack.getAssetTransformRules({ inline: true }), - ], - }, - plugins: [ - new Repack.RepackPlugin({ - extraChunks: [ - { - include: /.*/, - type: 'remote', - outputPath: `build/mini-app/${platform}/output-remote`, - }, - ], - }), - new Repack.plugins.ModuleFederationPluginV1({ - name: 'MiniApp', - exposes: { - './MiniAppNavigator': './src/mini/navigation/MainNavigator', - }, - shared: { - react: { - singleton: true, - eager: false, - requiredVersion: '19.2.3', - }, - 'react-native': { - singleton: true, - eager: false, - requiredVersion: '0.84.1', - }, - '@react-navigation/native': { - singleton: true, - eager: false, - version: pkg.dependencies['@react-navigation/native'], - requiredVersion: pkg.dependencies['@react-navigation/native'], - }, - '@react-navigation/native-stack': { - singleton: true, - eager: false, - version: pkg.dependencies['@react-navigation/native-stack'], - requiredVersion: pkg.dependencies['@react-navigation/native-stack'], - }, - 'react-native-safe-area-context': { - singleton: true, - eager: false, - version: pkg.dependencies['react-native-safe-area-context'], - requiredVersion: pkg.dependencies['react-native-safe-area-context'], - }, - 'react-native-screens': { - singleton: true, - eager: false, - version: pkg.dependencies['react-native-screens'], - requiredVersion: pkg.dependencies['react-native-screens'], - }, - '@react-native-async-storage/async-storage': { - singleton: true, - eager: false, - version: - pkg.dependencies['@react-native-async-storage/async-storage'], - requiredVersion: - pkg.dependencies['@react-native-async-storage/async-storage'], - }, - }, - }), - new rspack.IgnorePlugin({ - resourceRegExp: /^@react-native-masked-view/, - }), - ], - }; - - if (process.env.RSDOCTOR) { - // @ts-expect-error - config.plugins?.push(new RsdoctorRspackPlugin()); - } - - return config; -}); diff --git a/apps/tester-federation/configs/webpack.host-app.mts b/apps/tester-federation/configs/webpack.host-app.mts deleted file mode 100644 index 299887b48..000000000 --- a/apps/tester-federation/configs/webpack.host-app.mts +++ /dev/null @@ -1,96 +0,0 @@ -import * as Repack from '@callstack/repack'; -import webpack from 'webpack'; -import pkg from '../package.json' with { type: 'json' }; - -export default Repack.defineWebpackConfig((env) => { - const { mode, context, platform } = env; - - return { - mode, - context, - entry: './src/host/index.js', - resolve: { - ...Repack.getResolveOptions({ enablePackageExports: true }), - }, - output: { - path: '[context]/build/host-app/[platform]', - uniqueName: 'MFTester-HostApp', - }, - module: { - rules: [ - { - test: /\.[cm]?[jt]sx?$/, - use: '@callstack/repack/babel-swc-loader', - type: 'javascript/auto', - }, - ...Repack.getAssetTransformRules(), - ], - }, - plugins: [ - // @ts-expect-error - new Repack.RepackPlugin({ - extraChunks: [ - { - include: /.*/, - type: 'remote', - outputPath: `build/host-app/${platform}/output-remote`, - }, - ], - }), - // @ts-expect-error - new Repack.plugins.ModuleFederationPluginV1({ - name: 'HostApp', - shared: { - react: { - singleton: true, - eager: true, - requiredVersion: '19.2.3', - }, - 'react-native': { - singleton: true, - eager: true, - requiredVersion: '0.84.1', - }, - '@react-navigation/native': { - singleton: true, - eager: true, - version: pkg.dependencies['@react-navigation/native'], - requiredVersion: pkg.dependencies['@react-navigation/native'], - }, - '@react-navigation/native-stack': { - singleton: true, - eager: true, - version: pkg.dependencies['@react-navigation/native-stack'], - requiredVersion: pkg.dependencies['@react-navigation/native-stack'], - }, - 'react-native-safe-area-context': { - singleton: true, - eager: true, - version: pkg.dependencies['react-native-safe-area-context'], - requiredVersion: pkg.dependencies['react-native-safe-area-context'], - }, - 'react-native-screens': { - singleton: true, - eager: true, - version: pkg.dependencies['react-native-screens'], - requiredVersion: pkg.dependencies['react-native-screens'], - }, - '@react-native-async-storage/async-storage': { - singleton: true, - eager: true, - version: - pkg.dependencies['@react-native-async-storage/async-storage'], - requiredVersion: - pkg.dependencies['@react-native-async-storage/async-storage'], - }, - }, - }), - new webpack.IgnorePlugin({ - resourceRegExp: /^@react-native-masked-view/, - }), - new webpack.EnvironmentPlugin({ - MF_CACHE: null, - }), - ], - }; -}); diff --git a/apps/tester-federation/configs/webpack.mini-app.mts b/apps/tester-federation/configs/webpack.mini-app.mts deleted file mode 100644 index 72710e5f1..000000000 --- a/apps/tester-federation/configs/webpack.mini-app.mts +++ /dev/null @@ -1,97 +0,0 @@ -import * as Repack from '@callstack/repack'; -import webpack from 'webpack'; -import pkg from '../package.json' with { type: 'json' }; - -export default Repack.defineWebpackConfig((env) => { - const { mode, context, platform } = env; - - return { - mode, - context, - entry: './src/mini/index.js', - resolve: { - ...Repack.getResolveOptions({ enablePackageExports: true }), - }, - output: { - path: '[context]/build/mini-app/[platform]', - uniqueName: 'MFTester-MiniApp', - }, - module: { - rules: [ - { - test: /\.[cm]?[jt]sx?$/, - use: '@callstack/repack/babel-swc-loader', - type: 'javascript/auto', - }, - ...Repack.getAssetTransformRules({ inline: true }), - ], - }, - plugins: [ - // @ts-expect-error - new Repack.RepackPlugin({ - extraChunks: [ - { - include: /.*/, - type: 'remote', - outputPath: `build/mini-app/${platform}/output-remote`, - }, - ], - }), - // @ts-expect-error - new Repack.plugins.ModuleFederationPluginV1({ - name: 'MiniApp', - filename: 'MiniApp.container.bundle', - exposes: { - './MiniAppNavigator': './src/mini/navigation/MainNavigator', - }, - shared: { - react: { - singleton: true, - eager: false, - requiredVersion: '19.2.3', - }, - 'react-native': { - singleton: true, - eager: false, - requiredVersion: '0.84.1', - }, - '@react-navigation/native': { - singleton: true, - eager: false, - version: pkg.dependencies['@react-navigation/native'], - requiredVersion: pkg.dependencies['@react-navigation/native'], - }, - '@react-navigation/native-stack': { - singleton: true, - eager: false, - version: pkg.dependencies['@react-navigation/native-stack'], - requiredVersion: pkg.dependencies['@react-navigation/native-stack'], - }, - 'react-native-safe-area-context': { - singleton: true, - eager: false, - version: pkg.dependencies['react-native-safe-area-context'], - requiredVersion: pkg.dependencies['react-native-safe-area-context'], - }, - 'react-native-screens': { - singleton: true, - eager: false, - version: pkg.dependencies['react-native-screens'], - requiredVersion: pkg.dependencies['react-native-screens'], - }, - '@react-native-async-storage/async-storage': { - singleton: true, - eager: false, - version: - pkg.dependencies['@react-native-async-storage/async-storage'], - requiredVersion: - pkg.dependencies['@react-native-async-storage/async-storage'], - }, - }, - }), - new webpack.IgnorePlugin({ - resourceRegExp: /^@react-native-masked-view/, - }), - ], - }; -}); diff --git a/apps/tester-federation/ios/ModuleFederationTester.xcworkspace/contents.xcworkspacedata b/apps/tester-federation/ios/ModuleFederationTester.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 57f64952a..000000000 --- a/apps/tester-federation/ios/ModuleFederationTester.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/apps/tester-federation/ios/Podfile b/apps/tester-federation/ios/Podfile deleted file mode 100644 index 6db62801c..000000000 --- a/apps/tester-federation/ios/Podfile +++ /dev/null @@ -1,15 +0,0 @@ -ws_dir = Pathname.new(__dir__) -ws_dir = ws_dir.parent until - File.exist?("#{ws_dir}/node_modules/react-native-test-app/test_app.rb") || - ws_dir.expand_path.to_s == '/' -require "#{ws_dir}/node_modules/react-native-test-app/test_app.rb" - -workspace 'ModuleFederationTester.xcworkspace' - -options = { - :bridgeless_enabled => true, - :fabric_enabled => true, - :hermes_enabled => true, -} - -use_test_app! options diff --git a/apps/tester-federation/ios/Podfile.lock b/apps/tester-federation/ios/Podfile.lock deleted file mode 100644 index e9a3c34ee..000000000 --- a/apps/tester-federation/ios/Podfile.lock +++ /dev/null @@ -1,2362 +0,0 @@ -PODS: - - AsyncStorage (3.1.1): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - React-jsi - - React-NativeModulesApple - - React-RCTFabric - - React-renderercss - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - callstack-repack (5.4.0): - - hermes-engine - - JWTDecode (~> 3.0.0) - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - React-jsi - - React-NativeModulesApple - - React-RCTFabric - - React-renderercss - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - SwiftyRSA (~> 1.7) - - Yoga - - FBLazyVector (0.86.3) - - hermes-engine (250829098.0.17): - - hermes-engine/Pre-built (= 250829098.0.17) - - hermes-engine/Pre-built (250829098.0.17) - - JWTDecode (3.0.1) - - RCTDeprecation (0.86.3) - - RCTRequired (0.86.3) - - RCTSwiftUI (0.86.3) - - RCTSwiftUIWrapper (0.86.3): - - RCTSwiftUI - - RCTTypeSafety (0.86.3): - - FBLazyVector (= 0.86.3) - - RCTRequired (= 0.86.3) - - React-Core (= 0.86.3) - - React (0.86.3): - - React-Core (= 0.86.3) - - React-Core/DevSupport (= 0.86.3) - - React-Core/RCTWebSocket (= 0.86.3) - - React-RCTActionSheet (= 0.86.3) - - React-RCTAnimation (= 0.86.3) - - React-RCTBlob (= 0.86.3) - - React-RCTImage (= 0.86.3) - - React-RCTLinking (= 0.86.3) - - React-RCTNetwork (= 0.86.3) - - React-RCTSettings (= 0.86.3) - - React-RCTText (= 0.86.3) - - React-RCTVibration (= 0.86.3) - - React-callinvoker (0.86.3) - - React-Core (0.86.3): - - hermes-engine - - RCTDeprecation - - React-Core-prebuilt - - React-Core/Default (= 0.86.3) - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga - - React-Core-prebuilt (0.86.3): - - ReactNativeDependencies - - React-Core/CoreModulesHeaders (0.86.3): - - hermes-engine - - RCTDeprecation - - React-Core-prebuilt - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga - - React-Core/Default (0.86.3): - - hermes-engine - - RCTDeprecation - - React-Core-prebuilt - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga - - React-Core/DevSupport (0.86.3): - - hermes-engine - - RCTDeprecation - - React-Core-prebuilt - - React-Core/Default (= 0.86.3) - - React-Core/RCTWebSocket (= 0.86.3) - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga - - React-Core/RCTActionSheetHeaders (0.86.3): - - hermes-engine - - RCTDeprecation - - React-Core-prebuilt - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga - - React-Core/RCTAnimationHeaders (0.86.3): - - hermes-engine - - RCTDeprecation - - React-Core-prebuilt - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga - - React-Core/RCTBlobHeaders (0.86.3): - - hermes-engine - - RCTDeprecation - - React-Core-prebuilt - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga - - React-Core/RCTImageHeaders (0.86.3): - - hermes-engine - - RCTDeprecation - - React-Core-prebuilt - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga - - React-Core/RCTLinkingHeaders (0.86.3): - - hermes-engine - - RCTDeprecation - - React-Core-prebuilt - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga - - React-Core/RCTNetworkHeaders (0.86.3): - - hermes-engine - - RCTDeprecation - - React-Core-prebuilt - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga - - React-Core/RCTSettingsHeaders (0.86.3): - - hermes-engine - - RCTDeprecation - - React-Core-prebuilt - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga - - React-Core/RCTTextHeaders (0.86.3): - - hermes-engine - - RCTDeprecation - - React-Core-prebuilt - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga - - React-Core/RCTVibrationHeaders (0.86.3): - - hermes-engine - - RCTDeprecation - - React-Core-prebuilt - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga - - React-Core/RCTWebSocket (0.86.3): - - hermes-engine - - RCTDeprecation - - React-Core-prebuilt - - React-Core/Default (= 0.86.3) - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga - - React-CoreModules (0.86.3): - - RCTTypeSafety (= 0.86.3) - - React-Core-prebuilt - - React-Core/CoreModulesHeaders (= 0.86.3) - - React-debug - - React-featureflags - - React-jsi (= 0.86.3) - - React-jsinspector - - React-jsinspectorcdp - - React-jsinspectortracing - - React-NativeModulesApple - - React-RCTBlob - - React-RCTFBReactNativeSpec - - React-RCTImage (= 0.86.3) - - React-runtimeexecutor - - React-utils - - ReactCommon - - ReactNativeDependencies - - React-cxxreact (0.86.3): - - hermes-engine - - React-callinvoker (= 0.86.3) - - React-Core-prebuilt - - React-debug (= 0.86.3) - - React-jsi (= 0.86.3) - - React-jsinspector - - React-jsinspectorcdp - - React-jsinspectortracing - - React-logger (= 0.86.3) - - React-perflogger (= 0.86.3) - - React-runtimeexecutor - - React-timing (= 0.86.3) - - React-utils - - ReactNativeDependencies - - React-debug (0.86.3): - - React-debug/redbox (= 0.86.3) - - React-debug/redbox (0.86.3) - - React-defaultsnativemodule (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-domnativemodule - - React-Fabric/animated - - React-featureflags - - React-featureflagsnativemodule - - React-idlecallbacksnativemodule - - React-intersectionobservernativemodule - - React-jsi - - React-jsiexecutor - - React-microtasksnativemodule - - React-mutationobservernativemodule - - React-RCTFBReactNativeSpec - - React-viewtransitionnativemodule - - React-webperformancenativemodule - - ReactNativeDependencies - - Yoga - - React-domnativemodule (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-Fabric - - React-Fabric/bridging - - React-FabricComponents - - React-graphics - - React-jsi - - React-jsiexecutor - - React-RCTFBReactNativeSpec - - React-runtimeexecutor - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-Fabric (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric/animated (= 0.86.3) - - React-Fabric/animationbackend (= 0.86.3) - - React-Fabric/animations (= 0.86.3) - - React-Fabric/attributedstring (= 0.86.3) - - React-Fabric/bridging (= 0.86.3) - - React-Fabric/componentregistry (= 0.86.3) - - React-Fabric/componentregistrynative (= 0.86.3) - - React-Fabric/components (= 0.86.3) - - React-Fabric/consistency (= 0.86.3) - - React-Fabric/core (= 0.86.3) - - React-Fabric/dom (= 0.86.3) - - React-Fabric/imagemanager (= 0.86.3) - - React-Fabric/leakchecker (= 0.86.3) - - React-Fabric/mounting (= 0.86.3) - - React-Fabric/observers (= 0.86.3) - - React-Fabric/scheduler (= 0.86.3) - - React-Fabric/telemetry (= 0.86.3) - - React-Fabric/uimanager (= 0.86.3) - - React-Fabric/viewtransition (= 0.86.3) - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/animated (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric/animationbackend - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/animationbackend (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/animations (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/attributedstring (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/bridging (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/componentregistry (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/componentregistrynative (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/components (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric/components/legacyviewmanagerinterop (= 0.86.3) - - React-Fabric/components/root (= 0.86.3) - - React-Fabric/components/scrollview (= 0.86.3) - - React-Fabric/components/view (= 0.86.3) - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/components/legacyviewmanagerinterop (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/components/root (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/components/scrollview (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/components/view (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-renderercss - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-Fabric/consistency (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/core (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/dom (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/imagemanager (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/leakchecker (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/mounting (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-jsinspectortracing - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/observers (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric/observers/events (= 0.86.3) - - React-Fabric/observers/intersection (= 0.86.3) - - React-Fabric/observers/mutation (= 0.86.3) - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/observers/events (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/observers/intersection (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/observers/mutation (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/scheduler (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric/animationbackend - - React-Fabric/observers/events - - React-Fabric/viewtransition - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-performancecdpmetrics - - React-performancetimeline - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/telemetry (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/uimanager (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric/uimanager/consistency (= 0.86.3) - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererconsistency - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/uimanager/consistency (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererconsistency - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-Fabric/viewtransition (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-FabricComponents (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric - - React-FabricComponents/components (= 0.86.3) - - React-FabricComponents/textlayoutmanager (= 0.86.3) - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-FabricComponents/components (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric - - React-FabricComponents/components/inputaccessory (= 0.86.3) - - React-FabricComponents/components/iostextinput (= 0.86.3) - - React-FabricComponents/components/modal (= 0.86.3) - - React-FabricComponents/components/rncore (= 0.86.3) - - React-FabricComponents/components/safeareaview (= 0.86.3) - - React-FabricComponents/components/scrollview (= 0.86.3) - - React-FabricComponents/components/switch (= 0.86.3) - - React-FabricComponents/components/text (= 0.86.3) - - React-FabricComponents/components/textinput (= 0.86.3) - - React-FabricComponents/components/unimplementedview (= 0.86.3) - - React-FabricComponents/components/virtualview (= 0.86.3) - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-FabricComponents/components/inputaccessory (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-FabricComponents/components/iostextinput (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-FabricComponents/components/modal (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-FabricComponents/components/rncore (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-FabricComponents/components/safeareaview (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-FabricComponents/components/scrollview (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-FabricComponents/components/switch (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-FabricComponents/components/text (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-FabricComponents/components/textinput (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-FabricComponents/components/unimplementedview (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-FabricComponents/components/virtualview (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-FabricComponents/textlayoutmanager (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-FabricImage (0.86.3): - - hermes-engine - - RCTRequired (= 0.86.3) - - RCTTypeSafety (= 0.86.3) - - React-Core-prebuilt - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - React-jsi - - React-jsiexecutor (= 0.86.3) - - React-logger - - React-rendererdebug - - React-utils - - ReactCommon - - ReactNativeDependencies - - Yoga - - React-featureflags (0.86.3): - - React-Core-prebuilt - - ReactNativeDependencies - - React-featureflagsnativemodule (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-featureflags - - React-jsi - - React-jsiexecutor - - React-RCTFBReactNativeSpec - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-graphics (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-featureflags - - React-jsi - - React-jsiexecutor - - React-rendererdebug - - React-utils - - ReactNativeDependencies - - React-hermes (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-cxxreact (= 0.86.3) - - React-jsi - - React-jsiexecutor (= 0.86.3) - - React-jsinspector - - React-jsinspectorcdp - - React-jsinspectortracing - - React-jsitooling - - React-oscompat - - React-perflogger (= 0.86.3) - - React-runtimeexecutor - - ReactNativeDependencies - - React-idlecallbacksnativemodule (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-jsi - - React-jsiexecutor - - React-RCTFBReactNativeSpec - - React-runtimeexecutor - - React-runtimescheduler - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-ImageManager (0.86.3): - - React-Core-prebuilt - - React-Core/Default - - React-debug - - React-Fabric - - React-graphics - - React-rendererdebug - - React-utils - - ReactNativeDependencies - - React-intersectionobservernativemodule (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-cxxreact - - React-Fabric - - React-Fabric/bridging - - React-graphics - - React-jsi - - React-jsiexecutor - - React-RCTFBReactNativeSpec - - React-runtimeexecutor - - React-runtimescheduler - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-jserrorhandler (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-jsi - - ReactCommon/turbomodule/bridging - - ReactNativeDependencies - - React-jsi (0.86.3): - - hermes-engine - - React-Core-prebuilt - - ReactNativeDependencies - - React-jsiexecutor (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-jserrorhandler - - React-jsi - - React-jsinspector - - React-jsinspectorcdp - - React-jsinspectortracing - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-utils - - ReactNativeDependencies - - React-jsinspector (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-featureflags - - React-jsi - - React-jsinspectorcdp - - React-jsinspectornetwork - - React-jsinspectortracing - - React-oscompat - - React-perflogger (= 0.86.3) - - React-runtimeexecutor - - React-utils - - ReactNativeDependencies - - React-jsinspectorcdp (0.86.3): - - React-Core-prebuilt - - ReactNativeDependencies - - React-jsinspectornetwork (0.86.3): - - React-Core-prebuilt - - React-jsinspectorcdp - - ReactNativeDependencies - - React-jsinspectortracing (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-jsi - - React-jsinspectornetwork - - React-oscompat - - React-timing - - React-utils - - ReactNativeDependencies - - React-jsitooling (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-cxxreact (= 0.86.3) - - React-debug - - React-jsi (= 0.86.3) - - React-jsinspector - - React-jsinspectorcdp - - React-jsinspectortracing - - React-runtimeexecutor - - React-utils - - ReactNativeDependencies - - React-jsitracing (0.86.3): - - React-jsi - - React-logger (0.86.3): - - React-Core-prebuilt - - ReactNativeDependencies - - React-Mapbuffer (0.86.3): - - React-Core-prebuilt - - React-debug - - ReactNativeDependencies - - React-microtasksnativemodule (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-jsi - - React-jsiexecutor - - React-RCTFBReactNativeSpec - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-mutationobservernativemodule (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-cxxreact - - React-Fabric - - React-Fabric/bridging - - React-Fabric/observers/mutation - - React-featureflags - - React-jsi - - React-jsiexecutor - - React-RCTFBReactNativeSpec - - React-runtimeexecutor - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - react-native-safe-area-context (5.8.0): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - React-jsi - - react-native-safe-area-context/common (= 5.8.0) - - react-native-safe-area-context/fabric (= 5.8.0) - - React-NativeModulesApple - - React-RCTFabric - - React-renderercss - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - react-native-safe-area-context/common (5.8.0): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - React-jsi - - React-NativeModulesApple - - React-RCTFabric - - React-renderercss - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - react-native-safe-area-context/fabric (5.8.0): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - React-jsi - - react-native-safe-area-context/common - - React-NativeModulesApple - - React-RCTFabric - - React-renderercss - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-NativeModulesApple (0.86.3): - - hermes-engine - - React-callinvoker - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-jsi - - React-jsinspector - - React-jsinspectorcdp - - React-runtimeexecutor - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - React-networking (0.86.3): - - React-Core-prebuilt - - React-jsinspectornetwork - - React-jsinspectortracing - - React-performancetimeline - - React-timing - - ReactNativeDependencies - - React-oscompat (0.86.3) - - React-perflogger (0.86.3): - - React-Core-prebuilt - - ReactNativeDependencies - - React-performancecdpmetrics (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-jsi - - React-performancetimeline - - React-runtimeexecutor - - React-timing - - ReactNativeDependencies - - React-performancetimeline (0.86.3): - - React-Core-prebuilt - - React-featureflags - - React-jsinspector - - React-jsinspectortracing - - React-perflogger - - React-timing - - ReactNativeDependencies - - React-RCTActionSheet (0.86.3): - - React-Core/RCTActionSheetHeaders (= 0.86.3) - - React-RCTAnimation (0.86.3): - - RCTTypeSafety - - React-Core-prebuilt - - React-Core/RCTAnimationHeaders - - React-debug - - React-featureflags - - React-jsi - - React-NativeModulesApple - - React-RCTFBReactNativeSpec - - ReactCommon - - ReactNativeDependencies - - React-RCTAppDelegate (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-CoreModules - - React-debug - - React-defaultsnativemodule - - React-Fabric - - React-featureflags - - React-graphics - - React-hermes - - React-jsitooling - - React-NativeModulesApple - - React-RCTFabric - - React-RCTFBReactNativeSpec - - React-RCTImage - - React-RCTNetwork - - React-RCTRuntime - - React-rendererdebug - - React-RuntimeApple - - React-RuntimeCore - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon - - ReactNativeDependencies - - React-RCTBlob (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-Core/RCTBlobHeaders - - React-Core/RCTWebSocket - - React-jsi - - React-jsinspector - - React-jsinspectorcdp - - React-NativeModulesApple - - React-RCTFBReactNativeSpec - - React-RCTNetwork - - ReactCommon - - ReactNativeDependencies - - React-RCTFabric (0.86.3): - - hermes-engine - - RCTSwiftUIWrapper - - React-Core - - React-Core-prebuilt - - React-debug - - React-Fabric - - React-FabricComponents - - React-FabricImage - - React-featureflags - - React-graphics - - React-ImageManager - - React-jsi - - React-jsinspector - - React-jsinspectorcdp - - React-jsinspectortracing - - React-networking - - React-performancecdpmetrics - - React-performancetimeline - - React-RCTAnimation - - React-RCTFBReactNativeSpec - - React-RCTImage - - React-RCTText - - React-rendererconsistency - - React-renderercss - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga - - React-RCTFBReactNativeSpec (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-jsi - - React-NativeModulesApple - - React-RCTFBReactNativeSpec/components (= 0.86.3) - - ReactCommon - - ReactNativeDependencies - - React-RCTFBReactNativeSpec/components (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-NativeModulesApple - - React-rendererdebug - - React-utils - - ReactCommon - - ReactNativeDependencies - - Yoga - - React-RCTImage (0.86.3): - - RCTTypeSafety - - React-Core-prebuilt - - React-Core/RCTImageHeaders - - React-jsi - - React-NativeModulesApple - - React-RCTFBReactNativeSpec - - React-RCTNetwork - - ReactCommon - - ReactNativeDependencies - - React-RCTLinking (0.86.3): - - React-Core/RCTLinkingHeaders (= 0.86.3) - - React-jsi (= 0.86.3) - - React-NativeModulesApple - - React-RCTFBReactNativeSpec - - ReactCommon - - ReactCommon/turbomodule/core (= 0.86.3) - - React-RCTNetwork (0.86.3): - - RCTTypeSafety - - React-Core-prebuilt - - React-Core/RCTNetworkHeaders - - React-debug - - React-featureflags - - React-jsi - - React-jsinspectorcdp - - React-jsinspectornetwork - - React-NativeModulesApple - - React-networking - - React-RCTFBReactNativeSpec - - ReactCommon - - ReactNativeDependencies - - React-RCTRuntime (0.86.3): - - hermes-engine - - React-Core - - React-Core-prebuilt - - React-debug - - React-jsi - - React-jsinspector - - React-jsinspectorcdp - - React-jsinspectortracing - - React-jsitooling - - React-RuntimeApple - - React-RuntimeCore - - React-runtimeexecutor - - React-RuntimeHermes - - React-utils - - ReactNativeDependencies - - React-RCTSettings (0.86.3): - - RCTTypeSafety - - React-Core-prebuilt - - React-Core/RCTSettingsHeaders - - React-jsi - - React-NativeModulesApple - - React-RCTFBReactNativeSpec - - ReactCommon - - ReactNativeDependencies - - React-RCTText (0.86.3): - - React-Core/RCTTextHeaders (= 0.86.3) - - Yoga - - React-RCTVibration (0.86.3): - - React-Core-prebuilt - - React-Core/RCTVibrationHeaders - - React-jsi - - React-NativeModulesApple - - React-RCTFBReactNativeSpec - - ReactCommon - - ReactNativeDependencies - - React-rendererconsistency (0.86.3) - - React-renderercss (0.86.3): - - React-debug - - React-utils - - React-rendererdebug (0.86.3): - - React-Core-prebuilt - - React-debug - - ReactNativeDependencies - - React-RuntimeApple (0.86.3): - - hermes-engine - - React-callinvoker - - React-Core-prebuilt - - 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 - - ReactNativeDependencies - - React-RuntimeCore (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-cxxreact - - React-Fabric - - React-featureflags - - React-jserrorhandler - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsitooling - - React-performancetimeline - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - React-runtimeexecutor (0.86.3): - - React-Core-prebuilt - - React-debug - - React-featureflags - - React-jsi (= 0.86.3) - - React-utils - - ReactNativeDependencies - - React-RuntimeHermes (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-featureflags - - React-hermes - - React-jsi - - React-jsinspector - - React-jsinspectorcdp - - React-jsinspectortracing - - React-jsitooling - - React-jsitracing - - React-RuntimeCore - - React-runtimeexecutor - - React-utils - - ReactNativeDependencies - - React-runtimescheduler (0.86.3): - - hermes-engine - - React-callinvoker - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-featureflags - - React-jsi - - React-jsinspectortracing - - React-performancetimeline - - React-rendererconsistency - - React-rendererdebug - - React-runtimeexecutor - - React-timing - - React-utils - - ReactNativeDependencies - - React-timing (0.86.3): - - React-debug - - React-utils (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-debug - - React-jsi (= 0.86.3) - - ReactNativeDependencies - - React-viewtransitionnativemodule (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-Fabric - - React-Fabric/bridging - - React-jsi - - React-jsiexecutor - - React-RCTFBReactNativeSpec - - React-runtimeexecutor - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - React-webperformancenativemodule (0.86.3): - - hermes-engine - - React-Core-prebuilt - - React-cxxreact - - React-jsi - - React-jsiexecutor - - React-performancetimeline - - React-RCTFBReactNativeSpec - - React-runtimeexecutor - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - ReactAppDependencyProvider (0.86.3): - - ReactCodegen - - ReactCodegen (0.86.3): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-debug - - React-Fabric - - React-FabricImage - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-NativeModulesApple - - React-RCTAppDelegate - - React-rendererdebug - - React-utils - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - ReactCommon (0.86.3): - - React-Core-prebuilt - - ReactCommon/turbomodule (= 0.86.3) - - ReactNativeDependencies - - ReactCommon/turbomodule (0.86.3): - - hermes-engine - - React-callinvoker (= 0.86.3) - - React-Core-prebuilt - - React-cxxreact (= 0.86.3) - - React-jsi (= 0.86.3) - - React-logger (= 0.86.3) - - React-perflogger (= 0.86.3) - - ReactCommon/turbomodule/bridging (= 0.86.3) - - ReactCommon/turbomodule/core (= 0.86.3) - - ReactNativeDependencies - - ReactCommon/turbomodule/bridging (0.86.3): - - hermes-engine - - React-callinvoker (= 0.86.3) - - React-Core-prebuilt - - React-cxxreact (= 0.86.3) - - React-jsi (= 0.86.3) - - React-logger (= 0.86.3) - - React-perflogger (= 0.86.3) - - ReactNativeDependencies - - ReactCommon/turbomodule/core (0.86.3): - - hermes-engine - - React-callinvoker (= 0.86.3) - - React-Core-prebuilt - - React-cxxreact (= 0.86.3) - - React-debug (= 0.86.3) - - React-featureflags (= 0.86.3) - - React-jsi (= 0.86.3) - - React-logger (= 0.86.3) - - React-perflogger (= 0.86.3) - - React-utils (= 0.86.3) - - ReactNativeDependencies - - ReactNativeDependencies (0.86.3) - - ReactNativeHost (0.5.21): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - React-jsi - - React-NativeModulesApple - - React-RCTAppDelegate - - React-RCTFabric - - React-renderercss - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - ReactTestApp-DevSupport (5.4.5): - - React-Core - - React-jsi - - RNScreens (4.26.2): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - React-jsi - - React-NativeModulesApple - - React-RCTFabric - - React-RCTImage - - React-renderercss - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - RNScreens/common (= 4.26.2) - - Yoga - - RNScreens/common (4.26.2): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React-Core - - React-Core-prebuilt - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - React-jsi - - React-NativeModulesApple - - React-RCTFabric - - React-RCTImage - - React-renderercss - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - - SwiftyRSA (1.7.0): - - SwiftyRSA/ObjC (= 1.7.0) - - SwiftyRSA/ObjC (1.7.0) - - Yoga (0.0.0) - -DEPENDENCIES: - - "AsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)" - - "callstack-repack (from `../node_modules/@callstack/repack`)" - - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) - - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) - - RCTRequired (from `../node_modules/react-native/Libraries/Required`) - - RCTSwiftUI (from `../node_modules/react-native/ReactApple/RCTSwiftUI`) - - RCTSwiftUIWrapper (from `../node_modules/react-native/ReactApple/RCTSwiftUIWrapper`) - - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - - React (from `../node_modules/react-native/`) - - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) - - React-Core (from `../node_modules/react-native/`) - - React-Core-prebuilt (from `../node_modules/react-native/React-Core-prebuilt.podspec`) - - React-Core/RCTWebSocket (from `../node_modules/react-native/`) - - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) - - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) - - React-defaultsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/defaults`) - - React-domnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/dom`) - - React-Fabric (from `../node_modules/react-native/ReactCommon`) - - React-FabricComponents (from `../node_modules/react-native/ReactCommon`) - - React-FabricImage (from `../node_modules/react-native/ReactCommon`) - - React-featureflags (from `../node_modules/react-native/ReactCommon/react/featureflags`) - - React-featureflagsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/featureflags`) - - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) - - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) - - React-idlecallbacksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks`) - - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) - - React-intersectionobservernativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/intersectionobserver`) - - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`) - - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) - - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) - - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`) - - React-jsinspectorcdp (from `../node_modules/react-native/ReactCommon/jsinspector-modern/cdp`) - - React-jsinspectornetwork (from `../node_modules/react-native/ReactCommon/jsinspector-modern/network`) - - React-jsinspectortracing (from `../node_modules/react-native/ReactCommon/jsinspector-modern/tracing`) - - React-jsitooling (from `../node_modules/react-native/ReactCommon/jsitooling`) - - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`) - - React-logger (from `../node_modules/react-native/ReactCommon/logger`) - - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) - - React-microtasksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`) - - React-mutationobservernativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/mutationobserver`) - - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) - - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) - - React-networking (from `../node_modules/react-native/ReactCommon/react/networking`) - - React-oscompat (from `../node_modules/react-native/ReactCommon/oscompat`) - - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) - - React-performancecdpmetrics (from `../node_modules/react-native/ReactCommon/react/performance/cdpmetrics`) - - React-performancetimeline (from `../node_modules/react-native/ReactCommon/react/performance/timeline`) - - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) - - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) - - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) - - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) - - React-RCTFabric (from `../node_modules/react-native/React`) - - React-RCTFBReactNativeSpec (from `../node_modules/react-native/React`) - - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) - - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) - - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) - - React-RCTRuntime (from `../node_modules/react-native/React/Runtime`) - - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) - - React-RCTText (from `../node_modules/react-native/Libraries/Text`) - - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) - - React-rendererconsistency (from `../node_modules/react-native/ReactCommon/react/renderer/consistency`) - - React-renderercss (from `../node_modules/react-native/ReactCommon/react/renderer/css`) - - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`) - - React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) - - React-RuntimeCore (from `../node_modules/react-native/ReactCommon/react/runtime`) - - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) - - React-RuntimeHermes (from `../node_modules/react-native/ReactCommon/react/runtime`) - - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) - - React-timing (from `../node_modules/react-native/ReactCommon/react/timing`) - - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) - - React-viewtransitionnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/viewtransition`) - - React-webperformancenativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/webperformance`) - - ReactAppDependencyProvider (from `build/generated/ios/ReactAppDependencyProvider`) - - ReactCodegen (from `build/generated/ios/ReactCodegen`) - - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - - ReactNativeDependencies (from `../node_modules/react-native/third-party-podspecs/ReactNativeDependencies.podspec`) - - "ReactNativeHost (from `../../../node_modules/.pnpm/react-native-test-app@5.4.5_@expo+config-plugins@57.0.9_typescript@7.0.2__@react-native_7c529de154f01eddca5a102ec2b2b3e5/node_modules/@rnx-kit/react-native-host`)" - - ReactTestApp-DevSupport (from `../node_modules/react-native-test-app`) - - RNScreens (from `../node_modules/react-native-screens`) - - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) - -SPEC REPOS: - trunk: - - JWTDecode - - SwiftyRSA - -EXTERNAL SOURCES: - AsyncStorage: - :path: "../node_modules/@react-native-async-storage/async-storage" - callstack-repack: - :path: "../node_modules/@callstack/repack" - FBLazyVector: - :path: "../node_modules/react-native/Libraries/FBLazyVector" - hermes-engine: - :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" - :tag: hermes-v250829098.0.17 - RCTDeprecation: - :path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" - RCTRequired: - :path: "../node_modules/react-native/Libraries/Required" - RCTSwiftUI: - :path: "../node_modules/react-native/ReactApple/RCTSwiftUI" - RCTSwiftUIWrapper: - :path: "../node_modules/react-native/ReactApple/RCTSwiftUIWrapper" - RCTTypeSafety: - :path: "../node_modules/react-native/Libraries/TypeSafety" - React: - :path: "../node_modules/react-native/" - React-callinvoker: - :path: "../node_modules/react-native/ReactCommon/callinvoker" - React-Core: - :path: "../node_modules/react-native/" - React-Core-prebuilt: - :podspec: "../node_modules/react-native/React-Core-prebuilt.podspec" - React-CoreModules: - :path: "../node_modules/react-native/React/CoreModules" - React-cxxreact: - :path: "../node_modules/react-native/ReactCommon/cxxreact" - React-debug: - :path: "../node_modules/react-native/ReactCommon/react/debug" - React-defaultsnativemodule: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/defaults" - React-domnativemodule: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/dom" - React-Fabric: - :path: "../node_modules/react-native/ReactCommon" - React-FabricComponents: - :path: "../node_modules/react-native/ReactCommon" - React-FabricImage: - :path: "../node_modules/react-native/ReactCommon" - React-featureflags: - :path: "../node_modules/react-native/ReactCommon/react/featureflags" - React-featureflagsnativemodule: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/featureflags" - React-graphics: - :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" - React-hermes: - :path: "../node_modules/react-native/ReactCommon/hermes" - React-idlecallbacksnativemodule: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks" - React-ImageManager: - :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" - React-intersectionobservernativemodule: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/intersectionobserver" - React-jserrorhandler: - :path: "../node_modules/react-native/ReactCommon/jserrorhandler" - React-jsi: - :path: "../node_modules/react-native/ReactCommon/jsi" - React-jsiexecutor: - :path: "../node_modules/react-native/ReactCommon/jsiexecutor" - React-jsinspector: - :path: "../node_modules/react-native/ReactCommon/jsinspector-modern" - React-jsinspectorcdp: - :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/cdp" - React-jsinspectornetwork: - :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/network" - React-jsinspectortracing: - :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/tracing" - React-jsitooling: - :path: "../node_modules/react-native/ReactCommon/jsitooling" - React-jsitracing: - :path: "../node_modules/react-native/ReactCommon/hermes/executor/" - React-logger: - :path: "../node_modules/react-native/ReactCommon/logger" - React-Mapbuffer: - :path: "../node_modules/react-native/ReactCommon" - React-microtasksnativemodule: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/microtasks" - React-mutationobservernativemodule: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/mutationobserver" - react-native-safe-area-context: - :path: "../node_modules/react-native-safe-area-context" - React-NativeModulesApple: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" - React-networking: - :path: "../node_modules/react-native/ReactCommon/react/networking" - React-oscompat: - :path: "../node_modules/react-native/ReactCommon/oscompat" - React-perflogger: - :path: "../node_modules/react-native/ReactCommon/reactperflogger" - React-performancecdpmetrics: - :path: "../node_modules/react-native/ReactCommon/react/performance/cdpmetrics" - React-performancetimeline: - :path: "../node_modules/react-native/ReactCommon/react/performance/timeline" - React-RCTActionSheet: - :path: "../node_modules/react-native/Libraries/ActionSheetIOS" - React-RCTAnimation: - :path: "../node_modules/react-native/Libraries/NativeAnimation" - React-RCTAppDelegate: - :path: "../node_modules/react-native/Libraries/AppDelegate" - React-RCTBlob: - :path: "../node_modules/react-native/Libraries/Blob" - React-RCTFabric: - :path: "../node_modules/react-native/React" - React-RCTFBReactNativeSpec: - :path: "../node_modules/react-native/React" - React-RCTImage: - :path: "../node_modules/react-native/Libraries/Image" - React-RCTLinking: - :path: "../node_modules/react-native/Libraries/LinkingIOS" - React-RCTNetwork: - :path: "../node_modules/react-native/Libraries/Network" - React-RCTRuntime: - :path: "../node_modules/react-native/React/Runtime" - React-RCTSettings: - :path: "../node_modules/react-native/Libraries/Settings" - React-RCTText: - :path: "../node_modules/react-native/Libraries/Text" - React-RCTVibration: - :path: "../node_modules/react-native/Libraries/Vibration" - React-rendererconsistency: - :path: "../node_modules/react-native/ReactCommon/react/renderer/consistency" - React-renderercss: - :path: "../node_modules/react-native/ReactCommon/react/renderer/css" - React-rendererdebug: - :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" - React-RuntimeApple: - :path: "../node_modules/react-native/ReactCommon/react/runtime/platform/ios" - React-RuntimeCore: - :path: "../node_modules/react-native/ReactCommon/react/runtime" - React-runtimeexecutor: - :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" - React-RuntimeHermes: - :path: "../node_modules/react-native/ReactCommon/react/runtime" - React-runtimescheduler: - :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" - React-timing: - :path: "../node_modules/react-native/ReactCommon/react/timing" - React-utils: - :path: "../node_modules/react-native/ReactCommon/react/utils" - React-viewtransitionnativemodule: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/viewtransition" - React-webperformancenativemodule: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/webperformance" - ReactAppDependencyProvider: - :path: build/generated/ios/ReactAppDependencyProvider - ReactCodegen: - :path: build/generated/ios/ReactCodegen - ReactCommon: - :path: "../node_modules/react-native/ReactCommon" - ReactNativeDependencies: - :podspec: "../node_modules/react-native/third-party-podspecs/ReactNativeDependencies.podspec" - ReactNativeHost: - :path: "../../../node_modules/.pnpm/react-native-test-app@5.4.5_@expo+config-plugins@57.0.9_typescript@7.0.2__@react-native_7c529de154f01eddca5a102ec2b2b3e5/node_modules/@rnx-kit/react-native-host" - ReactTestApp-DevSupport: - :path: "../node_modules/react-native-test-app" - RNScreens: - :path: "../node_modules/react-native-screens" - Yoga: - :path: "../node_modules/react-native/ReactCommon/yoga" - -SPEC CHECKSUMS: - AsyncStorage: 163ab23f6aa37a58b7f2379d0b4ee7ac84d6655c - callstack-repack: 3f61a1d346f8b2892226889d5ea0b7d66be3570f - FBLazyVector: 2138c6c2ab66c31bf5754dc18097fbc498a49c7f - hermes-engine: f950618e994e43d007f013c66a7666906b11ed29 - JWTDecode: 2eed97c2fa46ccaf3049a787004eedf0be474a87 - RCTDeprecation: 96f68ebf33f8762466b01d57d6e873c4f30efb07 - RCTRequired: 166eed8ad6d8440e73e56d09a9090366609823d2 - RCTSwiftUI: e818198d11928a78c2b2afe281d072171dab617f - RCTSwiftUIWrapper: b9457f8613a1d0c8146c08844a04154702ff8809 - RCTTypeSafety: efc19e6b92931abf0b68b064212323a258a5f019 - React: 52dce66f71097ed7a4968673d95eeb8095ded74e - React-callinvoker: afa0525ab27f4ffbb4c377f855fe9368edb099bc - React-Core: fdb67992e049f2526ade3e258c21b8404e7943a3 - React-Core-prebuilt: 9abc518a8aa7aa4fa3bbbe52bc825bcd9fb3c3ce - React-CoreModules: 456d91152aa283ddc6ae8abfcec3292af88912f6 - React-cxxreact: 73a20c0dde5ec221f98d5e4da0e71349ab48353d - React-debug: d06757ac6c78b84af0c31e513a83662d6b8d0ac7 - React-defaultsnativemodule: ad832e8ce045ef01ea586834b1732c3d4d4d5d86 - React-domnativemodule: 7d1bd200df2d58c2f61d416cf16838c0c9fbb06c - React-Fabric: 363e0524d0724a17afbcba653da4f3398f41236e - React-FabricComponents: d41c87cd39ccf6c4c1df7f726ced22db1f90f072 - React-FabricImage: b4fb0ebc0a2e6fabfd8de8b3fa441331bda99403 - React-featureflags: 1c88b4566806604500a8a9fdf9ad0108c2e9d541 - React-featureflagsnativemodule: dab00693f49c6629f186dedcc3cdaeadd094972f - React-graphics: 991a75fa954a20d0297580dc7fd4e365982cef3b - React-hermes: 65cfbf62d8d31c1e69f3556ff6836a2890cf4a62 - React-idlecallbacksnativemodule: 492f6da9e5a2fa37e2ac0c3a7447302a342d42c2 - React-ImageManager: 02effe13f7b0ca3a7282ee364a8691cd789b9726 - React-intersectionobservernativemodule: 91b54a39a2e7187b9caf62e8b7310aa2d0026679 - React-jserrorhandler: 91985482e35b0b102febda42168ee71946db9958 - React-jsi: 69052b2d1958c9069a143f1637f382b933917b43 - React-jsiexecutor: b9b98ea432f58ee2899a60204f090d0bc8d48313 - React-jsinspector: 75119552df2413c48d33e9f0a72836b30c1ccb14 - React-jsinspectorcdp: 8e65995e9083f7bce0839d3169f6f2d304049e2e - React-jsinspectornetwork: 7e8375e27430cc7694c52fb904db2b9118194480 - React-jsinspectortracing: 643bd9d6f9dc64ea9b28b0e915b4fb0b9b0b1b90 - React-jsitooling: b7ec4b982dfc62f744587deeb1948b983f9edaa4 - React-jsitracing: 8d2f0c8d6d81324606b6d55b946cb443a0c5a425 - React-logger: b9bf04943233973fece220497f0784eaad409b3a - React-Mapbuffer: 3c805ea54675b00ef1755f23b3c1fccf34962b93 - React-microtasksnativemodule: 97a771dbbb4315c71579995b53e4e3e351a99d89 - React-mutationobservernativemodule: 530bff1bba9511a5133e3cf8170e3b2c0df49e89 - react-native-safe-area-context: fb5c8ee9f6dd62ef710611b3d370c501f42a4ac0 - React-NativeModulesApple: 2b658272ca69df0694cf5d54f9510aa7c33977bc - React-networking: 6be0b80e18e710dd30e77b04838ec46666a7bb78 - React-oscompat: cea7c66df8076bd97e95885d7f584b86afffde41 - React-perflogger: 9110ba33a4aa70c708e9d50aeca040e6f2aefaf7 - React-performancecdpmetrics: d9c07c4855c5a975cc7abc482fcb086e8a87abd1 - React-performancetimeline: 336af57802d9cdb4ac079774007677031c891fe0 - React-RCTActionSheet: aeb20277150454e9020517c6a2cb70410d4856d9 - React-RCTAnimation: 8453deeb01d0f284202c9670b5f7d827575b4967 - React-RCTAppDelegate: 5e9c748cc138decd9045683d8987700d824a99ff - React-RCTBlob: e6c01cae3eeb7e63a55b12f72b7dfcfd8236b4b2 - React-RCTFabric: deab07276af1b74b0b8d0772a9a58cac15785312 - React-RCTFBReactNativeSpec: 83d67909e5c67b460bec8851d8413a8ce1ecc6b2 - React-RCTImage: ec8488bc119d7e5d3209f85be3ebda7e4a937c61 - React-RCTLinking: b6ff56c2f206127d49d338262418c097ea306ad0 - React-RCTNetwork: 08d71b365278511a9bb07885b4a54bdc510d99bf - React-RCTRuntime: 634c58094cc601bc2a63ef38b2389cf81143fbcb - React-RCTSettings: 372551bc9f30d26890f5c5fd569dcd15243c656c - React-RCTText: 62cff7e93aeb3c06e3634f1c59984e8c5322b542 - React-RCTVibration: 2e8c1630ae80c092f437db9638a03715f616ac03 - React-rendererconsistency: e8b244c284931cac80a30ce754d77f6c64e528f9 - React-renderercss: 97791244f7ff7a2a060d07acbf240261d4a0519c - React-rendererdebug: 9d023ca26ed3daf60e7b7615729bb7ba6027a96a - React-RuntimeApple: 2daf515379135ccd5e3af5306c90f7827428f4ca - React-RuntimeCore: 637867058de3e0ae7f1ef2653cd0e01c4c850d71 - React-runtimeexecutor: a5cdf5961ec221a40e6612f35bd1e23f84fd9702 - React-RuntimeHermes: 390a5605857f207c8261c75fd4a296ead9aeee0f - React-runtimescheduler: 1be91f9ec0417bb69bd8dfabbe11b07147b24538 - React-timing: bbb861d02c9bcee3e9c08c51a38f59d27c0904ce - React-utils: 28c555b582a9607a938cc0f47b5a7600db42393a - React-viewtransitionnativemodule: 3977270cf367fd1562221047e2358a26da174f2d - React-webperformancenativemodule: fb203d77856165582e519855fc13773a2855f9a6 - ReactAppDependencyProvider: bb350d1333fd459c1aabe782088419a9b8894d3a - ReactCodegen: 0871c56db6eb02e1dc2ea9172da4a561bd51eaa5 - ReactCommon: 02f6a489d5eb4ab79d7deba5cd4434e0ba351a07 - ReactNativeDependencies: 6738e602b46fd24aa453cd58267ec3bb8bf29d27 - ReactNativeHost: c49183895850a534a9d58049bf02b3c80a3ebb0c - ReactTestApp-DevSupport: 55c92a794b09b56e00757e68312c6340d7c520ee - RNScreens: 7118cd7715c226856125b5bece3c4d9abec90356 - SwiftyRSA: 8c6dd1ea7db1b8dc4fb517a202f88bb1354bc2c6 - Yoga: 18b74b3ade30bebc1904004dfaceae1dd02a330a - -PODFILE CHECKSUM: 16a059e985a55bc49163512a311428a48f715334 - -COCOAPODS: 1.15.2 diff --git a/apps/tester-federation/package.json b/apps/tester-federation/package.json deleted file mode 100644 index ee4236ddf..000000000 --- a/apps/tester-federation/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "tester-federation", - "version": "0.0.1", - "private": true, - "scripts": { - "android": "react-native run-android --appId com.tester.federation --no-packager", - "ios": "react-native run-ios --no-packager", - "pods": "(cd ios && bundle install && (bundle exec pod install || bundle exec pod update))", - "pods:update": "(cd ios && bundle install && bundle exec pod update)", - "start:hostapp": "react-native webpack-start --config config.host-app.mts", - "start:miniapp": "react-native webpack-start --config config.mini-app.mts --port 8082", - "bundle": "pnpm run \"/^bundle:(hostapp|miniapp)$/\"", - "bundle:hostapp": "pnpm run \"/^bundle:hostapp:(ios|android)$/\"", - "bundle:miniapp": "pnpm run \"/^bundle:miniapp:(ios|android)$/\"", - "bundle:hostapp:android": "react-native webpack-bundle --config config.host-app.mts --platform android --entry-file src/host/index.js --dev=false --bundle-output build/host-app/android/output-local/index.android.bundle --assets-dest build/host-app/android/output-local/res", - "bundle:hostapp:ios": "react-native webpack-bundle --config config.host-app.mts --platform ios --entry-file src/host/index.js --dev=false --bundle-output build/host-app/ios/output-local/main.jsbundle --assets-dest build/host-app/ios/output-local", - "bundle:miniapp:android": "react-native webpack-bundle --config config.mini-app.mts --platform android --entry-file src/mini/index.js --dev=false --bundle-output build/mini-app/android/output-local/index.android.bundle --assets-dest build/mini-app/android/output-local/res", - "bundle:miniapp:ios": "react-native webpack-bundle --config config.mini-app.mts --platform ios --entry-file src/mini/index.js --dev=false --bundle-output build/mini-app/ios/output-local/main.jsbundle --assets-dest build/mini-app/ios/output-local" - }, - "dependencies": { - "@callstack/repack": "workspace:*", - "@react-native-async-storage/async-storage": "catalog:testers", - "@react-navigation/native": "7.3.14", - "@react-navigation/native-stack": "7.18.6", - "react": "catalog:", - "react-native": "catalog:", - "react-native-safe-area-context": "catalog:testers", - "react-native-screens": "catalog:testers" - }, - "devDependencies": { - "@babel/core": "^7.29.7", - "@react-native-community/cli": "catalog:testers", - "@react-native-community/cli-platform-android": "catalog:testers", - "@react-native-community/cli-platform-ios": "catalog:testers", - "@react-native/babel-preset": "catalog:testers", - "@react-native/typescript-config": "catalog:testers", - "@rsdoctor/rspack-plugin": "1.6.4", - "@rspack/core": "catalog:", - "@swc/helpers": "catalog:", - "@types/jest": "^29.5.13", - "@types/react": "catalog:testers", - "react-native-test-app": "catalog:testers", - "terser-webpack-plugin": "catalog:", - "typescript": "catalog:", - "webpack": "catalog:" - } -} diff --git a/apps/tester-federation/react-native.config.js b/apps/tester-federation/react-native.config.js deleted file mode 100644 index 2f7653e16..000000000 --- a/apps/tester-federation/react-native.config.js +++ /dev/null @@ -1,13 +0,0 @@ -const { configureProjects } = require('react-native-test-app'); - -module.exports = { - project: configureProjects({ - android: { - sourceDir: 'android', - }, - ios: { - sourceDir: 'ios', - }, - }), - commands: require('@callstack/repack/commands'), -}; diff --git a/apps/tester-federation/src/host/App.tsx b/apps/tester-federation/src/host/App.tsx deleted file mode 100644 index 4fd1a6851..000000000 --- a/apps/tester-federation/src/host/App.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import { NavigationContainer } from '@react-navigation/native'; -import MainNavigator from './navigation/MainNavigator'; - -const App = () => { - return ( - - - - ); -}; - -export default App; diff --git a/apps/tester-federation/src/host/index.js b/apps/tester-federation/src/host/index.js deleted file mode 100644 index 5e2ad7832..000000000 --- a/apps/tester-federation/src/host/index.js +++ /dev/null @@ -1,22 +0,0 @@ -import { Federated, ScriptManager } from '@callstack/repack/client'; -import AsyncStorage from '@react-native-async-storage/async-storage'; -import { AppRegistry, Platform } from 'react-native'; - -import { components } from '../../app.json'; -import App from './App'; - -ScriptManager.shared.setStorage(AsyncStorage); - -const resolveURL = Federated.createURLResolver({ - containers: { MiniApp: 'http://localhost:8082/[name][ext]' }, -}); - -ScriptManager.shared.addResolver(async (scriptId, caller) => { - return { - url: resolveURL(scriptId, caller), - query: { platform: Platform.OS }, - cache: process.env.MF_CACHE, - }; -}); - -AppRegistry.registerComponent(components[0].appKey, () => App); diff --git a/apps/tester-federation/src/host/navigation/MainNavigator.tsx b/apps/tester-federation/src/host/navigation/MainNavigator.tsx deleted file mode 100644 index 1533b563a..000000000 --- a/apps/tester-federation/src/host/navigation/MainNavigator.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import { - createNativeStackNavigator, - type NativeStackNavigationProp, -} from '@react-navigation/native-stack'; -import { StyleSheet } from 'react-native'; - -import DetailScreen from '../screens/DetailScreen'; -import HomeScreen from '../screens/HomeScreen'; -import MiniAppScreen from '../screens/MiniAppScreen'; - -export type MainStackParamList = { - Home: undefined; - Detail: undefined; - MiniApp: undefined; -}; - -export type MainStackNavigationProp = - NativeStackNavigationProp; - -const Main = createNativeStackNavigator(); - -const MainNavigator = () => { - return ( - - - - - - ); -}; - -const styles = StyleSheet.create({ - header: { - backgroundColor: '#3498DB', - }, - headerTitle: { - color: '#FFFFFF', - }, -}); - -export default MainNavigator; diff --git a/apps/tester-federation/src/host/screens/DetailScreen.tsx b/apps/tester-federation/src/host/screens/DetailScreen.tsx deleted file mode 100644 index 211051c96..000000000 --- a/apps/tester-federation/src/host/screens/DetailScreen.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { StyleSheet, Text, View } from 'react-native'; - -const DetailScreen = () => { - return ( - - DetailScreen - - ); -}; - -const styles = StyleSheet.create({ - container: { - flex: 1, - gap: 10, - justifyContent: 'center', - alignItems: 'center', - }, - label: { - fontSize: 20, - fontWeight: '700', - }, -}); - -export default DetailScreen; diff --git a/apps/tester-federation/src/host/screens/HomeScreen.tsx b/apps/tester-federation/src/host/screens/HomeScreen.tsx deleted file mode 100644 index 5dcf03d2f..000000000 --- a/apps/tester-federation/src/host/screens/HomeScreen.tsx +++ /dev/null @@ -1,157 +0,0 @@ -import { useNavigation } from '@react-navigation/native'; -import { StyleSheet, Text, TouchableOpacity, View } from 'react-native'; -import type { MainStackNavigationProp } from '../navigation/MainNavigator'; - -const HomeScreen = () => { - const navigation = useNavigation(); - - return ( - - - Welcome Home - - Explore the host app and its features - - navigation.navigate('Detail')} - > - See details - - - - Mini Apps - - navigation.navigate('MiniApp')} - > - 🖼️ - - Gallery - - - - 💬 - - Messages - - - - ⚙️ - - Settings - - - - - - ); -}; - -const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#F5F9FF', - }, - hostSection: { - flex: 1, - justifyContent: 'center', - alignItems: 'center', - paddingHorizontal: 20, - }, - title: { - fontSize: 28, - fontWeight: 'bold', - marginBottom: 10, - color: '#2C3E50', - }, - subtitle: { - fontSize: 16, - color: '#34495E', - marginBottom: 30, - textAlign: 'center', - }, - button: { - backgroundColor: '#3498DB', - padding: 15, - borderRadius: 10, - alignItems: 'center', - }, - buttonText: { - color: 'white', - fontSize: 16, - fontWeight: '600', - }, - miniAppSection: { - backgroundColor: 'white', - padding: 20, - borderTopLeftRadius: 30, - borderTopRightRadius: 30, - shadowColor: '#34495E', - shadowOffset: { width: 0, height: -3 }, - shadowOpacity: 0.1, - shadowRadius: 5, - elevation: 5, - }, - sectionTitle: { - fontSize: 24, - fontWeight: '600', - marginBottom: 20, - color: '#2C3E50', - textAlign: 'center', - }, - miniAppContainer: { - flexDirection: 'row', - flexWrap: 'wrap', - justifyContent: 'center', - minHeight: 150, - }, - miniAppButton: { - backgroundColor: '#ECF0F1', - width: 100, - height: 100, - borderColor: '#BDC3C7', - borderWidth: 1, - borderRadius: 15, - alignItems: 'center', - justifyContent: 'center', - margin: 5, - shadowColor: '#000', - shadowOffset: { width: 0, height: 2 }, - shadowOpacity: 0.1, - shadowRadius: 4, - elevation: 3, - }, - galleryButton: { - borderColor: '#FF9F00', - backgroundColor: '#FFF5E6', - }, - galleryButtonText: { - color: '#FF9F00', - }, - miniAppIcon: { - fontSize: 40, - marginBottom: 5, - color: '#FFFFFF', - }, - miniAppText: { - color: '#FFFFFF', - fontSize: 16, - fontWeight: '700', - }, - disabledMiniApp: { - opacity: 0.5, - }, - disabledText: { - color: '#95A5A6', - }, -}); - -export default HomeScreen; diff --git a/apps/tester-federation/src/host/screens/MiniAppScreen.tsx b/apps/tester-federation/src/host/screens/MiniAppScreen.tsx deleted file mode 100644 index 90584d7f6..000000000 --- a/apps/tester-federation/src/host/screens/MiniAppScreen.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { Federated } from '@callstack/repack/client'; -import React from 'react'; -import { ActivityIndicator, StyleSheet, View } from 'react-native'; - -const MiniAppNavigator = React.lazy(() => - Federated.importModule('MiniApp', './MiniAppNavigator') -); - -const FallbackComponent = () => ( - - - -); - -const MiniAppScreen = () => { - return ( - }> - - - ); -}; - -const styles = StyleSheet.create({ - container: { - flex: 1, - justifyContent: 'center', - alignItems: 'center', - }, -}); - -export default MiniAppScreen; diff --git a/apps/tester-federation/src/mini/App.tsx b/apps/tester-federation/src/mini/App.tsx deleted file mode 100644 index 0fd8f1129..000000000 --- a/apps/tester-federation/src/mini/App.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { NavigationContainer } from '@react-navigation/native'; -import MainNavigator from './navigation/MainNavigator'; - -export default function App() { - return ( - - - - ); -} diff --git a/apps/tester-federation/src/mini/assets/pic_1.jpg b/apps/tester-federation/src/mini/assets/pic_1.jpg deleted file mode 100644 index dad6029fe..000000000 Binary files a/apps/tester-federation/src/mini/assets/pic_1.jpg and /dev/null differ diff --git a/apps/tester-federation/src/mini/assets/pic_2.jpg b/apps/tester-federation/src/mini/assets/pic_2.jpg deleted file mode 100644 index f129a030c..000000000 Binary files a/apps/tester-federation/src/mini/assets/pic_2.jpg and /dev/null differ diff --git a/apps/tester-federation/src/mini/assets/pic_3.jpg b/apps/tester-federation/src/mini/assets/pic_3.jpg deleted file mode 100644 index 29f6093e8..000000000 Binary files a/apps/tester-federation/src/mini/assets/pic_3.jpg and /dev/null differ diff --git a/apps/tester-federation/src/mini/index.js b/apps/tester-federation/src/mini/index.js deleted file mode 100644 index bc0983ac7..000000000 --- a/apps/tester-federation/src/mini/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import { AppRegistry } from 'react-native'; - -import App from './App'; - -// standalone MiniApp -AppRegistry.registerComponent('MiniApp', () => App); diff --git a/apps/tester-federation/src/mini/navigation/MainNavigator.tsx b/apps/tester-federation/src/mini/navigation/MainNavigator.tsx deleted file mode 100644 index 7d97eadcf..000000000 --- a/apps/tester-federation/src/mini/navigation/MainNavigator.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { - createNativeStackNavigator, - type NativeStackNavigationProp, -} from '@react-navigation/native-stack'; -import { StyleSheet } from 'react-native'; - -import GalleryScreen from '../screens/GalleryScreen'; - -export type MainStackParamList = { - Gallery: undefined; -}; - -export type MainStackNavigationProp = - NativeStackNavigationProp; - -const Main = createNativeStackNavigator(); - -const MainNavigator = () => { - return ( - - - - ); -}; - -const styles = StyleSheet.create({ - header: { - backgroundColor: '#E68A00', - }, - headerTitle: { - color: '#FFFFFF', - }, -}); - -export default MainNavigator; diff --git a/apps/tester-federation/src/mini/screens/GalleryScreen.tsx b/apps/tester-federation/src/mini/screens/GalleryScreen.tsx deleted file mode 100644 index d8a0b5023..000000000 --- a/apps/tester-federation/src/mini/screens/GalleryScreen.tsx +++ /dev/null @@ -1,95 +0,0 @@ -import { - Image, - type ImageRequireSource, - ScrollView, - StyleSheet, - Text, - View, -} from 'react-native'; - -const pics = [ - require('../assets/pic_1.jpg'), - require('../assets/pic_2.jpg'), - require('../assets/pic_3.jpg'), -]; - -const data = Array(3) - .fill('') - .map((_, i) => ({ - title: `Picture ${i + 1}`, - source: pics[i % pics.length], - })); - -const Row = ({ - title, - source, -}: { - title: string; - source: ImageRequireSource; -}) => ( - - - - {title} - - The quick brown fox jumps over the lazy dog - - - -); - -const GalleryScreen = () => { - return ( - - {data.map(({ title, source }) => ( - - ))} - - ); -}; - -const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#FDF2E9', - }, - contentContainer: { - marginTop: 20, - }, - row: { - marginBottom: 20, - backgroundColor: 'white', - borderRadius: 10, - overflow: 'hidden', - shadowColor: '#D35400', - shadowOffset: { width: 0, height: 2 }, - shadowOpacity: 0.1, - shadowRadius: 4, - elevation: 3, - marginHorizontal: 15, - }, - image: { - width: '100%', - height: 250, - resizeMode: 'cover', - }, - titleContainer: { - padding: 15, - }, - title: { - fontSize: 18, - fontWeight: '600', - color: '#000000', - marginBottom: 5, - }, - subtitle: { - fontSize: 14, - color: '#E67E22', - fontWeight: '400', - }, -}); - -export default GalleryScreen; diff --git a/apps/tester-federation/tsconfig.json b/apps/tester-federation/tsconfig.json deleted file mode 100644 index 735c1fd03..000000000 --- a/apps/tester-federation/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "@react-native/typescript-config", - "include": ["**/*.ts", "**/*.tsx"], - "exclude": ["**/node_modules", "**/Pods"], - "compilerOptions": { - "module": "ES2020" // for dynamic imports - } -} diff --git a/packages/dev-server/package.json b/packages/dev-server/package.json index 43326ab3d..7b9545654 100644 --- a/packages/dev-server/package.json +++ b/packages/dev-server/package.json @@ -28,7 +28,7 @@ ], "author": "zamotany ", "engines": { - "node": ">=18" + "node": ">=22.12.0" }, "publishConfig": { "registry": "https://registry.npmjs.org/", @@ -50,7 +50,7 @@ "fastify-plugin": "^5.0.0", "http-proxy-middleware": "^3.0.7", "launch-editor": "^2.14.1", - "open": "^10.1.0", + "open": "^11.0.4", "pretty-format": "^28.1.0", "source-map": "^0.7.4", "ws": "^8.21.1" @@ -61,6 +61,7 @@ "@types/node": "catalog:", "@types/ws": "^8.18.0", "typescript": "catalog:", + "vite": "catalog:", "vitest": "catalog:" } } diff --git a/packages/dev-server/src/createServer.ts b/packages/dev-server/src/createServer.ts index 5c1805c91..2f9a811fe 100644 --- a/packages/dev-server/src/createServer.ts +++ b/packages/dev-server/src/createServer.ts @@ -73,6 +73,7 @@ export async function createServer(config: Server.Config) { let handledDevMiddlewareNotice = false; const devMiddleware = options.devMiddleware.createDevMiddleware({ + // @ts-expect-error required by @react-native/dev-middleware < 0.83, removed in 0.83 projectRoot: options.rootDir, serverBaseUrl: options.url, logger: { @@ -113,10 +114,6 @@ export async function createServer(config: Server.Config) { }, }; }, - unstable_experiments: { - // @ts-expect-error removed in 0.76, keep this for backkwards compatibility - enableNewDebugger: true, - }, }); const proxyMiddlewares = options.proxy?.map((proxyOptions) => { diff --git a/packages/dev-server/src/plugins/symbolicate/sybmolicatePlugin.ts b/packages/dev-server/src/plugins/symbolicate/sybmolicatePlugin.ts index bdd6b9c7d..66999709e 100644 --- a/packages/dev-server/src/plugins/symbolicate/sybmolicatePlugin.ts +++ b/packages/dev-server/src/plugins/symbolicate/sybmolicatePlugin.ts @@ -10,17 +10,7 @@ interface SymbolicateRequestBody { } function getStackFromRequestBody(request: FastifyRequest) { - let body: SymbolicateRequestBody; - - if (request.headers['content-type'] === 'application/json') { - // RN >= 0.79 uses application/json - body = request.body as SymbolicateRequestBody; - } else { - // RN < 0.79 uses text/plain - body = JSON.parse(request.body as string) as SymbolicateRequestBody; - } - - return body.stack; + return (request.body as SymbolicateRequestBody).stack; } async function symbolicatePlugin( diff --git a/packages/init/package.json b/packages/init/package.json index 87f0e710d..6d5bbea21 100644 --- a/packages/init/package.json +++ b/packages/init/package.json @@ -26,7 +26,7 @@ ], "engineStrict": true, "engines": { - "node": ">=18" + "node": ">=22.12.0" }, "type": "module", "scripts": { @@ -40,19 +40,19 @@ }, "devDependencies": { "@clack/prompts": "^0.9.1", - "@manypkg/find-root": "^2.2.3", + "@manypkg/find-root": "^3.1.0", "@rslib/core": "catalog:", "@types/node": "catalog:", "@types/semver": "^7.5.8", "@types/which-pm-runs": "^1.0.2", "@types/yargs": "^17.0.33", - "chalk": "^5.4.1", + "chalk": "^6.0.1", "dedent": "^1.5.3", - "execa": "^9.5.2", + "execa": "^10.1.0", "gradient-string": "^3.0.0", "semver": "^7.6.3", "typescript": "catalog:", "which-pm-runs": "^1.1.0", - "yargs": "^17.7.2" + "yargs": "^18.2.0" } } diff --git a/packages/init/rslib.config.ts b/packages/init/rslib.config.ts index c11f073a5..dff3ca7cf 100644 --- a/packages/init/rslib.config.ts +++ b/packages/init/rslib.config.ts @@ -4,7 +4,7 @@ export default defineConfig({ lib: [ { format: 'esm', - syntax: 'es2021', + syntax: 'es2023', dts: false, source: { entry: { diff --git a/packages/plugin-expo-modules/package.json b/packages/plugin-expo-modules/package.json index 698475bbf..fef69c49d 100644 --- a/packages/plugin-expo-modules/package.json +++ b/packages/plugin-expo-modules/package.json @@ -35,7 +35,7 @@ }, "engineStrict": true, "engines": { - "node": ">=18" + "node": ">=22.12.0" }, "peerDependencies": { "@callstack/repack": "workspace:^" diff --git a/packages/plugin-nativewind/package.json b/packages/plugin-nativewind/package.json index 6dc68c9a4..8aa194e3b 100644 --- a/packages/plugin-nativewind/package.json +++ b/packages/plugin-nativewind/package.json @@ -44,7 +44,7 @@ }, "engineStrict": true, "engines": { - "node": ">=18" + "node": ">=22.12.0" }, "dependencies": { "dedent": "^0.7.0" diff --git a/packages/plugin-reanimated/package.json b/packages/plugin-reanimated/package.json index afdaffead..4fdec2d2d 100644 --- a/packages/plugin-reanimated/package.json +++ b/packages/plugin-reanimated/package.json @@ -40,7 +40,7 @@ }, "engineStrict": true, "engines": { - "node": ">=18" + "node": ">=22.12.0" }, "dependencies": { "semver": "^7.7.2" diff --git a/packages/plugin-reanimated/src/index.ts b/packages/plugin-reanimated/src/index.ts index bedbccb9e..ee6857ab9 100644 --- a/packages/plugin-reanimated/src/index.ts +++ b/packages/plugin-reanimated/src/index.ts @@ -1,6 +1,2 @@ export { ReanimatedPlugin } from './plugin.js'; -export { - reanimated3ModuleRules, - reanimated4ModuleRules, - reanimatedModuleRules, -} from './rules.js'; +export { reanimated4ModuleRules } from './rules.js'; diff --git a/packages/plugin-reanimated/src/loader.ts b/packages/plugin-reanimated/src/loader.ts index 58ae72e48..a267f0546 100644 --- a/packages/plugin-reanimated/src/loader.ts +++ b/packages/plugin-reanimated/src/loader.ts @@ -99,8 +99,7 @@ export function pitch( '`@callstack/repack/babel-swc-loader` you should turn off the ' + 'transforms for `react-native-reanimated` via the ' + '`unstable_disableTransform` option. Instead, please add the ' + - '`react-native-reanimated/plugin` (or ' + - '`react-native-worklets/plugin`) directly to your list of babel ' + + '`react-native-worklets/plugin` directly to your list of babel ' + 'plugins in the `babel.config.js` file in the project root.' ); } diff --git a/packages/plugin-reanimated/src/plugin.ts b/packages/plugin-reanimated/src/plugin.ts index bfcf76c02..cc91ef88c 100644 --- a/packages/plugin-reanimated/src/plugin.ts +++ b/packages/plugin-reanimated/src/plugin.ts @@ -4,12 +4,14 @@ import semver, { type SemVer } from 'semver'; import type { Compiler as WebpackCompiler } from 'webpack'; import { createReanimatedModuleRules } from './rules.js'; +// Reanimated 4 prefixes the message with `[Reanimated] ` const REANIMATED_SETUP_TESTS_WARNING = - /'`setUpTests` is available only in Jest environment\.'/; + /`setUpTests` is available only in Jest environment\./; const WORKLETS_CRITICAL_DEPENDENCY_WARNING = /Critical dependency: require function is used in a way in which dependencies cannot be statically extracted/; -const WORKLETS_INITIALIZERS_MODULE = - /react-native-(?:worklets|reanimated)[\\/].*initializers(?:\.[cm]?[jt]sx?)?/; +// Modules that call `require` dynamically to load Jest-only dependencies +const WORKLETS_DYNAMIC_REQUIRE_MODULE = + /react-native-(?:worklets|reanimated)[\\/].*(?:initializers|jestUtils)/; type WarningLike = { message?: unknown; @@ -46,7 +48,7 @@ function warningToSearchableText(warning: unknown): string { interface ReanimatedPluginOptions { /** - * Custom options passed to 'react-native-reanimated/plugin' or 'react-native-worklets/plugin' babel plugins. + * Custom options passed to the 'react-native-worklets/plugin' babel plugin. */ babelPluginOptions?: Record; @@ -74,18 +76,23 @@ export class ReanimatedPlugin { const reanimatedVersion = this.getReanimatedVersion(reanimatedPath); - if (reanimatedVersion.major >= 4) { - this.ensureDependencyInstalled(compiler.context, 'react-native-worklets'); + if (reanimatedVersion.major < 4) { + const error = new Error( + `[RepackReanimatedPlugin] react-native-reanimated ${reanimatedVersion.version} is not supported. ` + + 'Re.Pack 6 requires react-native-reanimated 4 or newer.' + ); + // remove the stack trace to make the error more readable + error.stack = undefined; + throw error; } + this.ensureDependencyInstalled(compiler.context, 'react-native-worklets'); + if (!this.options.unstable_disableTransform) { // add rules for transpiling with reanimated loader // TODO made obsolete by the new babel-swc-loader, remove in 6.0 compiler.options.module.rules.push( - createReanimatedModuleRules( - reanimatedVersion.major, - this.options.babelPluginOptions - ) + createReanimatedModuleRules(this.options.babelPluginOptions) ); } @@ -96,7 +103,7 @@ export class ReanimatedPlugin { return ( REANIMATED_SETUP_TESTS_WARNING.test(warningText) || (WORKLETS_CRITICAL_DEPENDENCY_WARNING.test(warningText) && - WORKLETS_INITIALIZERS_MODULE.test(warningText)) + WORKLETS_DYNAMIC_REQUIRE_MODULE.test(warningText)) ); }); } diff --git a/packages/plugin-reanimated/src/rules.ts b/packages/plugin-reanimated/src/rules.ts index f05a55976..c12fc3a20 100644 --- a/packages/plugin-reanimated/src/rules.ts +++ b/packages/plugin-reanimated/src/rules.ts @@ -1,14 +1,10 @@ import { getModulePaths } from '@callstack/repack'; +const workletsBabelPlugin = 'react-native-worklets/plugin'; + export const createReanimatedModuleRules = ( - majorVersion: number, pluginOptions: Record = {} ) => { - const workletsBabelPlugin = - majorVersion < 4 - ? 'react-native-reanimated/plugin' - : 'react-native-worklets/plugin'; - return { exclude: getModulePaths([ 'react', @@ -66,14 +62,6 @@ export const createReanimatedModuleRules = ( }; }; -const reanimated3ModuleRules = createReanimatedModuleRules(3); -const reanimated4ModuleRules = createReanimatedModuleRules(4); +const reanimated4ModuleRules = createReanimatedModuleRules(); -// backwards compatibility export -const reanimatedModuleRules = reanimated3ModuleRules; - -export { - reanimated3ModuleRules, - reanimated4ModuleRules, - reanimatedModuleRules, -}; +export { reanimated4ModuleRules }; diff --git a/packages/repack-expo/package.json b/packages/repack-expo/package.json index 298fe6da6..3e53aec3a 100644 --- a/packages/repack-expo/package.json +++ b/packages/repack-expo/package.json @@ -43,7 +43,7 @@ ], "engineStrict": true, "engines": { - "node": ">=20.19" + "node": ">=22.12.0" }, "dependencies": { "@callstack/repack-plugin-expo-modules": "workspace:^", diff --git a/packages/repack-expo/src/cli/doctor.ts b/packages/repack-expo/src/cli/doctor.ts index fabaf04ee..058a43b39 100644 --- a/packages/repack-expo/src/cli/doctor.ts +++ b/packages/repack-expo/src/cli/doctor.ts @@ -236,7 +236,7 @@ export function runDoctor(options: DoctorOptions = {}): DoctorResult { diagnostics.push( error( 'MODULE_FEDERATION_V1_UNSUPPORTED', - 'Expo integration supports Module Federation v2 only.', + 'ModuleFederationPluginV1 was removed in Re.Pack 6; only Module Federation v2 is supported.', 'Replace the active federation plugin with Repack.plugins.ModuleFederationPluginV2.' ) ); diff --git a/packages/repack-expo/src/cli/rspackConfig.ts b/packages/repack-expo/src/cli/rspackConfig.ts index b1d5c1eff..d51bab6cd 100644 --- a/packages/repack-expo/src/cli/rspackConfig.ts +++ b/packages/repack-expo/src/cli/rspackConfig.ts @@ -91,15 +91,15 @@ function repackFederationPluginAliases(source: string): { v2: Set; } { const aliases = { - v1: new Set(['ModuleFederationPlugin', 'ModuleFederationPluginV1']), - v2: new Set(['ModuleFederationPluginV2']), + v1: new Set(['ModuleFederationPluginV1']), + v2: new Set(['ModuleFederationPlugin', 'ModuleFederationPluginV2']), }; for (const match of source.matchAll( /(ModuleFederationPlugin(?:V[12])?)\s*(?:as\s+|:\s*)([A-Za-z_$][\w$]*)/g )) { const importedName = match[1] as string; const alias = match[2] as string; - const version = importedName === 'ModuleFederationPluginV2' ? 'v2' : 'v1'; + const version = importedName === 'ModuleFederationPluginV1' ? 'v1' : 'v2'; const otherVersion = version === 'v2' ? 'v1' : 'v2'; aliases[otherVersion].delete(alias); aliases[version].add(alias); diff --git a/packages/repack-expo/test/cli.test.cjs b/packages/repack-expo/test/cli.test.cjs index d5d3ffdc4..82077ce52 100644 --- a/packages/repack-expo/test/cli.test.cjs +++ b/packages/repack-expo/test/cli.test.cjs @@ -190,19 +190,40 @@ test('detects an aliased Module Federation v2 plugin', () => { assert.equal(result.ok, true, JSON.stringify(result.diagnostics)); }); -test('doctor rejects unsupported active federation shapes with stable diagnostics', () => { +test('treats the ModuleFederationPlugin alias as Module Federation v2', () => { const cases = [ { - code: 'MODULE_FEDERATION_V1_UNSUPPORTED', federationImport: "import * as Repack from '@callstack/repack';", federationPlugin: - "new Repack.plugins.ModuleFederationPluginV1({ name: 'Widget' })", + "new Repack.plugins.ModuleFederationPlugin({ name: 'Host' })", + }, + { + federationImport: [ + "import * as Repack from '@callstack/repack';", + 'const { ModuleFederationPlugin: FederationPlugin } = Repack.plugins;', + ].join('\n'), + federationPlugin: "new FederationPlugin({ name: 'Host' })", }, + ]; + + for (const testCase of cases) { + const projectRoot = createProject(); + assert.equal(runInit({ projectRoot }).ok, true); + writeRspackConfig(projectRoot, testCase); + + const result = runDoctor({ projectRoot }); + + assert.equal(result.ok, true, JSON.stringify(result.diagnostics)); + } +}); + +test('doctor rejects unsupported active federation shapes with stable diagnostics', () => { + const cases = [ { code: 'MODULE_FEDERATION_V1_UNSUPPORTED', federationImport: "import * as Repack from '@callstack/repack';", federationPlugin: - "new Repack.plugins.ModuleFederationPlugin({ name: 'Widget' })", + "new Repack.plugins.ModuleFederationPluginV1({ name: 'Widget' })", }, { code: 'MODULE_FEDERATION_V1_UNSUPPORTED', @@ -214,7 +235,7 @@ test('doctor rejects unsupported active federation shapes with stable diagnostic code: 'MODULE_FEDERATION_V1_UNSUPPORTED', federationImport: [ "import * as Repack from '@callstack/repack';", - 'const { ModuleFederationPlugin: LegacyFederationPlugin } = Repack.plugins;', + 'const { ModuleFederationPluginV1: LegacyFederationPlugin } = Repack.plugins;', ].join('\n'), federationPlugin: "new LegacyFederationPlugin({ name: 'Widget' })", }, diff --git a/packages/repack/android/CMakeLists.txt b/packages/repack/android/CMakeLists.txt index f075e03ef..d597c68de 100644 --- a/packages/repack/android/CMakeLists.txt +++ b/packages/repack/android/CMakeLists.txt @@ -35,28 +35,10 @@ target_include_directories( "${REACT_NATIVE_DIR}/ReactCommon/callinvoker" "${REACT_NATIVE_DIR}/ReactAndroid/src/main/jni/react/turbomodule" ) -# REACT_NATIVE_MERGED_SO is not set properly -# use version check instead -if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 76) - target_link_libraries( - ${PACKAGE_NAME} - ReactAndroid::reactnative - ) -else() - target_link_libraries( - ${PACKAGE_NAME} - ReactAndroid::reactnativejni - ) -endif() - target_link_libraries( ${PACKAGE_NAME} + ReactAndroid::reactnative android fbjni::fbjni ReactAndroid::jsi ) - -# Enable Android 16kb native library alignment -if(CMAKE_ANDROID_NDK_VERSION VERSION_LESS "27") - target_link_options(${PACKAGE_NAME} PRIVATE "-Wl,-z,max-page-size=16384") -endif() diff --git a/packages/repack/android/build.gradle b/packages/repack/android/build.gradle index 824efd7fc..f79b3b16a 100644 --- a/packages/repack/android/build.gradle +++ b/packages/repack/android/build.gradle @@ -1,35 +1,3 @@ -import com.android.Version -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - -buildscript { - // Buildscript is evaluated before everything else so we can't use getExtOrDefault - def kotlin_version = rootProject.ext.has('kotlinVersion') ? rootProject.ext.get('kotlinVersion') : project.properties['RePack_kotlinVersion'] - - repositories { - google() - mavenCentral() - } - - dependencies { - classpath("com.android.tools.build:gradle:7.3.1") - // noinspection DifferentKotlinGradleVersion - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - -static def supportsNamespace() { - def parsed = Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.') - def major = parsed[0].toInteger() - def minor = parsed[1].toInteger() - - // Namespace support was added in 7.3.0 - return (major == 7 && minor >= 3) || major >= 8 -} - -def isNewArchitectureEnabled() { - return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true" -} - apply plugin: 'com.android.library' // AGP 9 ships built-in Kotlin support and registers the `kotlin` extension // itself. Applying the Kotlin plugin on top of it fails configuration with @@ -40,9 +8,7 @@ if (appliesKotlinPlugin) { apply plugin: 'kotlin-android' } -if (isNewArchitectureEnabled()) { - apply plugin: "com.facebook.react" -} +apply plugin: "com.facebook.react" def getExtOrDefault(name) { return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['RePack_' + name] @@ -72,25 +38,10 @@ def REACT_NATIVE_DIR = REACT_NATIVE_BUILD_FROM_SOURCE commandLine("node", "--print", "require.resolve('react-native/package.json')") }.standardOutput.asText.get().trim()).parent -def reactProperties = new Properties() -file("$REACT_NATIVE_DIR/ReactAndroid/gradle.properties").withInputStream { reactProperties.load(it) } - -def REACT_NATIVE_VERSION = reactProperties.getProperty("VERSION_NAME") -def REACT_NATIVE_MINOR_VERSION = REACT_NATIVE_VERSION.startsWith("0.0.0-") ? 1000 : REACT_NATIVE_VERSION.split("\\.")[1].toInteger() -def IS_NEW_ARCHITECTURE_ENABLED = isNewArchitectureEnabled() - android { - if (supportsNamespace()) { - namespace "com.callstack.repack" - - sourceSets { - main { - manifest.srcFile "src/main/AndroidManifestNew.xml" - } - } - } + namespace "com.callstack.repack" - compileSdkVersion getExtOrIntegerDefault('compileSdkVersion') + compileSdk getExtOrIntegerDefault('compileSdkVersion') if (rootProject.hasProperty("ndkPath")) { ndkPath rootProject.ext.ndkPath @@ -104,12 +55,11 @@ android { } defaultConfig { - minSdkVersion getExtOrIntegerDefault('minSdkVersion') - targetSdkVersion getExtOrIntegerDefault('targetSdkVersion') + minSdk getExtOrIntegerDefault('minSdkVersion') + targetSdk getExtOrIntegerDefault('targetSdkVersion') versionCode 1 versionName "1.0" consumerProguardFiles "consumer-rules.pro" - buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", IS_NEW_ARCHITECTURE_ENABLED.toString() externalNativeBuild { cmake { cppFlags "-O2 -frtti -fexceptions -Wall -Wno-unused-variable -fstack-protector-all" @@ -127,70 +77,38 @@ android { } } - lintOptions { + lint { disable 'GradleCompatible' } - compileOptions { - if (REACT_NATIVE_MINOR_VERSION < 69) { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - } - - if (appliesKotlinPlugin) { - kotlinOptions { - if (REACT_NATIVE_MINOR_VERSION < 69) { - jvmTarget = JavaVersion.VERSION_1_8 - } else if (REACT_NATIVE_MINOR_VERSION < 73) { - jvmTarget = JavaVersion.VERSION_11 - } - } - } - externalNativeBuild { cmake { path "CMakeLists.txt" } } - packagingOptions { - doNotStrip resolveBuildType() == 'debug' ? "**/**/*.so" : '' - excludes = [ - "META-INF", - "META-INF/**", - "**/libjsi.so", - "**/libc++_shared.so", - "**/libfbjni.so", - "**/libreactnativejni.so", - "**/libreactnative.so", - "**/libhermestooling.so", - ] - } - - // Force rebuild when changing architecture - tasks.withType(KotlinCompile) { - inputs.property 'newArchEnabled', IS_NEW_ARCHITECTURE_ENABLED - } - - sourceSets.main { - if (IS_NEW_ARCHITECTURE_ENABLED) { - java.srcDirs += [ - "src/newarch", - // This is needed to build Kotlin project with NewArch enabled - "${project.buildDir}/generated/source/codegen/java" + packaging { + jniLibs { + if (resolveBuildType() == 'debug') { + keepDebugSymbols += "**/**/*.so" + } + excludes += [ + "**/libjsi.so", + "**/libc++_shared.so", + "**/libfbjni.so", + "**/libreactnative.so", + "**/libhermestooling.so", ] - } else { - java.srcDirs += ["src/oldarch"] } - - // CallInvoker - if (REACT_NATIVE_MINOR_VERSION <= 73) { - java.srcDirs += "src/versioned/CallInvoker/73" - } else { - java.srcDirs += "src/versioned/CallInvoker/latest" + resources { + excludes += ["META-INF", "META-INF/**"] } } + + sourceSets.main { + // Codegen output for the ScriptManager TurboModule spec + java.srcDirs += ["${project.buildDir}/generated/source/codegen/java"] + } } repositories { diff --git a/packages/repack/android/gradle.properties b/packages/repack/android/gradle.properties index c56fe0d82..f94757221 100644 --- a/packages/repack/android/gradle.properties +++ b/packages/repack/android/gradle.properties @@ -1,4 +1,4 @@ -RePack_kotlinVersion=1.7.0 -RePack_compileSdkVersion=29 -RePack_targetSdkVersion=29 +RePack_kotlinVersion=2.0.21 +RePack_compileSdkVersion=35 +RePack_targetSdkVersion=35 RePack_minSdkVersion=24 diff --git a/packages/repack/android/src/main/AndroidManifest.xml b/packages/repack/android/src/main/AndroidManifest.xml index 546a2ebb5..a2f47b605 100644 --- a/packages/repack/android/src/main/AndroidManifest.xml +++ b/packages/repack/android/src/main/AndroidManifest.xml @@ -1,3 +1,2 @@ - + diff --git a/packages/repack/android/src/main/AndroidManifestNew.xml b/packages/repack/android/src/main/AndroidManifestNew.xml deleted file mode 100644 index a2f47b605..000000000 --- a/packages/repack/android/src/main/AndroidManifestNew.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/packages/repack/android/src/versioned/CallInvoker/latest/com/callstack/repack/NativeScriptLoader.kt b/packages/repack/android/src/main/java/com/callstack/repack/NativeScriptLoader.kt similarity index 84% rename from packages/repack/android/src/versioned/CallInvoker/latest/com/callstack/repack/NativeScriptLoader.kt rename to packages/repack/android/src/main/java/com/callstack/repack/NativeScriptLoader.kt index 7746d038f..3cc727805 100644 --- a/packages/repack/android/src/versioned/CallInvoker/latest/com/callstack/repack/NativeScriptLoader.kt +++ b/packages/repack/android/src/main/java/com/callstack/repack/NativeScriptLoader.kt @@ -22,9 +22,7 @@ class NativeScriptLoader(private val reactContext: ReactContext) { ) fun evaluate(script: ByteArray, url: String, promise: Promise? = null) { - // RN 0.74: CatalystInstance or BridgelessCatalystInstance - val catalystInstance = reactContext.catalystInstance - val callInvoker = catalystInstance?.jsCallInvokerHolder as? CallInvokerHolderImpl + val callInvoker = reactContext.jsCallInvokerHolder as? CallInvokerHolderImpl ?: throw Exception("Missing CallInvoker") val jsRuntime = reactContext.javaScriptContextHolder?.get() ?: throw Exception("Missing RN Runtime") diff --git a/packages/repack/android/src/main/java/com/callstack/repack/ScriptManagerModule.kt b/packages/repack/android/src/main/java/com/callstack/repack/ScriptManagerModule.kt index 7b4fc448f..e783e2eec 100644 --- a/packages/repack/android/src/main/java/com/callstack/repack/ScriptManagerModule.kt +++ b/packages/repack/android/src/main/java/com/callstack/repack/ScriptManagerModule.kt @@ -1,9 +1,10 @@ package com.callstack.repack import android.os.Handler +import com.facebook.fbreact.specs.NativeScriptManagerSpec import com.facebook.react.bridge.* -class ScriptManagerModule(reactContext: ReactApplicationContext) : ScriptManagerSpec(reactContext) { +class ScriptManagerModule(reactContext: ReactApplicationContext) : NativeScriptManagerSpec(reactContext) { private val nativeLoader = NativeScriptLoader(reactApplicationContext) private val remoteLoader = RemoteScriptLoader(reactApplicationContext, nativeLoader) private val fileSystemLoader = FileSystemScriptLoader(reactApplicationContext, nativeLoader) diff --git a/packages/repack/android/src/main/java/com/callstack/repack/ScriptManagerPackage.kt b/packages/repack/android/src/main/java/com/callstack/repack/ScriptManagerPackage.kt index 129857ac3..a7b5e3a66 100644 --- a/packages/repack/android/src/main/java/com/callstack/repack/ScriptManagerPackage.kt +++ b/packages/repack/android/src/main/java/com/callstack/repack/ScriptManagerPackage.kt @@ -1,12 +1,12 @@ package com.callstack.repack -import com.facebook.react.TurboReactPackage +import com.facebook.react.BaseReactPackage import com.facebook.react.bridge.NativeModule import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.module.model.ReactModuleInfo import com.facebook.react.module.model.ReactModuleInfoProvider -class ScriptManagerPackage : TurboReactPackage() { +class ScriptManagerPackage : BaseReactPackage() { override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? { return if (name == ScriptManagerModule.NAME) { ScriptManagerModule(reactContext) @@ -18,16 +18,13 @@ class ScriptManagerPackage : TurboReactPackage() { override fun getReactModuleInfoProvider(): ReactModuleInfoProvider { return ReactModuleInfoProvider { val moduleInfos: MutableMap = HashMap() - val isTurboModule: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED - // Use deprecated constructor for backwards compatibility moduleInfos[ScriptManagerModule.NAME] = ReactModuleInfo( ScriptManagerModule.NAME, ScriptManagerModule.NAME, - false, - true, - false, - false, - isTurboModule + false, // canOverrideExistingModule + true, // needsEagerInit + false, // isCxxModule + true // isTurboModule ) moduleInfos } diff --git a/packages/repack/android/src/newarch/ScriptManagerSpec.kt b/packages/repack/android/src/newarch/ScriptManagerSpec.kt deleted file mode 100644 index 01c7490e0..000000000 --- a/packages/repack/android/src/newarch/ScriptManagerSpec.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.callstack.repack - -import com.facebook.fbreact.specs.NativeScriptManagerSpec -import com.facebook.react.bridge.ReactApplicationContext - -abstract class ScriptManagerSpec internal constructor(context: ReactApplicationContext) : NativeScriptManagerSpec(context) { -} diff --git a/packages/repack/android/src/oldarch/ScriptManagerSpec.kt b/packages/repack/android/src/oldarch/ScriptManagerSpec.kt deleted file mode 100644 index 71701ac8c..000000000 --- a/packages/repack/android/src/oldarch/ScriptManagerSpec.kt +++ /dev/null @@ -1,15 +0,0 @@ -package com.callstack.repack - -import com.facebook.react.bridge.ReactApplicationContext -import com.facebook.react.bridge.ReactContextBaseJavaModule -import com.facebook.react.bridge.Promise -import com.facebook.react.bridge.ReadableArray -import com.facebook.react.bridge.ReadableMap - -abstract class ScriptManagerSpec internal constructor(context: ReactApplicationContext) : - ReactContextBaseJavaModule(context) { - abstract fun loadScript(scriptId: String, configMap: ReadableMap, promise: Promise) - abstract fun prefetchScript(scriptId: String, configMap: ReadableMap, promise: Promise) - abstract fun invalidateScripts(scriptIds: ReadableArray, promise: Promise) - abstract fun unstable_evaluateScript(scriptSource: String, scriptSourceUrl: String): Boolean -} diff --git a/packages/repack/android/src/versioned/CallInvoker/73/com/callstack/repack/NativeScriptLoader.kt b/packages/repack/android/src/versioned/CallInvoker/73/com/callstack/repack/NativeScriptLoader.kt deleted file mode 100644 index 71727eb34..000000000 --- a/packages/repack/android/src/versioned/CallInvoker/73/com/callstack/repack/NativeScriptLoader.kt +++ /dev/null @@ -1,41 +0,0 @@ -package com.callstack.repack - -import com.facebook.react.bridge.Promise -import com.facebook.react.bridge.ReactContext -import com.facebook.react.turbomodule.core.CallInvokerHolderImpl - -class NativeScriptLoader(private val reactContext: ReactContext) { - private external fun evaluateJavascriptAsync( - jsRuntime: Long, - callInvokerHolder: CallInvokerHolderImpl, - code: ByteArray, - url: String, - promise: Any - ) - - private external fun evaluateJavascriptSync( - jsRuntime: Long, - code: ByteArray, - url: String - ) - - fun evaluate(script: ByteArray, url: String, promise: Promise? = null) { - val catalystInstance = try { - reactContext.catalystInstance - } catch (e: Exception) { - throw Exception("Missing CatalystInstance - bridgeless on RN 0.73 is not supported") - } - - val callInvoker = catalystInstance?.jsCallInvokerHolder as? CallInvokerHolderImpl - ?: throw Exception("Missing CallInvoker") - val jsRuntime = catalystInstance.javaScriptContextHolder?.get() - ?: throw Exception("Missing RN Runtime") - - if (promise != null) { - evaluateJavascriptAsync(jsRuntime, callInvoker, script, url, promise) - } else { - // do we need the callinvoker when the call is sync? - evaluateJavascriptSync(jsRuntime, script, url) - } - } -} diff --git a/packages/repack/babel.config.js b/packages/repack/babel.config.js index c64d92ff5..584a66f0f 100644 --- a/packages/repack/babel.config.js +++ b/packages/repack/babel.config.js @@ -16,7 +16,7 @@ module.exports = { [ '@babel/preset-env', { - targets: { node: 18 }, + targets: { node: 22 }, // Disable CJS transform and add it manually. // Otherwise it will replace `import(...)` with `require(...)`, which // is not what we want. @@ -30,7 +30,7 @@ module.exports = { env: { // Transform everything in `test` environment, so unit test can pass. test: { - presets: [['@babel/preset-env', { targets: { node: 18 } }]], + presets: [['@babel/preset-env', { targets: { node: 22 } }]], }, }, }; diff --git a/packages/repack/callstack-repack.podspec b/packages/repack/callstack-repack.podspec index b174cf937..36801cc49 100644 --- a/packages/repack/callstack-repack.podspec +++ b/packages/repack/callstack-repack.podspec @@ -1,8 +1,6 @@ require "json" package = JSON.parse(File.read(File.join(__dir__, "package.json"))) -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -new_arch_enabled = ENV['RCT_NEW_ARCH_ENABLED'] == '1' Pod::Spec.new do |s| s.name = "callstack-repack" @@ -11,7 +9,7 @@ Pod::Spec.new do |s| s.homepage = package["homepage"] s.license = package["license"] s.authors = package["author"] - s.platforms = { :ios => "12.0" } + s.platforms = { :ios => min_ios_version_supported } s.source = { :git => "https://github.com/callstack/repack.git", :tag => "#{s.version}" } s.source_files = "ios/**/*.{h,m,mm,swift}" s.static_framework = true @@ -21,26 +19,5 @@ Pod::Spec.new do |s| s.dependency 'JWTDecode', '~> 3.0.0' s.dependency 'SwiftyRSA', '~> 1.7' - # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0. - # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79. - if respond_to?(:install_modules_dependencies, true) - install_modules_dependencies(s) - else - s.dependency "React-Core" - s.dependency "React-callinvoker" - # Don't install the dependencies when we run `pod install` in the old architecture. - if new_arch_enabled then - s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1" - s.pod_target_xcconfig.update({ - "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"", - "OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" - }) - s.dependency "React-Codegen" - s.dependency "RCT-Folly" - s.dependency "RCTRequired" - s.dependency "RCTTypeSafety" - s.dependency "ReactCommon/turbomodule/core" - end - end + install_modules_dependencies(s) end diff --git a/packages/repack/commands/rspack.d.ts b/packages/repack/commands/rspack.d.ts deleted file mode 100644 index 5802c7661..000000000 --- a/packages/repack/commands/rspack.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import commands from '../dist/commands/index.js'; -export = commands; diff --git a/packages/repack/commands/rspack.js b/packages/repack/commands/rspack.js deleted file mode 100644 index d71161aeb..000000000 --- a/packages/repack/commands/rspack.js +++ /dev/null @@ -1,5 +0,0 @@ -console.warn( - 'Importing "@callstack/repack/commands/rspack" is deprecated. Use "@callstack/repack/commands" instead.' -); -const { createBoundCommands } = require('../dist/commands/index.js'); -module.exports = createBoundCommands('rspack'); diff --git a/packages/repack/commands/webpack.d.ts b/packages/repack/commands/webpack.d.ts deleted file mode 100644 index 5802c7661..000000000 --- a/packages/repack/commands/webpack.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import commands from '../dist/commands/index.js'; -export = commands; diff --git a/packages/repack/commands/webpack.js b/packages/repack/commands/webpack.js deleted file mode 100644 index b2568fff1..000000000 --- a/packages/repack/commands/webpack.js +++ /dev/null @@ -1,5 +0,0 @@ -console.warn( - 'Importing "@callstack/repack/commands/webpack" is deprecated. Use "@callstack/repack/commands" instead.' -); -const { createBoundCommands } = require('../dist/commands/index.js'); -module.exports = createBoundCommands('webpack'); diff --git a/packages/repack/ios/ScriptConfig.h b/packages/repack/ios/ScriptConfig.h index ffafbe110..2c757679e 100644 --- a/packages/repack/ios/ScriptConfig.h +++ b/packages/repack/ios/ScriptConfig.h @@ -1,7 +1,7 @@ #ifndef ScriptConfig_h #define ScriptConfig_h -#ifdef RCT_NEW_ARCH_ENABLED +#ifdef __cplusplus #import "RNScriptManagerSpec.h" #endif @@ -23,11 +23,9 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, readonly) NSString *uniqueId; @property (nonatomic, readonly) NSString *sourceUrl; -#ifdef RCT_NEW_ARCH_ENABLED +#ifdef __cplusplus + (ScriptConfig *)fromConfig:(JS::NativeScriptManager::NormalizedScriptLocator &)config withScriptId:(NSString *)scriptId; -#else -+ (ScriptConfig *)fromConfig:(NSDictionary *)config withScriptId:(NSString *)scriptId; #endif - (ScriptConfig *)initWithScript:(NSString *)scriptId diff --git a/packages/repack/ios/ScriptConfig.mm b/packages/repack/ios/ScriptConfig.mm index 65357ebfc..1c88faa4b 100644 --- a/packages/repack/ios/ScriptConfig.mm +++ b/packages/repack/ios/ScriptConfig.mm @@ -17,7 +17,6 @@ @implementation ScriptConfig @synthesize uniqueId = _uniqueId; @synthesize sourceUrl = _sourceUrl; -#ifdef RCT_NEW_ARCH_ENABLED + (ScriptConfig *)fromConfig:(JS::NativeScriptManager::NormalizedScriptLocator &)config withScriptId:(nonnull NSString *)scriptId { @@ -47,33 +46,6 @@ + (ScriptConfig *)fromConfig:(JS::NativeScriptManager::NormalizedScriptLocator & withUniqueId:config.uniqueId() withSourceUrl:sourceUrl]; } -#else -+ (ScriptConfig *)fromConfig:(NSDictionary *)config withScriptId:(nonnull NSString *)scriptId -{ - NSURLComponents *urlComponents = [NSURLComponents componentsWithString:config[@"url"]]; - if (config[@"query"] != nil) { - urlComponents.percentEncodedQuery = config[@"query"]; - } - NSURL *url = urlComponents.URL; - - urlComponents.query = nil; - NSString *sourceUrl = urlComponents.URL.absoluteString; - - return [[ScriptConfig alloc] initWithScript:scriptId - withURL:url - withMethod:config[@"method"] - withQuery:config[@"query"] - withFetch:[config[@"fetch"] boolValue] - withAbsolute:[config[@"absolute"] boolValue] - withHeaders:config[@"headers"] - withBody:[config[@"body"] dataUsingEncoding:NSUTF8StringEncoding] - withTimeout:config[@"timeout"] - withVerifyScriptSignature:config[@"verifyScriptSignature"] - withPublicKey:config[@"publicKey"] - withUniqueId:config[@"uniqueId"] - withSourceUrl:sourceUrl]; -} -#endif - (id)init { diff --git a/packages/repack/ios/ScriptManager.h b/packages/repack/ios/ScriptManager.h index 7bd197f09..aea786594 100644 --- a/packages/repack/ios/ScriptManager.h +++ b/packages/repack/ios/ScriptManager.h @@ -1,12 +1,8 @@ -#ifdef RCT_NEW_ARCH_ENABLED -#import "RNScriptManagerSpec.h" - -@interface ScriptManager : NSObject -#else #import +// Conformance to the C++ codegen spec is declared in ScriptManager.mm so this +// header stays importable from Swift and Objective-C. @interface ScriptManager : NSObject -#endif /** * Factory used to create the `NSURLSession` for downloading remote scripts. diff --git a/packages/repack/ios/ScriptManager.mm b/packages/repack/ios/ScriptManager.mm index 1dc10e696..8fa2168d1 100644 --- a/packages/repack/ios/ScriptManager.mm +++ b/packages/repack/ios/ScriptManager.mm @@ -13,15 +13,14 @@ #import #import -@interface RCTBridge (JSIRuntime) -- (void *)runtime; +#import "RNScriptManagerSpec.h" + +@interface ScriptManager () @end -#ifndef RCT_NEW_ARCH_ENABLED -@interface RCTBridge (RCTTurboModule) -- (std::shared_ptr)jsCallInvoker; +@interface RCTBridge (JSIRuntime) +- (void *)runtime; @end -#endif static NSURLSession * (^_urlSessionFactory)(void) = nil; static NSURLSession *_cachedURLSession = nil; @@ -73,19 +72,11 @@ - (NSURLSession *)urlSession return _cachedURLSession; } -#ifdef RCT_NEW_ARCH_ENABLED RCT_EXPORT_METHOD(loadScript : (nonnull NSString *)scriptId scriptConfig : (JS::NativeScriptManager::NormalizedScriptLocator &)scriptConfig resolve : (RCTPromiseResolveBlock)resolve reject : (RCTPromiseRejectBlock)reject) -#else -RCT_EXPORT_METHOD(loadScript - : (nonnull NSString *)scriptId scriptConfig - : (nonnull NSDictionary *)scriptConfig resolve - : (RCTPromiseResolveBlock)resolve reject - : (RCTPromiseRejectBlock)reject) -#endif { ScriptConfig *config; @try { @@ -122,19 +113,11 @@ - (NSURLSession *)urlSession }]; } -#ifdef RCT_NEW_ARCH_ENABLED RCT_EXPORT_METHOD(prefetchScript : (nonnull NSString *)scriptId scriptConfig : (JS::NativeScriptManager::NormalizedScriptLocator &)scriptConfig resolve : (RCTPromiseResolveBlock)resolve reject : (RCTPromiseRejectBlock)reject) -#else -RCT_EXPORT_METHOD(prefetchScript - : (nonnull NSString *)scriptId scriptConfig - : (nonnull NSDictionary *)scriptConfig resolve - : (RCTPromiseResolveBlock)resolve reject - : (RCTPromiseRejectBlock)reject) -#endif { ScriptConfig *config; @try { @@ -395,7 +378,7 @@ - (void)evaluateJavascript:(NSData *)code { std::shared_ptr callInvoker = self.bridge.jsCallInvoker; if (!callInvoker) { - reject(CallInvokerUnavailableError, @"Missing CallInvoker - bridgeless on RN 0.73 is not supported", nil); + reject(CallInvokerUnavailableError, @"Missing CallInvoker", nil); return; } @@ -428,12 +411,10 @@ - (void)runInBackground:(void (^)())callback dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), callback); } -#ifdef RCT_NEW_ARCH_ENABLED - (std::shared_ptr)getTurboModule: (const facebook::react::ObjCTurboModule::InitParams &)params { return std::make_shared(params); } -#endif @end diff --git a/packages/repack/package.json b/packages/repack/package.json index 69cf9c512..d0079a0ce 100644 --- a/packages/repack/package.json +++ b/packages/repack/package.json @@ -9,7 +9,6 @@ ".": "./dist/index.js", "./client": "./client/index.js", "./commands": "./commands/index.js", - "./commands/*": "./commands/*.js", "./assets-loader": "./dist/loaders/assetsLoader/index.js", "./babel-loader": "./dist/loaders/babelLoader/index.js", "./babel-swc-loader": "./dist/loaders/babelSwcLoader/index.js", @@ -47,7 +46,7 @@ "author": "zamotany ", "license": "MIT", "engines": { - "node": ">=18" + "node": ">=22.12.0" }, "publishConfig": { "registry": "https://registry.npmjs.org/", @@ -65,9 +64,9 @@ "clang-format:android": "find android/src/ -iname \"*.h\" -o -iname \"*.cpp\" | xargs clang-format -i" }, "peerDependencies": { - "@module-federation/enhanced": ">=0.6.10", + "@module-federation/enhanced": ">=2.0.0", "@rspack/core": ">=1", - "react-native": ">=0.74", + "react-native": ">=0.82", "webpack": ">=5.90" }, "peerDependenciesMeta": { @@ -104,7 +103,7 @@ "semver": "^7.7.2", "shallowequal": "^1.1.0", "tapable": "^2.2.1", - "terser-webpack-plugin": "5.5.0", + "terser-webpack-plugin": "^5.6.1", "throttleit": "^2.1.0", "webpack-merge": "^6.0.1" }, @@ -113,8 +112,8 @@ "@babel/core": "^7.29.7", "@babel/plugin-transform-export-namespace-from": "^7.29.7", "@babel/plugin-transform-modules-commonjs": "^7.29.7", - "@module-federation/enhanced": "0.8.9", - "@module-federation/sdk": "0.6.10", + "@module-federation/enhanced": "catalog:testers", + "@module-federation/sdk": "2.8.0", "@rspack/core": "catalog:", "@swc/helpers": "catalog:", "@types/babel__core": "^7.20.5", @@ -125,7 +124,6 @@ "@types/mime-types": "^2.1.1", "@types/node": "catalog:", "@types/react": "catalog:testers", - "@types/react-dom": "^17.0.7", "@types/semver": "^7.7.0", "@types/shallowequal": "^1.1.1", "babel-jest": "^29.7.0", diff --git a/packages/repack/src/commands/__tests__/index.test.ts b/packages/repack/src/commands/__tests__/index.test.ts deleted file mode 100644 index ecf0f5c2e..000000000 --- a/packages/repack/src/commands/__tests__/index.test.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { bundle } from '../bundle.js'; -import { createBoundCommands } from '../index.js'; -import type { BundleArguments, CliConfig, StartArguments } from '../types.js'; - -jest.mock('../bundle.js'); -jest.mock('../start.js'); - -const cliConfig: CliConfig = { - root: '/project', - platforms: ['ios'], - reactNativePath: '/project/node_modules/react-native', -}; - -const args = { - dev: true, - host: '', - platform: 'ios', -} satisfies BundleArguments & StartArguments; - -describe('createBoundCommands', () => { - const consoleWarn = jest.spyOn(console, 'warn').mockImplementation(); - - test('warns when the bound command overrides --bundler', async () => { - const [command] = createBoundCommands('webpack'); - - await command.func([], cliConfig, { ...args, bundler: 'rspack' }); - - expect(consoleWarn).toHaveBeenCalledWith( - 'Ignoring "--bundler rspack" because the deprecated "@callstack/repack/commands/webpack" entry point explicitly selects webpack. Use "@callstack/repack/commands" to select a bundler with --bundler.' - ); - expect(bundle).toHaveBeenCalledWith( - [], - cliConfig, - { ...args, bundler: 'rspack' }, - 'webpack' - ); - }); - - test.each([undefined, 'webpack' as const])( - 'does not warn when --bundler is %s', - async (bundler) => { - const [command] = createBoundCommands('webpack'); - - await command.func([], cliConfig, { ...args, bundler }); - - expect(consoleWarn).not.toHaveBeenCalled(); - } - ); -}); diff --git a/packages/repack/src/commands/bundle.ts b/packages/repack/src/commands/bundle.ts index 894da4639..d83e9cdfe 100644 --- a/packages/repack/src/commands/bundle.ts +++ b/packages/repack/src/commands/bundle.ts @@ -11,7 +11,6 @@ import { } from './common/index.js'; import type { BundleArguments, - Bundler, CliConfig, ConfigurationObject, } from './types.js'; @@ -52,21 +51,13 @@ interface BundleStats { * @param _ Original, non-parsed arguments that were provided when running this command. * @param cliConfig Configuration object containing platform and project settings. * @param args Parsed command line arguments. - * @param forcedBundler Optional bundler override from deprecated entry points. */ export async function bundle( _: string[], cliConfig: CliConfig, - args: BundleArguments, - forcedBundler?: Bundler + args: BundleArguments ) { - const bundler = - forcedBundler ?? - detectBundler( - cliConfig.root, - args.config ?? args.webpackConfig, - args.bundler - ); + const bundler = detectBundler(cliConfig.root, args.config, args.bundler); const [config] = await makeCompilerConfig({ args: args, diff --git a/packages/repack/src/commands/common/config/__tests__/normalizeConfig.test.ts b/packages/repack/src/commands/common/config/__tests__/normalizeConfig.test.ts index a7d987e3d..b5c50a6b4 100644 --- a/packages/repack/src/commands/common/config/__tests__/normalizeConfig.test.ts +++ b/packages/repack/src/commands/common/config/__tests__/normalizeConfig.test.ts @@ -62,14 +62,6 @@ describe('normalizeConfig', () => { }); describe('output.publicPath normalization', () => { - it('should set publicPath to noop if it uses deprecated getPublicPath', () => { - const config = { - output: { publicPath: 'DEPRECATED_GET_PUBLIC_PATH' }, - } as ConfigurationObject; - const normalized = normalizeConfig(config, 'ios'); - expect(normalized.output?.publicPath).toBe('noop:///'); - }); - it('should set publicPath to devServer public path if it uses DEV_SERVER_PUBLIC_PATH', () => { const config = { devServer: { host: 'example.com', port: 3000 }, diff --git a/packages/repack/src/commands/common/config/makeCompilerConfig.ts b/packages/repack/src/commands/common/config/makeCompilerConfig.ts index c5a96bbe9..e3867bd18 100644 --- a/packages/repack/src/commands/common/config/makeCompilerConfig.ts +++ b/packages/repack/src/commands/common/config/makeCompilerConfig.ts @@ -27,11 +27,7 @@ export async function makeCompilerConfig( ): Promise { const { args, bundler, command, rootDir, reactNativePath } = options; // discover location of project config - const configPath = getConfigFilePath( - bundler, - rootDir, - args.config ?? args.webpackConfig - ); + const configPath = getConfigFilePath(bundler, rootDir, args.config); // get env options for backwards compatibility with 4.X configs // injected as first argument to config functions diff --git a/packages/repack/src/commands/common/config/normalizeConfig.ts b/packages/repack/src/commands/common/config/normalizeConfig.ts index 8e0029d7d..06990b1f2 100644 --- a/packages/repack/src/commands/common/config/normalizeConfig.ts +++ b/packages/repack/src/commands/common/config/normalizeConfig.ts @@ -30,11 +30,6 @@ function normalizePublicPath( host?: string, port?: number ): string { - /* set public path to noop if it's using the deprecated `getPublicPath` function */ - if (publicPath === 'DEPRECATED_GET_PUBLIC_PATH') { - return 'noop:///'; - } - if (publicPath === 'DEV_SERVER_PUBLIC_PATH') { return `http://${host}:${port}/${platform}/`; } diff --git a/packages/repack/src/commands/index.ts b/packages/repack/src/commands/index.ts index 858fb2fcb..5436af0ee 100644 --- a/packages/repack/src/commands/index.ts +++ b/packages/repack/src/commands/index.ts @@ -1,12 +1,6 @@ import { bundle } from './bundle.js'; import { bundleCommandOptions, startCommandOptions } from './options.js'; import { start } from './start.js'; -import type { - BundleArguments, - Bundler, - CliConfig, - StartArguments, -} from './types.js'; const commands = [ { @@ -36,27 +30,3 @@ const commands = [ ] as const; export default commands; - -/** - * Creates command definitions with a forced bundler engine. - * Used by deprecated entry points (`commands/rspack`, `commands/webpack`) - * to maintain backwards compatibility. - */ -export function createBoundCommands(bundler: Bundler) { - return commands.map((cmd) => ({ - ...cmd, - func: ( - _: string[], - cliConfig: CliConfig, - args: BundleArguments & StartArguments - ) => { - if (args.bundler && args.bundler !== bundler) { - console.warn( - `Ignoring "--bundler ${args.bundler}" because the deprecated "@callstack/repack/commands/${bundler}" entry point explicitly selects ${bundler}. Use "@callstack/repack/commands" to select a bundler with --bundler.` - ); - } - - return cmd.func(_, cliConfig, args, bundler); - }, - })); -} diff --git a/packages/repack/src/commands/options.ts b/packages/repack/src/commands/options.ts index fa7e18819..2f9063843 100644 --- a/packages/repack/src/commands/options.ts +++ b/packages/repack/src/commands/options.ts @@ -82,12 +82,6 @@ export const startCommandOptions = [ description: 'Path to a bundler config file, e.g webpack.config.js', parse: (val: string) => path.resolve(val), }, - { - name: '--webpackConfig ', - description: - '[DEPRECATED] Path to a bundler config file, e.g webpack.config.js. Please use --config instead.', - parse: (val: string) => path.resolve(val), - }, { name: '--bundler ', description: @@ -184,12 +178,6 @@ export const bundleCommandOptions = [ description: 'Path to a bundler config file, e.g webpack.config.js', parse: (val: string) => path.resolve(val), }, - { - name: '--webpackConfig ', - description: - '[DEPRECATED] Path to a bundler config file, e.g webpack.config.js. Please use --config instead.', - parse: (val: string) => path.resolve(val), - }, { name: '--bundler ', description: diff --git a/packages/repack/src/commands/start.ts b/packages/repack/src/commands/start.ts index f1d81865f..7bde8e1cf 100644 --- a/packages/repack/src/commands/start.ts +++ b/packages/repack/src/commands/start.ts @@ -26,7 +26,6 @@ import { } from './common/index.js'; import logo from './common/logo.js'; import type { - Bundler, CliConfig, CompilerInterface, ConfigurationObject, @@ -43,21 +42,13 @@ import type { * @param _ Original, non-parsed arguments that were provided when running this command. * @param cliConfig Configuration object containing platform and project settings. * @param args Parsed command line arguments. - * @param forcedBundler Optional bundler override from deprecated entry points. */ export async function start( _: string[], cliConfig: CliConfig, - args: StartArguments, - forcedBundler?: Bundler + args: StartArguments ) { - const bundler = - forcedBundler ?? - detectBundler( - cliConfig.root, - args.config ?? args.webpackConfig, - args.bundler - ); + const bundler = detectBundler(cliConfig.root, args.config, args.bundler); const detectedPlatforms = Object.keys(cliConfig.platforms); diff --git a/packages/repack/src/commands/types.ts b/packages/repack/src/commands/types.ts index ee98126e6..dd08a8187 100644 --- a/packages/repack/src/commands/types.ts +++ b/packages/repack/src/commands/types.ts @@ -18,7 +18,6 @@ export interface BundleArguments { watch?: boolean; maxWorkers?: number; config?: string; - webpackConfig?: string; bundler?: Bundler; } @@ -38,7 +37,6 @@ export interface StartArguments { verbose?: boolean; maxWorkers?: number; config?: string; - webpackConfig?: string; bundler?: Bundler; } diff --git a/packages/repack/src/loaders/assetsLoader/convertToRemoteAssets.ts b/packages/repack/src/loaders/assetsLoader/convertToRemoteAssets.ts index b8e95f1a4..15d331507 100644 --- a/packages/repack/src/loaders/assetsLoader/convertToRemoteAssets.ts +++ b/packages/repack/src/loaders/assetsLoader/convertToRemoteAssets.ts @@ -43,8 +43,7 @@ export function convertToRemoteAssets({ }); return dedent` - var AssetSourceResolver = require('react-native/Libraries/Image/AssetSourceResolver'); - if ('default' in AssetSourceResolver) AssetSourceResolver = AssetSourceResolver.default; + var AssetSourceResolver = require('react-native/Libraries/Image/AssetSourceResolver').default; var resolver = new AssetSourceResolver(undefined, undefined, ${asset}); module.exports = resolver.scaledAssetPath(); diff --git a/packages/repack/src/loaders/assetsLoader/inlineAssets.ts b/packages/repack/src/loaders/assetsLoader/inlineAssets.ts index 9dd776c5e..45f002a62 100644 --- a/packages/repack/src/loaders/assetsLoader/inlineAssets.ts +++ b/packages/repack/src/loaders/assetsLoader/inlineAssets.ts @@ -33,17 +33,10 @@ export function inlineAssets({ const scales = JSON.stringify(Object.keys(sourceSet).map(Number)); - /** - * To enable scale resolution in runtime we need to import PixelRatio & AssetSourceResolver - * Although we could use AssetSourceResolver as it is, we need to import PixelRatio to remain - * compatible with older versions of React-Native. Newer versions of React-Native use - * ESM for PixelRatio, so we need to check if PixelRatio is an ESM module and if so, adjust the import. - */ + // Pick the scale matching the device pixel ratio at runtime. return dedent` var PixelRatio = require('react-native').PixelRatio; - var AssetSourceResolver = require('react-native/Libraries/Image/AssetSourceResolver'); - - if ('default' in AssetSourceResolver) AssetSourceResolver = AssetSourceResolver.default; + var AssetSourceResolver = require('react-native/Libraries/Image/AssetSourceResolver').default; var prefferedScale = AssetSourceResolver.pickScale(${scales}, PixelRatio.get()); module.exports = ${JSON.stringify(sourceSet)}[prefferedScale]; diff --git a/packages/repack/src/modules/DevServerClient.ts b/packages/repack/src/modules/DevServerClient.ts index 288d9cb6b..48ae86f4d 100644 --- a/packages/repack/src/modules/DevServerClient.ts +++ b/packages/repack/src/modules/DevServerClient.ts @@ -85,22 +85,13 @@ class DevServerClient { const client = new DevServerClient(); -// React Native < 0.79 -export function setup() {} -export function enable() {} -export function disable() {} -export function registerBundle() {} -export function log(level: string, data: any[]) { - client.log(level, data); -} -export function unstable_notifyFuseboxConsoleEnabled() {} - -// React Native >= 0.79 export default { - setup, - enable, - disable, - registerBundle, - log, - unstable_notifyFuseboxConsoleEnabled, + setup() {}, + enable() {}, + disable() {}, + registerBundle() {}, + log(level: string, data: any[]) { + client.log(level, data); + }, + unstable_notifyFuseboxConsoleEnabled() {}, }; diff --git a/packages/repack/src/modules/FederationRuntimePlugins/CorePlugin.ts b/packages/repack/src/modules/FederationRuntimePlugins/CorePlugin.ts index 67196d99e..2ac7be431 100644 --- a/packages/repack/src/modules/FederationRuntimePlugins/CorePlugin.ts +++ b/packages/repack/src/modules/FederationRuntimePlugins/CorePlugin.ts @@ -1,7 +1,7 @@ -import type { FederationRuntimePlugin } from '@module-federation/enhanced/runtime'; +import type { ModuleFederationRuntimePlugin } from '@module-federation/enhanced/runtime'; import type * as RepackClient from '../ScriptManager/index.js'; -const RepackCorePlugin: () => FederationRuntimePlugin = () => ({ +const RepackCorePlugin: () => ModuleFederationRuntimePlugin = () => ({ name: 'repack-core-plugin', loadEntry: async ({ remoteInfo }) => { const client = require('../ScriptManager/index.js') as typeof RepackClient; diff --git a/packages/repack/src/modules/FederationRuntimePlugins/PrefetchPlugin.ts b/packages/repack/src/modules/FederationRuntimePlugins/PrefetchPlugin.ts index 9bb5f6dac..a33649001 100644 --- a/packages/repack/src/modules/FederationRuntimePlugins/PrefetchPlugin.ts +++ b/packages/repack/src/modules/FederationRuntimePlugins/PrefetchPlugin.ts @@ -1,4 +1,4 @@ -import type { FederationRuntimePlugin } from '@module-federation/enhanced/runtime'; +import type { ModuleFederationRuntimePlugin } from '@module-federation/enhanced/runtime'; import type * as RepackClient from '../ScriptManager/index.js'; interface PrefetchAsset { @@ -32,7 +32,7 @@ function prefetchAsset(asset: PrefetchAsset) { ); } -const RepackPrefetchPlugin: () => FederationRuntimePlugin = () => ({ +const RepackPrefetchPlugin: () => ModuleFederationRuntimePlugin = () => ({ name: 'repack-prefetch-plugin', generatePreloadAssets: async (args) => { const preloadConfig = args.preloadOptions.preloadConfig; diff --git a/packages/repack/src/modules/FederationRuntimePlugins/ResolverPlugin.ts b/packages/repack/src/modules/FederationRuntimePlugins/ResolverPlugin.ts index 7474f6071..d258792d8 100644 --- a/packages/repack/src/modules/FederationRuntimePlugins/ResolverPlugin.ts +++ b/packages/repack/src/modules/FederationRuntimePlugins/ResolverPlugin.ts @@ -1,10 +1,10 @@ import type { - FederationHost, - FederationRuntimePlugin, + ModuleFederation, + ModuleFederationRuntimePlugin, } from '@module-federation/enhanced/runtime'; import type { ScriptLocator } from '../ScriptManager/index.js'; -type MFRemote = Parameters[0][0]; +type MFRemote = Parameters[0][0]; export type RepackResolverPluginConfiguration = | Omit @@ -87,7 +87,7 @@ const registerResolver = async ( const RepackResolverPlugin: ( config?: RepackResolverPluginConfiguration -) => FederationRuntimePlugin = (config) => ({ +) => ModuleFederationRuntimePlugin = (config) => ({ name: 'repack-resolver-plugin', registerRemote: (args) => { registerResolver(args.remote, config); diff --git a/packages/repack/src/modules/ScriptManager/federated.ts b/packages/repack/src/modules/ScriptManager/federated.ts deleted file mode 100644 index 5779d49ed..000000000 --- a/packages/repack/src/modules/ScriptManager/federated.ts +++ /dev/null @@ -1,296 +0,0 @@ -import { ScriptManager } from './ScriptManager.js'; - -/** - * Namespace for runtime utilities for Module Federation. - */ -export namespace Federated { - /** - * @deprecated - * - * Resolves URL to a container or a chunk when using Module Federation, - * based on given `scriptId` and `caller`. - */ - export type URLResolver = ( - scriptId: string, - caller?: string - ) => - | string - | ((webpackContext: RepackRuntimeGlobals.WebpackRequire) => string) - | undefined; - - /** - * @deprecated - * - * Configuration options for {@link createURLResolver} for Module Federation. - * Allows to configure how created {@link URLResolver} will behave. - */ - export interface URLResolverConfig { - /** - * A Module Federation container names to URL templates mapping. - * - * The key in the object is a container name and the value is a template - * that will be used to resolve a URL. - * - * Accepted template params: - * - `[name]` - Container name - * - `[ext]` - Container extension, eg: `.container.bundle` - * - * You can omit `[ext]`, if you're using custom extension, in which case, you should - * provide extension explicitly. When using custom extension, it's recommended to - * provide a URL template for chunks as well using `chunks` property. - * - * @example - * ```ts - * { - * containers: { - * app1: 'http://localhost:9000/[name][ext]' - * } - * } - * ``` - */ - containers: Record; - - /** - * An optional Module Federation container names to URL templates mapping. - * - * The key in the object is a container names and the value is a template - * that will be used to resolve a __chunk__ URL for that container. - * - * Specifying this property is useful if: - * - containers have custom extension (different from `.container.bundle`) - * - chunks have custom extensions (different from `.chunk.bundle`) - * - chunks have different URL that containers - * - * When this property is left unspecified, the template URLs are inferred from - * `containers` property. The following: - * ``` - * { - * containers: { - * app1: 'http://localhost:9000/[name][ext] - * app2: 'http://localhost:9000/[name].js - * }, - * } - * ``` - * is equivalent to: - * ```ts - * { - * containers: { - * app1: 'http://localhost:9000/[name][ext]', - * app2: 'http://localhost:9000/[name].js', - * }, - * chunks: { - * app1: 'http://localhost:9000/[name][ext]', - * app2: 'http://localhost:9000/[name].js', - * }, - * } - * ``` - * - * Accepted template params: - * - `[name]` - Container name - * - `[ext]` - Chunk extension, eg: `.chunk.bundle` - * - * @example - * ```ts - * { - * containers: { - * app1: 'http://localhost:9000/[name].container.js', - * }, - * chunks: { - * app1: 'http://localhost:9000/chunks/[name][ext]', - * } - * } - * ``` - */ - chunks?: Record; - } - - /** - * @deprecated - * - * Creates URL resolver for Module Federation from provided config. - * - * @example - * ```ts - * import { ScriptManager, Script, Federated } from '@callstack/repack/client'; - * - * const resolveURL = Federated.createURLResolver({ - * containers: { - * app1: 'http://localhost:9001/[name][ext]', - * app2: 'http://localhost:9002/[name].container.js', - * }, - * chunks: { - * app2: 'http://localhost:9002/chunks/[name][ext]', - * }, - * }); - * - * ScriptManager.shared.addResolver(async (scriptId, caller) => { - * let url; - * if (caller === 'main') { - * url = __DEV__ - * ? Script.getDevServerURL(scriptId) - * : Script.getRemoteURL(`http://localhost:9000/${scriptId}`); - * } else { - * url = resolveURL(scriptId, caller); - * } - * - * if (!url) { - * return undefined; - * } - * - * return { - * url, - * query: { - * platform: Platform.OS, - * }, - * }; - * }); - * ``` - * - * `createURLResolver` is a abstraction over {@link Script.getRemoteURL}, - * for example: - * ```ts - * import { ScriptManager, Federated } from '@callstack/repack/client'; - * - * ScriptManager.shared.addResolver((scriptId, caller) => { - * const resolveURL = Federated.createURLResolver({ - * containers: { - * app1: 'http://localhost:9000/[name][ext]', - * }, - * }); - * - * return { - * url: resolveURL(scriptId, caller); - * }; - * }); - * ``` - * is equivalent to: - * ```ts - * import { ScriptManager, Script } from '@callstack/repack/client'; - * - * ScriptManager.shared.addResolver(async (scriptId, caller) => { - * if (scriptId === 'app1') { - * return { - * url: 'http://localhost:9000/app1.container.bundle', - * }; - * } - * - * if (caller === 'app1') { - * return { - * url: Script.getRemoteURL(`http://localhost:9000/${scriptId}`), - * }; - * } - * }); - * ``` - * - * @param config Configuration for the resolver. - * @param containerExt Extension of container bundles. Defaults to `.container.bundle`. - * @returns A resolver function which will try to resolve URL based on given `scriptId` and `caller`. - */ - export function createURLResolver( - config: Federated.URLResolverConfig, - containerExt = '.container.bundle' - ): Federated.URLResolver { - const resolvers: Record = {}; - - for (const key in config.containers) { - resolvers[key] = (scriptId: string, caller?: string) => { - if (scriptId === key) { - const url = config.containers[key] - .replace(/\[name\]/g, scriptId) - .replace(/\[ext\]/g, containerExt); - return url; - } - - if (caller === key) { - const url = (config.chunks?.[key] ?? config.containers[key]).replace( - /\[name\]/g, - scriptId - ); - - if (url.includes('[ext]')) { - return (webpackContext: RepackRuntimeGlobals.WebpackRequire) => - webpackContext.u(url.replace(/\[ext\]/g, '')); - } - - return url; - } - - return undefined; - }; - } - - return (scriptId, caller) => { - const resolver = - (caller ? resolvers[caller] : undefined) ?? resolvers[scriptId]; - - return resolver(scriptId, caller); - }; - } - - declare function __webpack_init_sharing__(scope: string): Promise; - declare let __webpack_share_scopes__: Record; - declare let self: Record; - - /** - * @deprecated - * - * Dynamically imports module from a Module Federation container. Similar to `import('file')`, but - * specific to Module Federation. Calling `importModule` will create an async boundary. - * - * Container will be evaluated only once. If you use `importModule` for the same container twice, - * the container will be loaded and evaluated only on the first import. - * - * Under the hood, `importModule` will call `ScriptManager.shared.loadScript(containerName)`. - * This means, a resolver must be added with `ScriptManager.shared.addResolver(...)` beforehand and provided proper - * resolution logic to resolve URL based on the `containerName`. - * - * @param containerName Name of the container - should be the same name provided to - * `webpack.container.ModuleFederationPlugin` in `library.name`. - * @param module Full name with extension of the module to import from the container - only modules - * exposed in `exposes` in `webpack.container.ModuleFederationPlugin` can be used. - * @param scope Optional, scope for sharing modules between containers. Defaults to `'default'`. - * @returns Exports of given `module` from given container. - * - * @example - * ```ts - * import * as React from 'react'; - * import { Federated } from '@callstack/repack/client'; - * - * const Button = React.lazy(() => Federated.importModule('my-components', './Button.js')); - * - * const myUtil = await Federated.importModule('my-lib', './myUtil.js'); - * ``` - */ - export async function importModule( - containerName: string, - module: string, - scope = 'default' - ): Promise { - if (!__webpack_share_scopes__[scope]?.__isInitialized) { - // Initializes the share scope. - // This fills it with known provided modules from this build and all remotes. - await __webpack_init_sharing__(scope); - __webpack_share_scopes__[scope].__isInitialized = true; - } - - // Do not use `const container = self[containerName];` here. Once container is loaded - // `container` reference is not updated, so `container.__isInitialized` - // will crash the application, because of reading property from `undefined`. - if (!self[containerName]) { - // Download and execute container - await ScriptManager.shared.loadScript(containerName); - } - - const container = self[containerName]; - - if (!container.__isInitialized) { - container.__isInitialized = true; - // Initialize the container, it may provide shared modules - await container.init(__webpack_share_scopes__[scope]); - } - - const factory = await container.get(module); - const exports = factory(); - return exports; - } -} diff --git a/packages/repack/src/modules/ScriptManager/index.ts b/packages/repack/src/modules/ScriptManager/index.ts index fe092f0c0..4e56813b3 100644 --- a/packages/repack/src/modules/ScriptManager/index.ts +++ b/packages/repack/src/modules/ScriptManager/index.ts @@ -1,4 +1,3 @@ -export { Federated } from './federated.js'; export * from './getWebpackContext.js'; export * from './Script.js'; export * from './ScriptManager.js'; diff --git a/packages/repack/src/modules/WebpackHMRClient.ts b/packages/repack/src/modules/WebpackHMRClient.ts index c421e1f7e..347d74e67 100644 --- a/packages/repack/src/modules/WebpackHMRClient.ts +++ b/packages/repack/src/modules/WebpackHMRClient.ts @@ -173,32 +173,15 @@ if (__DEV__ && module.hot) { LogBox.clearAllLogs(); }; - const showLoadingView = (text: string, type: 'load' | 'refresh') => { - let LoadingView: RNLoadingView; - if (__REACT_NATIVE_MINOR_VERSION__ >= 79) { - LoadingView = - require('react-native/Libraries/Utilities/DevLoadingView').default; - } else if (__REACT_NATIVE_MINOR_VERSION__ >= 75) { - LoadingView = require('react-native/Libraries/Utilities/DevLoadingView'); - } else { - LoadingView = require('react-native/Libraries/Utilities/LoadingView'); - } + const getLoadingView = (): RNLoadingView => + require('react-native/Libraries/Utilities/DevLoadingView').default; - LoadingView.showMessage(text, type); + const showLoadingView = (text: string, type: 'load' | 'refresh') => { + getLoadingView().showMessage(text, type); }; const hideLoadingView = () => { - let LoadingView: RNLoadingView; - if (__REACT_NATIVE_MINOR_VERSION__ >= 79) { - LoadingView = - require('react-native/Libraries/Utilities/DevLoadingView').default; - } else if (__REACT_NATIVE_MINOR_VERSION__ >= 75) { - LoadingView = require('react-native/Libraries/Utilities/DevLoadingView'); - } else { - LoadingView = require('react-native/Libraries/Utilities/LoadingView'); - } - - LoadingView.hide(); + getLoadingView().hide(); }; new HMRClient({ diff --git a/packages/repack/src/plugins/DevelopmentPlugin.ts b/packages/repack/src/plugins/DevelopmentPlugin.ts index d6dccfda3..942c2dc19 100644 --- a/packages/repack/src/plugins/DevelopmentPlugin.ts +++ b/packages/repack/src/plugins/DevelopmentPlugin.ts @@ -12,7 +12,6 @@ import { isRspackCompiler, moveElementBefore } from '../helpers/index.js'; const [reactRefreshEntryPath, reactRefreshPath, refreshUtilsPath] = ReactRefreshPlugin.deprecated_runtimePaths; -type PackageJSON = { version: string }; /** * {@link DevelopmentPlugin} configuration options. */ @@ -97,10 +96,6 @@ export class DevelopmentPlugin { return; } - const reactNativePackageJson: PackageJSON = require('react-native/package.json'); - const [majorVersion, minorVersion, patchVersion] = - reactNativePackageJson.version.split('-')[0].split('.'); - const host = compiler.options.devServer.host; const port = compiler.options.devServer.port; // @ts-expect-error: devServertypes here are not being overridden properly @@ -112,9 +107,6 @@ export class DevelopmentPlugin { __PUBLIC_PROTOCOL__: JSON.stringify(protocol), __PUBLIC_HOST__: JSON.stringify(host), __PUBLIC_PORT__: Number(port), - __REACT_NATIVE_MAJOR_VERSION__: Number(majorVersion), - __REACT_NATIVE_MINOR_VERSION__: Number(minorVersion), - __REACT_NATIVE_PATCH_VERSION__: Number(patchVersion), }).apply(compiler); if (compiler.options.devServer.hot) { diff --git a/packages/repack/src/plugins/HermesBytecodePlugin/ChunksToHermesBytecodePlugin.ts b/packages/repack/src/plugins/HermesBytecodePlugin/ChunksToHermesBytecodePlugin.ts deleted file mode 100644 index a6546b8af..000000000 --- a/packages/repack/src/plugins/HermesBytecodePlugin/ChunksToHermesBytecodePlugin.ts +++ /dev/null @@ -1,44 +0,0 @@ -import type { Compiler as RspackCompiler } from '@rspack/core'; -import type { Compiler as WebpackCompiler } from 'webpack'; -import { - HermesBytecodePlugin, - type HermesBytecodePluginConfig, -} from './HermesBytecodePlugin.js'; - -/** - * @deprecated Use `HermesBytecodePlugin` instead. - * - * ChunksToHermesBytecodePlugin was renamed to HermesBytecodePlugin. - * This is a deprecated alias that will be removed in the next major version. - */ -export class ChunksToHermesBytecodePlugin extends HermesBytecodePlugin { - // biome-ignore lint/complexity/noUselessConstructor: needed for jsdocs - constructor(config: HermesBytecodePluginConfig) { - super(config); - } - - apply(compiler: RspackCompiler): void; - apply(compiler: WebpackCompiler): void; - - apply(__compiler: unknown) { - const compiler = __compiler as RspackCompiler; - - const logger = compiler.getInfrastructureLogger( - 'RepackChunksToHermesBytecodePlugin' - ); - - compiler.hooks.beforeCompile.tap( - 'RepackChunksToHermesBytecodePlugin', - () => { - logger.warn( - 'Notice: ChunksToHermesBytecodePlugin has been renamed ' + - 'and is now available as HermesBytecodePlugin. ' + - 'Please use HermesBytecodePlugin instead as this alias ' + - 'is deprecated and will be removed in the next major version.' - ); - } - ); - - super.apply(compiler); - } -} diff --git a/packages/repack/src/plugins/HermesBytecodePlugin/index.ts b/packages/repack/src/plugins/HermesBytecodePlugin/index.ts index 6c4a58b16..4e0226071 100644 --- a/packages/repack/src/plugins/HermesBytecodePlugin/index.ts +++ b/packages/repack/src/plugins/HermesBytecodePlugin/index.ts @@ -1,2 +1 @@ -export * from './ChunksToHermesBytecodePlugin.js'; export * from './HermesBytecodePlugin.js'; diff --git a/packages/repack/src/plugins/HermesBytecodePlugin/utils/getHermesCLIPath.ts b/packages/repack/src/plugins/HermesBytecodePlugin/utils/getHermesCLIPath.ts index 61b031414..d03c75521 100644 --- a/packages/repack/src/plugins/HermesBytecodePlugin/utils/getHermesCLIPath.ts +++ b/packages/repack/src/plugins/HermesBytecodePlugin/utils/getHermesCLIPath.ts @@ -46,6 +46,6 @@ export const getHermesCLIPath = (reactNativePath: string): string => { return hermesCompilerPath; } - // Fallback to the previous hermesc path in older react native versions, <0.82. + // React Native < 0.83 ships hermesc inside the react-native package. return path.join(reactNativePath, 'sdks', 'hermesc', osBin, 'hermesc'); }; diff --git a/packages/repack/src/plugins/ModuleFederationPlugin.ts b/packages/repack/src/plugins/ModuleFederationPlugin.ts deleted file mode 100644 index 976631347..000000000 --- a/packages/repack/src/plugins/ModuleFederationPlugin.ts +++ /dev/null @@ -1,124 +0,0 @@ -import type { container, Compiler as RspackCompiler } from '@rspack/core'; -import type { Compiler as WebpackCompiler } from 'webpack'; -import type { Federated } from '../utils/federated.js'; -import { - ModuleFederationPluginV1, - type ModuleFederationPluginV1Config, -} from './ModuleFederationPluginV1.js'; - -type MFPluginV1 = typeof container.ModuleFederationPluginV1; -type MFPluginV1Options = ConstructorParameters[0]; - -/** - * {@link ModuleFederationPluginV1Config} configuration options. - * - * The fields and types are exactly the same as in `webpack.container.ModuleFederationPlugin`. - * - * You can check documentation for all supported options here: https://webpack.js.org/plugins/module-federation-plugin/ - */ -export type ModuleFederationPluginConfig = ModuleFederationPluginV1Config; - -/** - * Webpack plugin to configure Module Federation with platform differences - * handled under the hood. - * - * Usually, you should use `Repack.plugin.ModuleFederationPlugin` - * instead of `webpack.container.ModuleFederationPlugin`. - * - * `Repack.plugin.ModuleFederationPlugin` creates: - * - default for `filename` option when `exposes` is defined - * - default for `library` option when `exposes` is defined - * - default for `shared` option with `react` and `react-native` dependencies - * - converts `remotes` into `ScriptManager`-powered `promise new Promise` loaders - * - * You can overwrite all defaults by passing respective options. - * - * `remotes` will always be converted to ScriptManager`-powered `promise new Promise` loaders - * using {@link Federated.createRemote}. - * - * @example Host example. - * ```js - * import * as Repack from '@callstack/repack'; - * - * new Repack.plugins.ModuleFederationPlugin({ - * name: 'host, - * }); - * ``` - * - * @example Host example with additional `shared` dependencies. - * ```js - * import * as Repack from '@callstack/repack'; - * - * new Repack.plugins.ModuleFederationPlugin({ - * name: 'host, - * shared: { - * react: Repack.Federated.SHARED_REACT, - * 'react-native': Repack.Federated.SHARED_REACT, - * 'react-native-reanimated': { - * singleton: true, - * }, - * }, - * }); - * ``` - * - * @example Container examples. - * ```js - * import * as Repack from '@callstack/repack'; - * - * new Repack.plugins.ModuleFederationPlugin({ - * name: 'app1', - * remotes: { - * module1: 'module1@https://example.com/module1.container.bundle', - * }, - * }); - * - * new Repack.plugins.ModuleFederationPlugin({ - * name: 'app2', - * remotes: { - * module1: 'module1@https://example.com/module1.container.bundle', - * module2: 'module1@dynamic', - * }, - * }); - * ``` - * - * @category Webpack Plugin - */ -export class ModuleFederationPlugin { - // biome-ignore lint/correctness/noUnusedPrivateClassMembers: exposed at runtime for compat with V1 plugin - private config: MFPluginV1Options; - // biome-ignore lint/correctness/noUnusedPrivateClassMembers: exposed at runtime for compat with V1 plugin - private deepImports: boolean; - private plugin: ModuleFederationPluginV1; - - constructor(pluginConfig: ModuleFederationPluginV1Config) { - const { reactNativeDeepImports, ...config } = pluginConfig; - // exposed for compat with V1 plugin - this.config = config; - // exposed for compat with V1 plugin - this.deepImports = reactNativeDeepImports ?? true; - this.plugin = new ModuleFederationPluginV1(pluginConfig); - } - - apply(compiler: RspackCompiler): void; - apply(compiler: WebpackCompiler): void; - - apply(__compiler: unknown) { - const compiler = __compiler as RspackCompiler; - const logger = compiler.getInfrastructureLogger( - 'RepackModuleFederationPlugin' - ); - - compiler.hooks.beforeCompile.tap('RepackModuleFederationPlugin', () => { - logger.warn( - 'Notice: ModuleFederationPlugin currently points to ModuleFederationPluginV1. ' + - 'Re.Pack 5 introduced ModuleFederationPluginV2, which addresses many previous limitations. ' + - 'In the next major version of Re.Pack, ModuleFederationPlugin will point to ModuleFederationPluginV2. ' + - 'We recommend switching to the new ModuleFederationPluginV2 by importing it directly. ' + - 'If you want to keep using ModuleFederationPluginV1, which is no longer being iterated on, ' + - 'you can import ModuleFederationPluginV1 directly to prevent this warning from being shown every time.' - ); - }); - - this.plugin.apply(compiler); - } -} diff --git a/packages/repack/src/plugins/ModuleFederationPluginV1.ts b/packages/repack/src/plugins/ModuleFederationPluginV1.ts deleted file mode 100644 index 0fc240b6a..000000000 --- a/packages/repack/src/plugins/ModuleFederationPluginV1.ts +++ /dev/null @@ -1,322 +0,0 @@ -import type { container, Compiler as RspackCompiler } from '@rspack/core'; -import type { Compiler as WebpackCompiler } from 'webpack'; -import { isRspackCompiler } from '../helpers/index.js'; -import { Federated } from '../utils/federated.js'; - -type MFPluginV1 = typeof container.ModuleFederationPluginV1; -type MFPluginV1Options = ConstructorParameters[0]; - -type ExtractObject = T extends {} - ? T extends Array - ? never - : T - : never; - -type RemotesObject = ExtractObject; - -type SharedDependencies = Exclude; - -type SharedObject = ExtractObject; - -type SharedConfig = SharedObject extends { [key: string]: infer U } - ? Exclude - : never; - -/** - * {@link ModuleFederationPlugin} configuration options. - * - * The fields and types are exactly the same as in `webpack.container.ModuleFederationPlugin`. - * - * You can check documentation for all supported options here: https://webpack.js.org/plugins/module-federation-plugin/ - */ -export interface ModuleFederationPluginV1Config extends MFPluginV1Options { - /** Enable or disable adding React Native deep imports to shared dependencies */ - reactNativeDeepImports?: boolean; -} - -/** - * Webpack plugin to configure Module Federation with platform differences - * handled under the hood. - * - * Usually, you should use `Repack.plugin.ModuleFederationPlugin` - * instead of `webpack.container.ModuleFederationPlugin`. - * - * `Repack.plugin.ModuleFederationPlugin` creates: - * - default for `filename` option when `exposes` is defined - * - default for `library` option when `exposes` is defined - * - default for `shared` option with `react` and `react-native` dependencies - * - converts `remotes` into `ScriptManager`-powered `promise new Promise` loaders - * - * You can overwrite all defaults by passing respective options. - * - * `remotes` will always be converted to ScriptManager`-powered `promise new Promise` loaders - * using {@link Federated.createRemote}. - * - * @example Host example. - * ```js - * import * as Repack from '@callstack/repack'; - * - * new Repack.plugins.ModuleFederationPlugin({ - * name: 'host, - * }); - * ``` - * - * @example Host example with additional `shared` dependencies. - * ```js - * import * as Repack from '@callstack/repack'; - * - * new Repack.plugins.ModuleFederationPlugin({ - * name: 'host, - * shared: { - * react: Repack.Federated.SHARED_REACT, - * 'react-native': Repack.Federated.SHARED_REACT, - * 'react-native-reanimated': { - * singleton: true, - * }, - * }, - * }); - * ``` - * - * @example Container examples. - * ```js - * import * as Repack from '@callstack/repack'; - * - * new Repack.plugins.ModuleFederationPlugin({ - * name: 'app1', - * remotes: { - * module1: 'module1@https://example.com/module1.container.bundle', - * }, - * }); - * - * new Repack.plugins.ModuleFederationPlugin({ - * name: 'app2', - * remotes: { - * module1: 'module1@https://example.com/module1.container.bundle', - * module2: 'module1@dynamic', - * }, - * }); - * ``` - * - * @category Webpack Plugin - */ -export class ModuleFederationPluginV1 { - private config: MFPluginV1Options; - private deepImports: boolean; - - constructor(pluginConfig: ModuleFederationPluginV1Config) { - const { reactNativeDeepImports, ...config } = pluginConfig; - this.config = config; - this.deepImports = reactNativeDeepImports ?? true; - } - - /** - * This method provides compatibility between webpack and Rspack for the ModuleFederation plugin. - * In Rspack, Module Federation 1.5 is implemented under the name that's used in webpack for the original version. - * This method adjusts for this naming difference to ensure we use the correct plugin version. - * - * @param compiler - The compiler instance (either webpack or Rspack) - * @returns The appropriate ModuleFederationPlugin class - */ - private getModuleFederationPlugin(compiler: RspackCompiler): MFPluginV1 { - if (isRspackCompiler(compiler)) { - return compiler.webpack.container.ModuleFederationPluginV1; - } - // @ts-expect-error webpack has MF1 under ModuleFederationPlugin - return compiler.webpack.container.ModuleFederationPlugin; - } - - private replaceRemotes( - remote: T - ): T { - if (typeof remote === 'string') { - return remote.startsWith('promise new Promise') - ? remote - : (Federated.createRemote(remote) as T); - } - - if (Array.isArray(remote)) { - return remote.map((remoteItem) => this.replaceRemotes(remoteItem)) as T; - } - - const replaced = {} as RemotesObject; - for (const key in remote as RemotesObject) { - const value = remote[key]; - if (typeof value === 'string' || Array.isArray(value)) { - replaced[key] = this.replaceRemotes(value); - } else { - replaced[key] = { - ...value, - external: this.replaceRemotes(value.external), - }; - } - } - - return replaced as T; - } - - private getDefaultSharedDependencies(): SharedObject { - return { - react: Federated.SHARED_REACT, - 'react-native': Federated.SHARED_REACT_NATIVE, - }; - } - - /** - * As including 'react-native' as a shared dependency is not enough to support - * deep imports from 'react-native' (e.g. 'react-native/Libraries/Utilities/PixelRatio'), - * we need to add deep imports using an undocumented feature of ModuleFederationPlugin. - * - * When a dependency has a trailing slash, deep imports of that dependency will be correctly - * resolved by reaching out to the shared scope. This also ensures single instances of things - * like 'assetsRegistry'. Additionally, we mark every package from '@react-native' group as shared - * as well, as these are used by React Native too. - * - * Reference: https://stackoverflow.com/questions/65636979/wp5-module-federation-sharing-deep-imports - * Reference: https://github.com/webpack/webpack/blob/main/lib/sharing/resolveMatchedConfigs.js#L77-L79 - * - * @param shared shared dependencies configuration from ModuleFederationPlugin - * @returns adjusted shared dependencies configuration - * - * @internal - */ - private adaptSharedDependencies( - shared: SharedDependencies - ): SharedDependencies { - const sharedDependencyConfig = ( - eager: boolean | undefined, - importValue: string | false | undefined, - version: string | false | undefined - ) => { - const config: SharedConfig = { - singleton: true, - eager: eager ?? true, - version: version || '*', - requiredVersion: version || '*', - }; - // set import to false if it's explicitly set to false - if (importValue === false) { - config.import = false; - } - return config; - }; - - const findSharedDependency = ( - name: string, - dependencies: SharedDependencies - ): SharedConfig | string | undefined => { - if (Array.isArray(dependencies)) { - // object entries wrap the config under the dependency name, - // so unwrap it instead of returning the wrapper - for (const item of dependencies) { - if (typeof item === 'string') { - if (item === name) return item; - } else if (item[name]) { - return item[name]; - } - } - return undefined; - } - return dependencies[name]; - }; - - const sharedReactNative = findSharedDependency('react-native', shared); - const reactNativeEager = - typeof sharedReactNative === 'object' - ? sharedReactNative.eager - : undefined; - const reactNativeVersion = - typeof sharedReactNative === 'object' - ? sharedReactNative.requiredVersion || sharedReactNative.version - : undefined; - const reactNativeImport = - typeof sharedReactNative === 'object' - ? sharedReactNative.import - : undefined; - - if (!this.deepImports || !sharedReactNative) { - return shared; - } - - if (Array.isArray(shared)) { - const adjustedSharedDependencies = [...shared]; - if (!findSharedDependency('react-native/', shared)) { - adjustedSharedDependencies.push({ - 'react-native/': sharedDependencyConfig( - reactNativeEager, - reactNativeImport, - reactNativeVersion - ), - }); - } - if (!findSharedDependency('@react-native/', shared)) { - adjustedSharedDependencies.push({ - '@react-native/': sharedDependencyConfig( - reactNativeEager, - reactNativeImport, - reactNativeVersion - ), - }); - } - return adjustedSharedDependencies; - } - const adjustedSharedDependencies = { ...shared }; - if (!findSharedDependency('react-native/', shared)) { - Object.assign(adjustedSharedDependencies, { - 'react-native/': sharedDependencyConfig( - reactNativeEager, - reactNativeImport, - reactNativeVersion - ), - }); - } - if (!findSharedDependency('@react-native/', shared)) { - Object.assign(adjustedSharedDependencies, { - '@react-native/': sharedDependencyConfig( - reactNativeEager, - reactNativeImport, - reactNativeVersion - ), - }); - } - return adjustedSharedDependencies; - } - - apply(compiler: RspackCompiler): void; - apply(compiler: WebpackCompiler): void; - - apply(__compiler: unknown) { - const compiler = __compiler as RspackCompiler; - - const ModuleFederationPlugin = this.getModuleFederationPlugin(compiler); - - const filenameConfig = - this.config.filename ?? - (this.config.exposes - ? `${this.config.name}.container.bundle` - : undefined); - - const libraryConfig = this.config.exposes - ? { - name: this.config.name, - type: 'self', - ...this.config.library, - } - : undefined; - - const remotesConfig = Array.isArray(this.config.remotes) - ? this.config.remotes.map((remote) => this.replaceRemotes(remote)) - : this.replaceRemotes(this.config.remotes ?? {}); - - const sharedConfig = this.adaptSharedDependencies( - this.config.shared ?? this.getDefaultSharedDependencies() - ); - - new ModuleFederationPlugin({ - ...this.config, - filename: filenameConfig, - library: libraryConfig, - remotes: remotesConfig, - shared: sharedConfig, - }).apply(compiler); - } -} diff --git a/packages/repack/src/plugins/ModuleFederationPluginV2.ts b/packages/repack/src/plugins/ModuleFederationPluginV2.ts index ddb329a10..15145d29f 100644 --- a/packages/repack/src/plugins/ModuleFederationPluginV2.ts +++ b/packages/repack/src/plugins/ModuleFederationPluginV2.ts @@ -4,14 +4,12 @@ import { name as isIdentifier } from 'estree-util-is-identifier-name'; import type { Compiler as WebpackCompiler } from 'webpack'; import { isRspackCompiler } from '../helpers/index.js'; -type JsModuleDescriptor = { - identifier: string; - name: string; - id?: string; -}; +type RuntimePlugin = NonNullable< + MF.ModuleFederationPluginOptions['runtimePlugins'] +>[number]; /** - * {@link ModuleFederationPlugin} configuration options. + * {@link ModuleFederationPluginV2} configuration options. * * The fields and types are exactly the same as in the official `ModuleFederationPlugin`. * @@ -33,64 +31,40 @@ export interface ModuleFederationPluginV2Config } /** - * Webpack plugin to configure Module Federation with platform differences - * handled under the hood. + * Webpack plugin to configure Module Federation 2.0 with platform differences + * handled under the hood. Wraps `ModuleFederationPlugin` from `@module-federation/enhanced`. * - * Usually, you should use `Repack.plugin.ModuleFederationPlugin` - * instead of `webpack.container.ModuleFederationPlugin`. + * Also available as `Repack.plugins.ModuleFederationPlugin`. * - * `Repack.plugin.ModuleFederationPlugin` creates: - * - default for `filename` option when `exposes` is defined - * - default for `library` option when `exposes` is defined - * - default for `shared` option with `react` and `react-native` dependencies - * - converts `remotes` into `ScriptManager`-powered `promise new Promise` loaders + * On top of the official plugin, it: + * - registers Re.Pack's default runtime plugins (see `defaultRuntimePlugins`) + * - defaults `shared` to eager singletons of `react` and `react-native` + * - shares `react-native/` and `@react-native/` deep imports when `react-native` is shared + * - defaults `shareStrategy` to `'loaded-first'` * * You can overwrite all defaults by passing respective options. * - * `remotes` will always be converted to ScriptManager`-powered `promise new Promise` loaders - * using {@link Federated.createRemote}. - * * @example Host example. * ```js * import * as Repack from '@callstack/repack'; * * new Repack.plugins.ModuleFederationPlugin({ * name: 'host', - * }); - * ``` - * - * @example Host example with additional `shared` dependencies. - * ```js - * import * as Repack from '@callstack/repack'; - * - * new Repack.plugins.ModuleFederationPlugin({ - * name: 'host', - * shared: { - * react: Repack.Federated.SHARED_REACT, - * 'react-native': Repack.Federated.SHARED_REACT, - * 'react-native-reanimated': { - * singleton: true, - * }, + * remotes: { + * module1: 'module1@https://example.com/ios/mf-manifest.json', * }, * }); * ``` * - * @example Container examples. + * @example Container example. * ```js * import * as Repack from '@callstack/repack'; * * new Repack.plugins.ModuleFederationPlugin({ - * name: 'app1', - * remotes: { - * module1: 'module1@https://example.com/module1.container.bundle', - * }, - * }); - * - * new Repack.plugins.ModuleFederationPlugin({ - * name: 'app2', - * remotes: { - * module1: 'module1@https://example.com/module1.container.bundle', - * module2: 'module1@dynamic', + * name: 'module1', + * filename: 'module1.container.js.bundle', + * exposes: { + * './Button': './src/Button', * }, * }); * ``` @@ -140,23 +114,29 @@ export class ModuleFederationPluginV2 { private adaptRuntimePlugins( context: string, - runtimePlugins: string[] | undefined = [] - ) { - const plugins = runtimePlugins - .map((pluginPath) => { - try { - // resolve the paths to compare against absolute paths - return require.resolve(pluginPath, { paths: [context] }); - } catch { - // ignore invalid paths - return undefined; - } - }) - .filter((pluginPath) => !!pluginPath) as string[]; + runtimePlugins: RuntimePlugin[] = [] + ): RuntimePlugin[] { + const getPluginPath = (plugin: RuntimePlugin) => + typeof plugin === 'string' ? plugin : plugin[0]; + + const plugins = runtimePlugins.flatMap((plugin): RuntimePlugin[] => { + try { + // resolve the paths to compare against absolute paths + const pluginPath = require.resolve(getPluginPath(plugin), { + paths: [context], + }); + return [ + typeof plugin === 'string' ? pluginPath : [pluginPath, plugin[1]], + ]; + } catch { + // ignore invalid paths + return []; + } + }); for (const plugin of this.defaultRuntimePlugins) { const pluginPath = require.resolve(plugin); - if (!plugins.includes(pluginPath)) { + if (!plugins.some((item) => getPluginPath(item) === pluginPath)) { plugins.unshift(pluginPath); } } @@ -295,30 +275,6 @@ export class ModuleFederationPluginV2 { compiler.options.ignoreWarnings.push( (warning) => warning.name === 'EnvironmentNotSupportAsyncWarning' ); - // MF2 produces warning about dynamic import in loadEsmEntry but it's not relevant - // in RN env since we override the loadEntry logic through a hook - // https://github.com/module-federation/core/blob/fa7a0bd20eb64eccd6648fea340c6078a2268e39/packages/runtime/src/utils/load.ts#L28-L37 - compiler.options.ignoreWarnings.push((warning) => { - if ('moduleDescriptor' in warning) { - const moduleDescriptor = warning.moduleDescriptor as JsModuleDescriptor; - - // warning can come from either runtime or runtime-core (in newer versions of MF2) - const isMF2Runtime = moduleDescriptor.name.endsWith( - '@module-federation/runtime/dist/index.cjs.js' - ); - const isMF2RuntimeCore = moduleDescriptor.name.endsWith( - '@module-federation/runtime-core/dist/index.cjs.js' - ); - - if (isMF2Runtime || isMF2RuntimeCore) { - const requestExpressionWarning = - /Critical dependency: the request of a dependency is an expression/; - return requestExpressionWarning.test(warning.message); - } - } - - return false; - }); } apply(compiler: RspackCompiler): void; diff --git a/packages/repack/src/plugins/OutputPlugin/OutputPlugin.ts b/packages/repack/src/plugins/OutputPlugin/OutputPlugin.ts index b5c1768cd..b06c64e6d 100644 --- a/packages/repack/src/plugins/OutputPlugin/OutputPlugin.ts +++ b/packages/repack/src/plugins/OutputPlugin/OutputPlugin.ts @@ -14,7 +14,7 @@ import { } from '../../env.js'; import { AssetsCopyProcessor } from '../utils/AssetsCopyProcessor.js'; import { AuxiliaryAssetsCopyProcessor } from '../utils/AuxiliaryAssetsCopyProcessor.js'; -import { getDeprecationMessages, validateConfig } from './config.js'; +import { validateConfig } from './config.js'; import type { DestinationSpec, OutputPluginConfig } from './types.js'; /** @@ -154,13 +154,6 @@ export class OutputPlugin { assert(compiler.options.output.path, "Can't infer output path from config"); - compiler.hooks.beforeCompile.tap('RepackOutputPlugin', () => { - const deprecationMessages = getDeprecationMessages(this.config); - deprecationMessages.forEach((message) => { - logger.warn(message); - }); - }); - const logger = compiler.getInfrastructureLogger('RepackOutputPlugin'); const outputPath = compiler.options.output.path as string; diff --git a/packages/repack/src/plugins/OutputPlugin/config.ts b/packages/repack/src/plugins/OutputPlugin/config.ts index 8f003d6d2..9f7492537 100644 --- a/packages/repack/src/plugins/OutputPlugin/config.ts +++ b/packages/repack/src/plugins/OutputPlugin/config.ts @@ -27,7 +27,7 @@ const configSchema: Schema = { properties: { auxiliaryAssetsPath: { type: 'string' }, }, - additionalProperties: true, + additionalProperties: false, }, extraChunks: { type: 'array', @@ -67,33 +67,3 @@ const configSchema: Schema = { export function validateConfig(config: OutputPluginConfig) { validate(configSchema, config, { name: 'RepackOutputPlugin' }); } - -export function getDeprecationMessages(config: OutputPluginConfig) { - const deprecationMessages: string[] = []; - - if ('bundleFilename' in config.output) { - deprecationMessages.push( - '[NOTICE] `output.bundleFilename` is deprecated since Re.Pack v5.0.0. ' + - 'This option has no effect and will be removed in the next major version. ' + - 'Value passed through CLI flag `--bundle-output` always takes precedence.' - ); - } - - if ('sourceMapFilename' in config.output) { - deprecationMessages.push( - '[NOTICE] `output.sourceMapFilename` is deprecated since Re.Pack v5.0.0. ' + - 'This option has no effect and will be removed in the next major version. ' + - 'Value passed through CLI flag `--sourcemap-output` always takes precedence.' - ); - } - - if ('assetsPath' in config.output) { - deprecationMessages.push( - '[NOTICE] `output.assetsPath` is deprecated since Re.Pack v5.0.0. ' + - 'This option has no effect and will be removed in the next major version. ' + - 'Value passed through CLI flag `--assets-dest` always takes precedence.' - ); - } - - return deprecationMessages; -} diff --git a/packages/repack/src/plugins/__tests__/ModuleFederationPluginV1.test.ts b/packages/repack/src/plugins/__tests__/ModuleFederationPluginV1.test.ts deleted file mode 100644 index 18eacfb36..000000000 --- a/packages/repack/src/plugins/__tests__/ModuleFederationPluginV1.test.ts +++ /dev/null @@ -1,287 +0,0 @@ -import type { Compiler } from '@rspack/core'; -import { ModuleFederationPluginV1 } from '../ModuleFederationPluginV1.js'; - -const mockPlugin = jest.fn().mockImplementation(() => ({ - apply: jest.fn(), -})); - -const mockCompiler = { - webpack: { - container: { - ModuleFederationPluginV1: mockPlugin, // rspack - ModuleFederationPlugin: mockPlugin, // webpack - }, - }, -} as unknown as Compiler; - -describe('ModuleFederationPlugin', () => { - afterEach(() => { - mockPlugin.mockClear(); - }); - - it('should replace RemotesObject remotes', () => { - new ModuleFederationPluginV1({ - name: 'test', - remotes: { - external: 'external1@dynamic', - }, - }).apply(mockCompiler); - - let config = mockPlugin.mock.calls[0][0]; - expect(config.remotes.external).toMatch('promise new Promise'); - mockPlugin.mockClear(); - - new ModuleFederationPluginV1({ - name: 'test', - remotes: { - external: ['external1@dynamic', 'external2@dynamic'], - }, - }).apply(mockCompiler); - - config = mockPlugin.mock.calls[0][0]; - expect(config.remotes.external[0]).toMatch('promise new Promise'); - expect(config.remotes.external[1]).toMatch('promise new Promise'); - }); - - it('should replace string[] remotes', () => { - new ModuleFederationPluginV1({ - name: 'test', - remotes: ['remote1@dynamic', 'remote2@dynamic'], - }).apply(mockCompiler); - - const config = mockPlugin.mock.calls[0][0]; - expect(config.remotes[0]).toMatch('promise new Promise'); - expect(config.remotes[1]).toMatch('promise new Promise'); - }); - - it('should replace RemotesObject[] remotes', () => { - new ModuleFederationPluginV1({ - name: 'test', - remotes: [ - { external: 'external1@dynamic' }, - { external: ['external2@dynamic', 'external3@dynamic'] }, - ], - }).apply(mockCompiler); - - const config = mockPlugin.mock.calls[0][0]; - expect(config.remotes[0].external).toMatch('promise new Promise'); - expect(config.remotes[1].external[0]).toMatch('promise new Promise'); - expect(config.remotes[1].external[1]).toMatch('promise new Promise'); - }); - - it('should not add default resolver for remote', () => { - new ModuleFederationPluginV1({ - name: 'test', - remotes: { - app1: 'app1@dynamic', - }, - }).apply(mockCompiler); - - const config = mockPlugin.mock.calls[0][0]; - expect(config.remotes.app1).toMatch('promise new Promise'); - expect(config.remotes.app1).not.toMatch('scriptManager.addResolver'); - }); - - it('should add default resolver for remote', () => { - new ModuleFederationPluginV1({ - name: 'test', - remotes: { - app1: 'app1@http://localhost:6789/static/app1.container.bundle', - }, - }).apply(mockCompiler); - - const config = mockPlugin.mock.calls[0][0]; - expect(config.remotes.app1).toMatch('promise new Promise'); - expect(config.remotes.app1).toMatch('scriptManager.addResolver'); - expect(config.remotes.app1).toMatch( - 'http://localhost:6789/static/app1.container.bundle' - ); - expect(config.remotes.app1).toMatch( - 'http://localhost:6789/static/[name][ext]' - ); - }); - - it('should add default shared dependencies', () => { - new ModuleFederationPluginV1({ name: 'test' }).apply(mockCompiler); - - const config = mockPlugin.mock.calls[0][0]; - expect(config.shared).toHaveProperty('react'); - expect(config.shared).toHaveProperty('react-native'); - expect(config.shared).toHaveProperty('react-native/'); - expect(config.shared).toHaveProperty('@react-native/'); - }); - - it('should not add deep imports to defaulted shared dependencies', () => { - new ModuleFederationPluginV1({ - name: 'test', - reactNativeDeepImports: false, - }).apply(mockCompiler); - - const config = mockPlugin.mock.calls[0][0]; - expect(config.shared).toHaveProperty('react'); - expect(config.shared).toHaveProperty('react-native'); - expect(config.shared).not.toHaveProperty('react-native/'); - expect(config.shared).not.toHaveProperty('@react-native/'); - }); - - it('should add deep imports to existing shared dependencies', () => { - new ModuleFederationPluginV1({ - name: 'test', - shared: { - react: { singleton: true, eager: true }, - 'react-native': { singleton: true, eager: true }, - }, - }).apply(mockCompiler); - - const config = mockPlugin.mock.calls[0][0]; - expect(config.shared).toHaveProperty('react-native/'); - expect(config.shared).toHaveProperty('@react-native/'); - }); - - it('should not add deep imports to existing shared dependencies', () => { - new ModuleFederationPluginV1({ - name: 'test', - reactNativeDeepImports: false, - shared: { - react: { singleton: true, eager: true }, - 'react-native': { singleton: true, eager: true }, - }, - }).apply(mockCompiler); - - const config = mockPlugin.mock.calls[0][0]; - expect(config.shared).not.toHaveProperty('react-native/'); - expect(config.shared).not.toHaveProperty('@react-native/'); - }); - - it('should not add deep imports to existing shared dependencies when react-native is not present', () => { - new ModuleFederationPluginV1({ - name: 'test', - shared: { - react: { singleton: true, eager: true }, - }, - }).apply(mockCompiler); - - const config = mockPlugin.mock.calls[0][0]; - expect(config.shared).not.toHaveProperty('react-native/'); - expect(config.shared).not.toHaveProperty('@react-native/'); - }); - - it('should add deep imports to existing shared dependencies array', () => { - new ModuleFederationPluginV1({ - name: 'test', - shared: ['react', 'react-native'], - }).apply(mockCompiler); - - const config = mockPlugin.mock.calls[0][0]; - expect(config.shared[2]).toHaveProperty('react-native/'); - expect(config.shared[3]).toHaveProperty('@react-native/'); - }); - - it('should not duplicate or override existing deep imports', () => { - new ModuleFederationPluginV1({ - name: 'test', - shared: { - react: { singleton: true, eager: true }, - 'react-native': { singleton: true, eager: true }, - 'react-native/': { singleton: true, eager: true }, - }, - }).apply(mockCompiler); - - const config = mockPlugin.mock.calls[0][0]; - expect(config.shared).toHaveProperty('react-native/'); - expect(config.shared).toHaveProperty('@react-native/'); - expect(config.shared['react-native/']).toMatchObject({ - singleton: true, - eager: true, - }); - }); - - it('should determine eager based on shared react-native config', () => { - new ModuleFederationPluginV1({ - name: 'test', - shared: { - react: { singleton: true, eager: true }, - 'react-native': { singleton: true, eager: false }, - }, - }).apply(mockCompiler); - - const config = mockPlugin.mock.calls[0][0]; - expect(config.shared).toHaveProperty('react-native/'); - expect(config.shared).toHaveProperty('@react-native/'); - expect(config.shared['react-native/'].eager).toBe(false); - expect(config.shared['@react-native/'].eager).toBe(false); - }); - - it('should propagate import=false to deep react-native imports', () => { - new ModuleFederationPluginV1({ - name: 'test', - shared: { - 'react-native': { singleton: true, eager: false, import: false }, - }, - }).apply(mockCompiler); - - const config = mockPlugin.mock.calls[0][0]; - expect(config.shared).toHaveProperty('react-native/'); - expect(config.shared).toHaveProperty('@react-native/'); - expect(config.shared['react-native/'].import).toBe(false); - expect(config.shared['@react-native/'].import).toBe(false); - }); - - it('should determine eager based on shared react-native config in array', () => { - new ModuleFederationPluginV1({ - name: 'test', - shared: [ - { react: { singleton: true, eager: true } }, - { - 'react-native': { - singleton: true, - eager: false, - requiredVersion: '0.76.0', - }, - }, - ], - }).apply(mockCompiler); - - const config = mockPlugin.mock.calls[0][0]; - expect(config.shared[2]['react-native/'].eager).toBe(false); - expect(config.shared[3]['@react-native/'].eager).toBe(false); - expect(config.shared[2]['react-native/'].requiredVersion).toBe('0.76.0'); - expect(config.shared[3]['@react-native/'].requiredVersion).toBe('0.76.0'); - }); - - it('should propagate import=false to deep imports in array', () => { - new ModuleFederationPluginV1({ - name: 'test', - shared: [{ 'react-native': { singleton: true, import: false } }], - }).apply(mockCompiler); - - const config = mockPlugin.mock.calls[0][0]; - expect(config.shared[1]['react-native/'].import).toBe(false); - expect(config.shared[2]['@react-native/'].import).toBe(false); - }); - - it('should set default federated entry filename', () => { - new ModuleFederationPluginV1({ - name: 'test', - exposes: { - './App': './src/App', - }, - }).apply(mockCompiler); - - const config = mockPlugin.mock.calls[0][0]; - expect(config.filename).toBe('test.container.bundle'); - }); - - it('should allow for custom federated entry name through filename', () => { - new ModuleFederationPluginV1({ - name: 'test', - exposes: { - './App': './src/App', - }, - filename: 'remoteEntry.js', - }).apply(mockCompiler); - - const config = mockPlugin.mock.calls[0][0]; - expect(config.filename).toBe('remoteEntry.js'); - }); -}); diff --git a/packages/repack/src/plugins/__tests__/ModuleFederationPluginV2.test.ts b/packages/repack/src/plugins/__tests__/ModuleFederationPluginV2.test.ts index 4071c87c9..597467eed 100644 --- a/packages/repack/src/plugins/__tests__/ModuleFederationPluginV2.test.ts +++ b/packages/repack/src/plugins/__tests__/ModuleFederationPluginV2.test.ts @@ -2,14 +2,11 @@ import { ModuleFederationPlugin as MFPluginRspack } from '@module-federation/enh import type { Compiler } from '@rspack/core'; import { ModuleFederationPluginV2 } from '../ModuleFederationPluginV2.js'; -type CompilerWarning = Error & { - moduleDescriptor?: { - name: string; - identifier: string; - }; -}; +type CompilerWarning = Error; -jest.mock('@module-federation/enhanced/rspack'); +jest.mock('@module-federation/enhanced/rspack', () => ({ + ModuleFederationPlugin: jest.fn(() => ({ apply: jest.fn() })), +})); const mockCompiler = { context: __dirname, @@ -212,6 +209,23 @@ describe('ModuleFederationPlugin', () => { expect(config.runtimePlugins).toHaveLength(3); }); + it('should keep runtime plugins passed with options', () => { + new ModuleFederationPluginV2({ + name: 'test', + runtimePlugins: [[corePluginPath, { custom: true }]], + }).apply(mockCompiler); + + const config = mockPlugin.mock.calls[0][0]; + expect(config.runtimePlugins).toContainEqual([ + corePluginPath, + { custom: true }, + ]); + expect(config.runtimePlugins).not.toContain(corePluginPath); + expect(config.runtimePlugins).toContain(resolverPluginPath); + expect(config.runtimePlugins).toContain(prefetchPluginPath); + expect(config.runtimePlugins).toHaveLength(3); + }); + it('should use loaded-first as default shareStrategy', () => { new ModuleFederationPluginV2({ name: 'test' }).apply(mockCompiler); @@ -243,56 +257,6 @@ describe('ModuleFederationPlugin', () => { expect(ignoreWarnings[0](warning)).toBe(true); }); - it('should ignore MF2 runtime dynamic import warnings', () => { - const plugin = new ModuleFederationPluginV2({ name: 'test' }); - plugin.apply(mockCompiler); - - const ignoreWarnings = mockCompiler.options.ignoreWarnings as (( - warning: CompilerWarning - ) => boolean)[]; - - const warning = new Error() as CompilerWarning; - - warning.moduleDescriptor = { - name: '@module-federation/runtime/dist/index.cjs.js', - identifier: '@module-federation/runtime/dist/index.cjs.js', - }; - warning.message = ` - ⚠ Critical dependency: the request of a dependency is an expression - ╭─[1222:93] - 1220 │ } else { - 1221 │ Promise.resolve(/* webpackIgnore: true */ /* @vite-ignore */ entry).then(function(p) { - 1222 │ return /*#__PURE__*/ _interop_require_wildcard._(require(p)); - · ── - 1223 │ }).then(resolve)["catch"](reject); - 1224 │ } - ╰──── - `; - - expect(ignoreWarnings[1](warning)).toBe(true); - - // also works for runtime-core - warning.moduleDescriptor = { - name: '@module-federation/runtime-core/dist/index.cjs.js', - identifier: '@module-federation/runtime-core/dist/index.cjs.js', - }; - - expect(ignoreWarnings[1](warning)).toBe(true); - }); - - it('should not cause a crash when warning does not have a moduleDescriptor', () => { - const plugin = new ModuleFederationPluginV2({ name: 'test' }); - plugin.apply(mockCompiler); - - const ignoreWarnings = mockCompiler.options.ignoreWarnings as (( - warning: CompilerWarning - ) => boolean)[]; - - const warning = new Error('some warning') as CompilerWarning; - - expect(() => ignoreWarnings[1](warning)).not.toThrow(); - }); - it('should throw an error for an invalid container name', () => { const invalidContainerNames = [ 'app-name', diff --git a/packages/repack/src/plugins/index.ts b/packages/repack/src/plugins/index.ts index a4c866e44..94c6e44c1 100644 --- a/packages/repack/src/plugins/index.ts +++ b/packages/repack/src/plugins/index.ts @@ -4,9 +4,11 @@ export * from './DevelopmentPlugin.js'; export * from './HermesBytecodePlugin/index.js'; export * from './LoggerPlugin.js'; export * from './ManifestPlugin.js'; -export * from './ModuleFederationPlugin.js'; -export * from './ModuleFederationPluginV1.js'; export * from './ModuleFederationPluginV2.js'; +export { + ModuleFederationPluginV2 as ModuleFederationPlugin, + type ModuleFederationPluginV2Config as ModuleFederationPluginConfig, +} from './ModuleFederationPluginV2.js'; export * from './NativeEntryPlugin/index.js'; export * from './OutputPlugin/index.js'; export * from './RepackTargetPlugin/index.js'; diff --git a/packages/repack/src/types/runtime-globals.d.ts b/packages/repack/src/types/runtime-globals.d.ts index 6f4c03db3..6afb2ef3f 100644 --- a/packages/repack/src/types/runtime-globals.d.ts +++ b/packages/repack/src/types/runtime-globals.d.ts @@ -94,9 +94,6 @@ declare var __PUBLIC_PROTOCOL__: string; declare var __PUBLIC_HOST__: string; declare var __PUBLIC_PORT__: number; declare var __PLATFORM__: string; -declare var __REACT_NATIVE_MAJOR_VERSION__: number; -declare var __REACT_NATIVE_MINOR_VERSION__: number; -declare var __REACT_NATIVE_PATCH_VERSION__: number; declare var __webpack_public_path__: string; declare var __webpack_hash__: string; declare var __repack__: RepackRuntimeGlobals.RepackRuntimeObject; diff --git a/packages/repack/src/utils/__tests__/getResolveOptions.test.ts b/packages/repack/src/utils/__tests__/getResolveOptions.test.ts index 9a4a0dfab..3a5e2ef83 100644 --- a/packages/repack/src/utils/__tests__/getResolveOptions.test.ts +++ b/packages/repack/src/utils/__tests__/getResolveOptions.test.ts @@ -42,6 +42,18 @@ describe('getResolveOptions', () => { expect(result.extensions).not.toContain('.android.js'); }); + it('should enable package exports by default', () => { + const result = getResolveOptions('ios'); + expect(result.exportsFields).toEqual(['exports']); + expect(result.conditionNames).toEqual(['react-native']); + }); + + it('should disable package exports when enablePackageExports is false', () => { + const result = getResolveOptions('ios', { enablePackageExports: false }); + expect(result.exportsFields).toEqual([]); + expect(result.conditionNames).toEqual([]); + }); + it('should use actual platform value when provided', () => { const result = getResolveOptions('ios'); expect(result).toBeDefined(); diff --git a/packages/repack/src/utils/federated.ts b/packages/repack/src/utils/federated.ts deleted file mode 100644 index 2ffbaf01e..000000000 --- a/packages/repack/src/utils/federated.ts +++ /dev/null @@ -1,195 +0,0 @@ -import { URL } from 'node:url'; -import dedent from 'dedent'; - -/** - * Namespace for utilities for Module Federation. - */ -export namespace Federated { - /** - * @deprecated - * - * Predefined options for shared `react` dependency. - * - * @example Basic example. - * ```js - * import * as Repack from '@callstack/repack'; - * - * new Repack.plugins.ModuleFederationPlugin({ - * // ... - * shared: { - * react: Repack.Federated.SHARED_REACT, - * } - * }); - * ``` - * - * @example Example with spread and additional options. - * ```js - * import * as Repack from '@callstack/repack'; - * - * new Repack.plugins.ModuleFederationPlugin({ - * // ... - * shared: { - * react: { - * ...Repack.Federated.SHARED_REACT, - * // additional options - * } - * } - * }); - * ``` - */ - export const SHARED_REACT = { - singleton: true, - eager: true, - }; - - /** - * @deprecated - * - * Predefined options for shared `react-native` dependency. - * - * @example Basic example. - * ```js - * import * as React from 'repack'; - * - * new Repack.plugins.ModuleFederationPlugin({ - * // ... - * shared: { - * 'react-native': Repack.Federated.SHARED_REACT, - * } - * }); - * ``` - * - * @example Example with spread and additional options. - * ```js - * import * as React from 'repack'; - * - * new Repack.plugins.ModuleFederationPlugin({ - * // ... - * shared: { - * 'react-native': { - * ...Repack.Federated.SHARED_REACT_NATIVE, - * // additional options - * } - * } - * }); - * ``` - */ - export const SHARED_REACT_NATIVE = { - singleton: true, - eager: true, - }; - - /** - * @deprecated - * - * Creates JavaScript loading code for the given Module Federation remote - * allowing to import that remote without creating an async boundary, but with - * simple import statement, eg: `import MyComponent from 'my-remote/MyComponent';`. - * - * `Federated.createRemote` adds a default resolver for container and it's chunks - * with priority `0`, if you provide URL after the `@`. - * If `dynamic` (eg `module1@dynamic`) is provided, no default resolver will be added. - * - * __This function should be used only when using `rspack.container.ModuleFederationPlugin`.__ - * For `Repack.plugins.ModuleFederationPlugin`, `Federated.createRemote` is used under the hood. - * - * Remote container will be evaluated only once. If you import module from the same container twice, - * the container will be loaded and evaluated only on the first import. - * - * @param remote Remote name with URL or `dynamic` separated by `@`. - * @returns A JavaScript loading code the the given remote. - * - * @example - * ```ts - * import rspack from '@rspack/core'; - * import * as Repack from '@callstack/repack'; - * - * export default (env) => { - * return { - * plugins: [ - * new rspack.container.ModuleFederationPlugin({ - * remotes: { - * app1: Repack.Federated.createRemote('app1@dynamic'), - * app2: Repack.Federated.createRemote('app2@https://example.com/app2.container.bundle'), - * }, - * }), - * ], - * }; - * }; - * ``` - */ - export function createRemote(remote: string) { - const [remoteName, url] = remote.split('@'); - - if (!url) { - if (remote.includes('@')) { - throw new Error( - 'Missing URL after @. Use `dynamic` or provide full URL to container bundle.' - ); - } - throw new Error( - 'Remote must provide @ with either full URL to container bundle or `dynamic`.' - ); - } - - const containerUrl = url === 'dynamic' ? undefined : url; - const chunksUrl = - url === 'dynamic' ? undefined : new URL('[name][ext]', url).href; - - const defaultResolver = containerUrl - ? dedent` - scriptManager.addResolver(function (scriptId, caller) { - if (scriptId === '${remoteName}') { - return { - url: '${containerUrl}', - }; - } - }, { priority: 0 }); - - scriptManager.addResolver(function (scriptId, caller) { - if (caller === '${remoteName}') { - return { - url: (webpackContext) => '${chunksUrl}'.replace('[name][ext]', webpackContext.u(scriptId)), - }; - } - }, { priority: 0 }); - ` - : ''; - - return dedent`promise new Promise((resolve, reject) => { - function resolveRemote() { - resolve({ - get: (request) => { - return self.${remoteName}.get(request); - }, - init: (arg) => { - if (!self.${remoteName}.__isInitialized) { - try { - self.${remoteName}.__isInitialized = true; - return self.${remoteName}.init(arg); - } catch (e) { - console.log('[Repack/Federated] Remote container ${remoteName} already initialized.'); - } - } - } - }); - } - - if (self.${remoteName}) { - return resolveRemote(); - } - var scriptManager = __webpack_require__.repack.shared.scriptManager; - - ${defaultResolver} - - scriptManager - .loadScript('${remoteName}', undefined, __webpack_require__) - .then(function() { - resolveRemote(); - }) - .catch(function(reason) { - reject(reason); - }); - })`; - } -} diff --git a/packages/repack/src/utils/getPublicPath.ts b/packages/repack/src/utils/getPublicPath.ts deleted file mode 100644 index 54254cbc1..000000000 --- a/packages/repack/src/utils/getPublicPath.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * @deprecated Since Re.Pack v5.0.0. - * - * You can safely remove this function call - - * the public path configuration is now automatically handled by Re.Pack with the same behavior. - */ -export function getPublicPath() { - console.warn( - '[NOTICE] `getPublicPath` is deprecated since Re.Pack v5.0.0.\n' + - 'You can safely remove this function call - the public path configuration is now automatically handled by Re.Pack with the same behavior.' - ); - return 'DEPRECATED_GET_PUBLIC_PATH'; -} diff --git a/packages/repack/src/utils/getResolveOptions.ts b/packages/repack/src/utils/getResolveOptions.ts index 59ea2683c..559bb8faf 100644 --- a/packages/repack/src/utils/getResolveOptions.ts +++ b/packages/repack/src/utils/getResolveOptions.ts @@ -15,7 +15,7 @@ interface GetResolveOptionsResult { */ export interface ResolveOptions { /** - * Whether to enable Package Exports support. Defaults to `false`. + * Whether to enable Package Exports support. Defaults to `true`, matching Metro. */ enablePackageExports?: boolean; /** @@ -28,8 +28,8 @@ export interface ResolveOptions { * Get Webpack's resolve options to properly resolve JavaScript files: * - resolve platform extensions (e.g. `file.ios.js`) * - resolve native extensions (e.g. `file.native.js`) - * - optionally use package exports (`exports` field in `package.json`) instead of - * main fields (e.g. `main` or `browser` or `react-native`) + * - use package exports (`exports` field in `package.json`) before main fields + * (e.g. `main` or `browser` or `react-native`), unless disabled * * @param platform Target application platform. * @param options Additional options that can modify resolution behaviour. @@ -48,7 +48,7 @@ export interface ResolveOptions { * return { * resolve: { * ...Repack.getResolveOptions(platform, { - * enablePackageExports: false, + * enablePackageExports: true, * preferNativePlatform: true * }), * }, @@ -78,7 +78,7 @@ export function getResolveOptions( ) as ResolveOptions | undefined; const preferNativePlatform = _options?.preferNativePlatform ?? true; - const enablePackageExports = _options?.enablePackageExports ?? false; + const enablePackageExports = _options?.enablePackageExports ?? true; let extensions = ['.js', '.jsx', '.ts', '.tsx', '.json']; diff --git a/packages/repack/src/utils/index.ts b/packages/repack/src/utils/index.ts index 46fe65969..001a0c871 100644 --- a/packages/repack/src/utils/index.ts +++ b/packages/repack/src/utils/index.ts @@ -1,12 +1,10 @@ export * from './assetExtensions.js'; export * from './defineConfig.js'; -export * from './federated.js'; export * from './getAssetTransformRules.js'; export * from './getCodegenTransformRules.js'; export * from './getDirname.js'; export * from './getFlowTransformRules.js'; export * from './getJsTransformRules.js'; export * from './getModulePaths.js'; -export * from './getPublicPath.js'; export * from './getResolveOptions.js'; export * from './getSwcLoaderOptions.js'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e31f3e5eb..89a6bd5fe 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,8 +10,8 @@ catalogs: specifier: ^7.29.7 version: 7.29.7 '@rslib/core': - specifier: ^0.6.3 - version: 0.6.9 + specifier: ^1.0.3 + version: 1.0.3 '@rspack/core': specifier: 1.6.0 version: 1.6.0 @@ -19,8 +19,8 @@ catalogs: specifier: ~0.5.17 version: 0.5.23 '@types/node': - specifier: ^20.19.31 - version: 20.19.43 + specifier: ^22.20.5 + version: 22.20.5 react: specifier: 19.2.8 version: 19.2.8 @@ -28,14 +28,17 @@ catalogs: specifier: 0.86.3 version: 0.86.3 terser-webpack-plugin: - specifier: 5.5.0 - version: 5.5.0 + specifier: ^5.6.1 + version: 5.6.1 typescript: specifier: ^7.0.2 version: 7.0.2 + vite: + specifier: ^8.3.4 + version: 8.3.4 vitest: - specifier: ^4.1.11 - version: 4.1.11 + specifier: ^5.0.3 + version: 5.0.3 webpack: specifier: ~5.105.0 version: 5.105.4 @@ -119,7 +122,6 @@ overrides: adm-zip: ^0.6.1 esbuild@<0.25.0: ^0.25.0 uuid@7: ^11.1.1 - vite: ^7.3.1 react-native-screens: 4.26.2 importers: @@ -243,7 +245,7 @@ importers: version: 0.86.3 '@rsdoctor/rspack-plugin': specifier: 1.6.4 - version: 1.6.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0))(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) + version: 1.6.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2))(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) '@rspack/core': specifier: 'catalog:' version: 1.6.0(@swc/helpers@0.5.23) @@ -279,7 +281,7 @@ importers: version: 8.5.23 postcss-loader: specifier: ^8.1.1 - version: 8.2.1(@rspack/core@1.6.0(@swc/helpers@0.5.23))(postcss@8.5.23)(typescript@7.0.2)(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) + version: 8.2.1(@rspack/core@1.6.0(@swc/helpers@0.5.23))(postcss@8.5.23)(typescript@7.0.2)(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) react-native-test-app: specifier: catalog:testers version: 5.4.5(@expo/config-plugins@57.0.10(typescript@7.0.2))(@react-native-community/cli-types@20.2.0)(memfs@4.64.0)(metro@0.84.6)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) @@ -288,19 +290,22 @@ importers: version: 3.4.19(yaml@2.9.0) terser-webpack-plugin: specifier: 'catalog:' - version: 5.5.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) + version: 5.6.1(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) thread-loader: specifier: ^4.0.4 - version: 4.0.4(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) + version: 4.0.4(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) typescript: specifier: 'catalog:' version: 7.0.2 + vite: + specifier: 'catalog:' + version: 8.3.4(@types/node@26.1.1)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0) vitest: specifier: 'catalog:' - version: 4.1.11(@types/node@26.1.1)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.51.2)(yaml@2.9.0) + version: 5.0.3(@types/node@26.1.1)(vite@8.3.4(@types/node@26.1.1)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0)) webpack: specifier: 'catalog:' - version: 5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)) + version: 5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23) apps/tester-expo: dependencies: @@ -333,7 +338,7 @@ importers: version: 57.0.12(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) expo-router: specifier: catalog:expo57 - version: 57.0.25(070bba2580d5a65057f5194baa7f9812) + version: 57.0.25(e065c737c32861a7840897c5f802228a) expo-status-bar: specifier: catalog:expo57 version: 57.0.1(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) @@ -454,79 +459,6 @@ importers: specifier: 'catalog:' version: 7.0.2 - apps/tester-federation: - dependencies: - '@callstack/repack': - specifier: workspace:* - version: link:../../packages/repack - '@react-native-async-storage/async-storage': - specifier: catalog:testers - version: 3.1.1(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) - '@react-navigation/native': - specifier: 7.3.14 - version: 7.3.14(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) - '@react-navigation/native-stack': - specifier: 7.18.6 - version: 7.18.6(@react-native-masked-view/masked-view@0.3.2(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(@react-navigation/native@7.3.14(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(react-native-safe-area-context@5.8.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(react-native-screens@4.26.2(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) - react: - specifier: 'catalog:' - version: 19.2.8 - react-native: - specifier: 'catalog:' - version: 0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8) - react-native-safe-area-context: - specifier: catalog:testers - version: 5.8.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) - react-native-screens: - specifier: 4.26.2 - version: 4.26.2(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) - devDependencies: - '@babel/core': - specifier: ^7.29.7 - version: 7.29.7 - '@react-native-community/cli': - specifier: catalog:testers - version: 20.2.0(typescript@7.0.2) - '@react-native-community/cli-platform-android': - specifier: catalog:testers - version: 20.2.0 - '@react-native-community/cli-platform-ios': - specifier: catalog:testers - version: 20.2.0 - '@react-native/babel-preset': - specifier: catalog:testers - version: 0.86.3(@babel/core@7.29.7) - '@react-native/typescript-config': - specifier: catalog:testers - version: 0.86.3 - '@rsdoctor/rspack-plugin': - specifier: 1.6.4 - version: 1.6.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0))(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4) - '@rspack/core': - specifier: 'catalog:' - version: 1.6.0(@swc/helpers@0.5.23) - '@swc/helpers': - specifier: 'catalog:' - version: 0.5.23 - '@types/jest': - specifier: ^29.5.13 - version: 29.5.14 - '@types/react': - specifier: catalog:testers - version: 19.2.17 - react-native-test-app: - specifier: catalog:testers - version: 5.4.5(@expo/config-plugins@57.0.10(typescript@7.0.2))(@react-native-community/cli-types@20.2.0)(memfs@4.64.0)(metro@0.84.6)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) - terser-webpack-plugin: - specifier: 'catalog:' - version: 5.5.0(webpack@5.105.4) - typescript: - specifier: 'catalog:' - version: 7.0.2 - webpack: - specifier: 'catalog:' - version: 5.105.4 - apps/tester-federation-v2: dependencies: '@callstack/repack': @@ -586,7 +518,7 @@ importers: version: 0.86.3 '@rsdoctor/rspack-plugin': specifier: 1.6.4 - version: 1.6.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0))(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4) + version: 1.6.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2))(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4) '@rspack/core': specifier: 'catalog:' version: 1.6.0(@swc/helpers@0.5.23) @@ -604,7 +536,7 @@ importers: version: 5.4.5(@expo/config-plugins@57.0.10(typescript@7.0.2))(@react-native-community/cli-types@20.2.0)(memfs@4.64.0)(metro@0.84.6)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) terser-webpack-plugin: specifier: 'catalog:' - version: 5.5.0(webpack@5.105.4) + version: 5.6.1(webpack@5.105.4) typescript: specifier: 'catalog:' version: 7.0.2 @@ -639,8 +571,8 @@ importers: specifier: ^2.14.1 version: 2.14.1 open: - specifier: ^10.1.0 - version: 10.2.0 + specifier: ^11.0.4 + version: 11.0.4 pretty-format: specifier: ^28.1.0 version: 28.1.3 @@ -659,16 +591,19 @@ importers: version: 7.27.0 '@types/node': specifier: 'catalog:' - version: 20.19.43 + version: 22.20.5 '@types/ws': specifier: ^8.18.0 version: 8.18.1 typescript: specifier: 'catalog:' version: 7.0.2 + vite: + specifier: 'catalog:' + version: 8.3.4(@types/node@22.20.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0) vitest: specifier: 'catalog:' - version: 4.1.11(@types/node@20.19.43)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.51.2)(yaml@2.9.0) + version: 5.0.3(@types/node@22.20.5)(vite@8.3.4(@types/node@22.20.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0)) packages/init: dependencies: @@ -683,14 +618,14 @@ importers: specifier: ^0.9.1 version: 0.9.1 '@manypkg/find-root': - specifier: ^2.2.3 - version: 2.2.3 + specifier: ^3.1.0 + version: 3.1.0 '@rslib/core': specifier: 'catalog:' - version: 0.6.9(typescript@7.0.2) + version: 1.0.3(@module-federation/runtime-tools@2.9.2)(typescript@7.0.2) '@types/node': specifier: 'catalog:' - version: 20.19.43 + version: 22.20.5 '@types/semver': specifier: ^7.5.8 version: 7.7.1 @@ -701,14 +636,14 @@ importers: specifier: ^17.0.33 version: 17.0.35 chalk: - specifier: ^5.4.1 - version: 5.6.2 + specifier: ^6.0.1 + version: 6.0.1 dedent: specifier: ^1.5.3 version: 1.7.2 execa: - specifier: ^9.5.2 - version: 9.6.1 + specifier: ^10.1.0 + version: 10.1.0 gradient-string: specifier: ^3.0.0 version: 3.0.0 @@ -722,8 +657,8 @@ importers: specifier: ^1.1.0 version: 1.1.0 yargs: - specifier: ^17.7.2 - version: 17.7.3 + specifier: ^18.2.0 + version: 18.2.0 packages/plugin-expo-modules: devDependencies: @@ -735,7 +670,7 @@ importers: version: 1.6.0(@swc/helpers@0.5.23) '@types/node': specifier: 'catalog:' - version: 20.19.43 + version: 22.20.5 webpack: specifier: 'catalog:' version: 5.105.4 @@ -757,7 +692,7 @@ importers: version: 0.7.2 '@types/node': specifier: 'catalog:' - version: 20.19.43 + version: 22.20.5 nativewind: specifier: ^4.1.23 version: 4.2.6(react-native-reanimated@4.5.3(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8)(tailwindcss@3.4.19(yaml@2.9.0)) @@ -785,7 +720,7 @@ importers: version: 7.20.5 '@types/node': specifier: 'catalog:' - version: 20.19.43 + version: 22.20.5 '@types/semver': specifier: ^7.7.0 version: 7.7.1 @@ -862,8 +797,8 @@ importers: specifier: ^2.2.1 version: 2.3.3 terser-webpack-plugin: - specifier: 5.5.0 - version: 5.5.0(webpack@5.105.4) + specifier: ^5.6.1 + version: 5.6.1(webpack@5.105.4) throttleit: specifier: ^2.1.0 version: 2.1.0 @@ -884,11 +819,11 @@ importers: specifier: ^7.29.7 version: 7.29.7(@babel/core@7.29.7) '@module-federation/enhanced': - specifier: 0.8.9 - version: 0.8.9(@rspack/core@1.6.0(@swc/helpers@0.5.23))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@7.0.2)(webpack@5.105.4) + specifier: catalog:testers + version: 2.9.2(@rspack/core@1.6.0(@swc/helpers@0.5.23))(typescript@7.0.2)(webpack@5.105.4) '@module-federation/sdk': - specifier: 0.6.10 - version: 0.6.10 + specifier: 2.8.0 + version: 2.8.0 '@rspack/core': specifier: 'catalog:' version: 1.6.0(@swc/helpers@0.5.23) @@ -915,13 +850,10 @@ importers: version: 2.1.4 '@types/node': specifier: 'catalog:' - version: 20.19.43 + version: 22.20.5 '@types/react': specifier: catalog:testers version: 19.2.17 - '@types/react-dom': - specifier: ^17.0.7 - version: 17.0.26(@types/react@19.2.17) '@types/semver': specifier: ^7.7.0 version: 7.7.1 @@ -936,7 +868,7 @@ importers: version: 1.8.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.19.43) + version: 29.7.0(@types/node@22.20.5) react: specifier: 'catalog:' version: 19.2.8 @@ -982,7 +914,7 @@ importers: version: 1.6.0(@swc/helpers@0.5.23) '@types/node': specifier: 'catalog:' - version: 20.19.43 + version: 22.20.5 babel-preset-expo: specifier: catalog:expo57 version: 57.0.14(@babel/core@7.29.7)(@babel/runtime@7.29.7)(expo@57.0.27)(react-refresh@0.19.0) @@ -991,7 +923,7 @@ importers: version: 57.0.27(@babel/core@7.29.7)(@expo/metro-runtime@57.0.16)(expo-router@57.0.25)(react-dom@19.2.8(react@19.2.8))(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8)(typescript@7.0.2) expo-router: specifier: catalog:expo57 - version: 57.0.25(66ea6cfd90df0a40c40648bd22be227d) + version: 57.0.25(b78e73ef552e7de7587f9ac112282727) react: specifier: 'catalog:' version: 19.2.8 @@ -1019,12 +951,6 @@ importers: '@module-federation/enhanced': specifier: 2.0.1 version: 2.0.1(@rspack/core@1.6.0(@swc/helpers@0.5.23))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@7.0.2)(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) - '@module-federation/enhanced-v15': - specifier: npm:@module-federation/enhanced@0.15.0 - version: '@module-federation/enhanced@0.15.0(@rspack/core@1.6.0(@swc/helpers@0.5.23))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@7.0.2)(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)))' - '@module-federation/enhanced-v21': - specifier: npm:@module-federation/enhanced@0.21.0 - version: '@module-federation/enhanced@0.21.0(@rspack/core@1.6.0(@swc/helpers@0.5.23))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@7.0.2)(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)))' '@react-native/babel-preset-current': specifier: npm:@react-native/babel-preset@0.88.0-rc.3 version: '@react-native/babel-preset@0.88.0-rc.3' @@ -1039,7 +965,7 @@ importers: version: 1.15.46(@swc/helpers@0.5.23) '@types/node': specifier: 'catalog:' - version: 20.19.43 + version: 22.20.5 hermes-parser: specifier: 0.36.0 version: 0.36.0 @@ -1049,9 +975,12 @@ importers: typescript: specifier: 'catalog:' version: 7.0.2 + vite: + specifier: 'catalog:' + version: 8.3.4(@types/node@22.20.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0) vitest: specifier: 'catalog:' - version: 4.1.11(@types/node@20.19.43)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.51.2)(yaml@2.9.0) + version: 5.0.3(@types/node@22.20.5)(vite@8.3.4(@types/node@22.20.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0)) webpack: specifier: 'catalog:' version: 5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)) @@ -1069,7 +998,7 @@ importers: version: 29.5.14 '@types/node': specifier: 'catalog:' - version: 20.19.43 + version: 22.20.5 babel-jest: specifier: ^29.7.0 version: 29.7.0(@babel/core@7.29.7) @@ -1084,7 +1013,7 @@ importers: version: 5.24.3 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.19.43) + version: 29.7.0(@types/node@22.20.5) memfs: specifier: ^4.11.1 version: 4.64.0 @@ -1099,7 +1028,7 @@ importers: version: link:../../packages/repack '@types/node': specifier: 'catalog:' - version: 20.19.43 + version: 22.20.5 enhanced-resolve: specifier: ^5.18.1 version: 5.24.3 @@ -1109,25 +1038,28 @@ importers: typescript: specifier: 'catalog:' version: 7.0.2 + vite: + specifier: 'catalog:' + version: 8.3.4(@types/node@22.20.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0) vitest: specifier: 'catalog:' - version: 4.1.11(@types/node@20.19.43)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.51.2)(yaml@2.9.0) + version: 5.0.3(@types/node@22.20.5)(vite@8.3.4(@types/node@22.20.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0)) website: dependencies: '@callstack/rspress-preset': specifier: 0.6.0 - version: 0.6.0(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0))(@rspress/core@2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(core-js@3.42.0)(micromark-util-types@2.0.2)(micromark@4.0.2))(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + version: 0.6.0(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2))(@rspress/core@2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2))(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@callstack/rspress-theme': specifier: 0.6.0 - version: 0.6.0(@rspress/core@2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(core-js@3.42.0)(micromark-util-types@2.0.2)(micromark@4.0.2))(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + version: 0.6.0(@rspress/core@2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2))(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@rspress/core': specifier: 2.0.23 - version: 2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(core-js@3.42.0)(micromark-util-types@2.0.2)(micromark@4.0.2) + version: 2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2) devDependencies: '@types/node': specifier: 'catalog:' - version: 20.19.43 + version: 22.20.5 '@types/react': specifier: ^18.2.64 version: 18.3.31 @@ -1141,66 +1073,66 @@ packages: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} - '@ast-grep/napi-darwin-arm64@0.37.0': - resolution: {integrity: sha512-QAiIiaAbLvMEg/yBbyKn+p1gX2/FuaC0SMf7D7capm/oG4xGMzdeaQIcSosF4TCxxV+hIH4Bz9e4/u7w6Bnk3Q==} + '@ast-grep/napi-darwin-arm64@0.45.3': + resolution: {integrity: sha512-rMZJ6frSpR/xSbeV4hiA9WR5hHqk3rVYX8lOqEoUCaUnjEuFXvHdGN4WawJ8pVDq/IqM1UnTtsDSYgUdVmO5DA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@ast-grep/napi-darwin-x64@0.37.0': - resolution: {integrity: sha512-zvcvdgekd4ySV3zUbUp8HF5nk5zqwiMXTuVzTUdl/w08O7JjM6XPOIVT+d2o/MqwM9rsXdzdergY5oY2RdhSPA==} + '@ast-grep/napi-darwin-x64@0.45.3': + resolution: {integrity: sha512-tIclZ5pM+YSgk8NNTBoTkaclbS39cU5lbVfSrFWX4LUnxXfUPG+F+ppxyFjKwJTBELsGHEO4LdX3/Lc+FDwPNA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@ast-grep/napi-linux-arm64-gnu@0.37.0': - resolution: {integrity: sha512-L7Sj0lXy8X+BqSMgr1LB8cCoWk0rericdeu+dC8/c8zpsav5Oo2IQKY1PmiZ7H8IHoFBbURLf8iklY9wsD+cyA==} + '@ast-grep/napi-linux-arm64-gnu@0.45.3': + resolution: {integrity: sha512-Bm8F7/oRHQkDXbjH+gBi9oB5huJ0q12r/AIOMIypf5PWlAVvh206Tsw468phw4Oh6kd4Ad1Z+gflNW1MutgK2g==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - '@ast-grep/napi-linux-arm64-musl@0.37.0': - resolution: {integrity: sha512-LF9sAvYy6es/OdyJDO3RwkX3I82Vkfsng1sqUBcoWC1jVb1wX5YVzHtpQox9JrEhGl+bNp7FYxB4Qba9OdA5GA==} + '@ast-grep/napi-linux-arm64-musl@0.45.3': + resolution: {integrity: sha512-yr5xcRerV41GeRxmZ8SKbfGeyZRhQePoNNCgTAb4OrWMelWwbMI80aY7/IlF2bo1sN40BSW4hZdGIO/akTd1RQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - '@ast-grep/napi-linux-x64-gnu@0.37.0': - resolution: {integrity: sha512-TViz5/klqre6aSmJzswEIjApnGjJzstG/SE8VDWsrftMBMYt2PTu3MeluZVwzSqDao8doT/P+6U11dU05UOgxw==} + '@ast-grep/napi-linux-x64-gnu@0.45.3': + resolution: {integrity: sha512-lluRK3hxfHMQdFuVID6seAKVx4FH0kEwF6rCh5/I40Sf3EtNR2UCBXAqd6RBA6hqlSckktvBxCfw+h4aescDmg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@ast-grep/napi-linux-x64-musl@0.37.0': - resolution: {integrity: sha512-/BcCH33S9E3ovOAEoxYngUNXgb+JLg991sdyiNP2bSoYd30a9RHrG7CYwW6fMgua3ijQ474eV6cq9yZO1bCpXg==} + '@ast-grep/napi-linux-x64-musl@0.45.3': + resolution: {integrity: sha512-09wJQKq86LqILqQtw0+X09SzhcPwUnMVFKyia7S3XLbLqSeQpAMF55Y+zll53JRQ1dCzFEZJyvTT/7j9vwfE3w==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - '@ast-grep/napi-win32-arm64-msvc@0.37.0': - resolution: {integrity: sha512-TjQA4cFoIEW2bgjLkaL9yqT4XWuuLa5MCNd0VCDhGRDMNQ9+rhwi9eLOWRaap3xzT7g+nlbcEHL3AkVCD2+b3A==} + '@ast-grep/napi-win32-arm64-msvc@0.45.3': + resolution: {integrity: sha512-/HiVgw2cdtzXLDLoG4eBBcauekNXewfagy7qiVbjkVu/KcCH8dJ9lpj8DzeWwuBNtZxuD8jpiwP0M1pz3Bc3uw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@ast-grep/napi-win32-ia32-msvc@0.37.0': - resolution: {integrity: sha512-uNmVka8fJCdYsyOlF9aZqQMLTatEYBynjChVTzUfFMDfmZ0bihs/YTqJVbkSm8TZM7CUX82apvn50z/dX5iWRA==} + '@ast-grep/napi-win32-ia32-msvc@0.45.3': + resolution: {integrity: sha512-/gwJrJQUw65uNtAFcG2rtSTr117Gqqy3bfjaljCPKsa65dTeRcMMnjKLlZ6V9/g8z+4Xf78kdhp5ECbir4yfSw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - '@ast-grep/napi-win32-x64-msvc@0.37.0': - resolution: {integrity: sha512-vCiFOT3hSCQuHHfZ933GAwnPzmL0G04JxQEsBRfqONywyT8bSdDc/ECpAfr3S9VcS4JZ9/F6tkePKW/Om2Dq2g==} + '@ast-grep/napi-win32-x64-msvc@0.45.3': + resolution: {integrity: sha512-CEZAMAsaDoQoVE3MT2c/ry3/ydfyaqlTjxv8DK5PG355SrdAYPgevGC2Me6tz4dhphJin89Y20VsnrS5UrYV5Q==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@ast-grep/napi@0.37.0': - resolution: {integrity: sha512-Hb4o6h1Pf6yRUAX07DR4JVY7dmQw+RVQMW5/m55GoiAT/VRoKCWBtIUPPOnqDVhbx1Cjfil9b6EDrgJsUAujEQ==} + '@ast-grep/napi@0.45.3': + resolution: {integrity: sha512-bjJsUt0g3UCwbn9bjv7MnoR15rszSm79yPCXn4DWWK0NuYUUqBU/srtNMR4WnpfR7TnfBRdYFoqSNx0pGCNWJg==} engines: {node: '>= 10'} '@babel/cli@7.29.7': @@ -2078,429 +2010,123 @@ packages: '@emnapi/wasi-threads@1.2.3': resolution: {integrity: sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g==} - '@esbuild/aix-ppc64@0.25.5': - resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] + '@expo-google-fonts/material-symbols@0.4.49': + resolution: {integrity: sha512-HtoaXYCk7A9kOjwoxrjq6i0iDtAoQnOPm31zUn+TgmKlHVUU+yyqvQDxN830MvGmBQV8eINv/SK7JRtWhB2xcg==} - '@esbuild/aix-ppc64@0.28.1': - resolution: {integrity: sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] + '@expo/cli@57.0.28': + resolution: {integrity: sha512-4969gk/B2JyP3kAv2ftpwU1f9dLG2j9TsQuYCTTjfnyRx0O49Jwu1O1mie2c3HmKXbwfNA6QTS+3i3sNetMTag==} + hasBin: true + peerDependencies: + expo: '*' + expo-router: '*' + react-native: '*' + peerDependenciesMeta: + expo-router: + optional: true + react-native: + optional: true - '@esbuild/android-arm64@0.25.5': - resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] + '@expo/code-signing-certificates@0.0.6': + resolution: {integrity: sha512-iNe0puxwBNEcuua9gmTGzq+SuMDa0iATai1FlFTMHJ/vUmKvN/V//drXoLJkVb5i5H3iE/n/qIJxyoBnXouD0w==} - '@esbuild/android-arm64@0.28.1': - resolution: {integrity: sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] + '@expo/config-plugins@57.0.10': + resolution: {integrity: sha512-XFcj01blofSohoOxibrPsrsFPt2gAigrcWE3s6Vg+rSHvP9QVEfnyfmJNVsuIVT0EjY/1rZVJ4SajNDR5cJjpA==} - '@esbuild/android-arm@0.25.5': - resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] + '@expo/config-types@57.0.2': + resolution: {integrity: sha512-ewW08OonrcRIsRKIlFvvcmmafE5zemb1ocu3HkNwtVPyRtj2w42pZCAkMIROYpcVBaPnc3mDT9UZDzwXWC3i6g==} - '@esbuild/android-arm@0.28.1': - resolution: {integrity: sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] + '@expo/config@57.0.10': + resolution: {integrity: sha512-YpexTqLWEXdbbXgHh7Zhpq+qA5diuvO46lb7TiY81JwqKLAl9zK31APY1D7jUFlDX56owje5RtK0o5bMmGIMUg==} - '@esbuild/android-x64@0.25.5': - resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] + '@expo/devcert@1.2.2': + resolution: {integrity: sha512-wz1YedXwdNbYqk/PRr34vixnuw1+l6uSwmPXUj649cot5iYNccb2zIOnK7Nonb1Pfd/dxAY6CvU6KM3uSdxC7A==} - '@esbuild/android-x64@0.28.1': - resolution: {integrity: sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] + '@expo/devtools@57.0.1': + resolution: {integrity: sha512-GyUf+wFNkbttaX0jR7MZa9bm77U0IrLg6d2AjpxdyoXw/w4abHoXG0oFufwLMgP9zLTd5+Ct4X/ffNUTnlzZgg==} + peerDependencies: + react: '*' + react-native: '*' + peerDependenciesMeta: + react: + optional: true + react-native: + optional: true - '@esbuild/darwin-arm64@0.25.5': - resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] + '@expo/dom-webview@57.0.1': + resolution: {integrity: sha512-lAKsME4SAq+8sf56oN0DX5TBYyruupoRxbWbD2xf9RnKY8y6x8eb9LCE5pxSN0qyWdqnp+0wmyWzDkKboThKAw==} + peerDependencies: + expo: '*' + react: '*' + react-native: '*' - '@esbuild/darwin-arm64@0.28.1': - resolution: {integrity: sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] + '@expo/env@2.3.1': + resolution: {integrity: sha512-JvBdZa5OkTd+dGEtt3fLW9OF6RlIp9SNu9VyMSiWPV5szMDTSAYbX8Uj3cRvZcU1zzaRbqnTSsHk2AE8WXHfxQ==} + engines: {node: '>=20.12.0'} - '@esbuild/darwin-x64@0.25.5': - resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] + '@expo/env@2.4.3': + resolution: {integrity: sha512-M1NXeZCA1mkMkYOyIe7PlyRX0/jqFtMoJgyblnlq/vpCRfmueFT7RnGSQG8uEFDF5WHOFGijAQ3fogPh3/n5Ng==} + engines: {node: '>=20.12.0'} - '@esbuild/darwin-x64@0.28.1': - resolution: {integrity: sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] + '@expo/expo-modules-macros-plugin@0.6.1': + resolution: {integrity: sha512-cpsLZE4rqkc1Y3eZTkxB98jrqY1YXgetmtxFt8q89jBRmk3quRuk1BZo+VcnCSObZardjg99r1k5xijEMONFGA==} - '@esbuild/freebsd-arm64@0.25.5': - resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] + '@expo/fingerprint@0.20.13': + resolution: {integrity: sha512-h1x+w+JpNRu88a/5SMZRzJs9YDGR/f7R8ApCr7OdenhqmJ00hFxQMzvxajDLL+1P2Y2g/ND0xksusqvBqWSW5Q==} + hasBin: true - '@esbuild/freebsd-arm64@0.28.1': - resolution: {integrity: sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] + '@expo/image-utils@0.11.6': + resolution: {integrity: sha512-rmMpn7QGp6pUGRCQ3vvB9RP/vqq2q/PpToRh4dL/FbhSZOLZ1YTotpuLHf71FGOEfgKil/4PCd3hkWe/CCeiEg==} - '@esbuild/freebsd-x64@0.25.5': - resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] + '@expo/inline-modules@0.1.7': + resolution: {integrity: sha512-Bz/khd1gIJqDkje7t5ejD5e9jFbm4xEJzWSwRKadRo6gruepbw1xJ3Eb+e58OS8fY1ZNQYjzZbspnuph67sN0g==} - '@esbuild/freebsd-x64@0.28.1': - resolution: {integrity: sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] + '@expo/json-file@11.0.1': + resolution: {integrity: sha512-zxHWj4MKKMAL29ZQSY/Fssx4Thluk40JmuGNaeS078wy/NhlFhnVi+rHHunulE3xJAJ0CM73m8VK2+GkF9eRwQ==} - '@esbuild/linux-arm64@0.25.5': - resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] + '@expo/local-build-cache-provider@57.0.8': + resolution: {integrity: sha512-SEdE0pAQrr90bRh3MNR0ZuwoIBw390cYdFgbn7Vk0Mtm9EHaBfP7kYj+2hXnXZJgOEm3/JMtfoD3rV7rWA9FGg==} - '@esbuild/linux-arm64@0.28.1': - resolution: {integrity: sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] + '@expo/log-box@57.0.4': + resolution: {integrity: sha512-IxwS9s1L2muj8mj8AQSuiy7u8OFJdc02NRFo2me/Tj6DiaeG5SREqmpBE4rQpR2cadqSg5jl8Qab8Cjie616dg==} + peerDependencies: + expo: '*' + react: '*' + react-native: '*' - '@esbuild/linux-arm@0.25.5': - resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] + '@expo/metro-config@57.0.13': + resolution: {integrity: sha512-r+YCwqh8FM5cymkC3MdYO32DqLZQ2wDWkGEnzwgwI40Bj355BvL4XoY0hGgao9vNHjYa7be7XxbVqtMTi76snw==} + peerDependencies: + expo: '*' + peerDependenciesMeta: + expo: + optional: true - '@esbuild/linux-arm@0.28.1': - resolution: {integrity: sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] + '@expo/metro-file-map@57.0.4': + resolution: {integrity: sha512-gLABIbU3SlxRVVCe56ZfYFbxjhdpAKomQYr6LIeDYf7rca8Pfvzv8FS39hH0+IcdpEHly2Jy0X2nd4/obd8Kig==} - '@esbuild/linux-ia32@0.25.5': - resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] + '@expo/metro-runtime@57.0.16': + resolution: {integrity: sha512-x43WgZoICpp37BhDV7vixe0bNxbVPPGaBLHYc98ZJ8MU+UC2dk39Y2XvkfYMRRbAUSIkCIJiwdERnptlPg0Ckw==} + peerDependencies: + expo: '*' + react: '*' + react-dom: '*' + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true - '@esbuild/linux-ia32@0.28.1': - resolution: {integrity: sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] + '@expo/metro@56.0.2': + resolution: {integrity: sha512-Ld5AeYMCCDa8bLeWhfuLbZFFjlV3f6ORqyPz2glGh6RltIngMuLf9BTC2yvHFjkKuGxL5SynijmA8xmNNWn5iA==} - '@esbuild/linux-loong64@0.25.5': - resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] + '@expo/osascript@2.7.1': + resolution: {integrity: sha512-Zn03EX6In7ts2lPUW2ESUSkEhEWQN1qqsiXjadtZMJOuZRkMiAg1ZQHuvz9DjByDWNJ2pBwAGyrts9lj9k389g==} + engines: {node: '>=12'} - '@esbuild/linux-loong64@0.28.1': - resolution: {integrity: sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] + '@expo/package-manager@1.13.1': + resolution: {integrity: sha512-y/K+CaYYpZpNGZhSX4HyLT/vyIunFjNfyoxNysPBCefeLKI/VCx6f9LNPzrxayr3rCYO5bl9O8H+HRQK265Nkg==} - '@esbuild/linux-mips64el@0.25.5': - resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.28.1': - resolution: {integrity: sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.25.5': - resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.28.1': - resolution: {integrity: sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.25.5': - resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.28.1': - resolution: {integrity: sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.25.5': - resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.28.1': - resolution: {integrity: sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.25.5': - resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.28.1': - resolution: {integrity: sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-arm64@0.25.5': - resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-arm64@0.28.1': - resolution: {integrity: sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.25.5': - resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.28.1': - resolution: {integrity: sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-arm64@0.25.5': - resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-arm64@0.28.1': - resolution: {integrity: sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.25.5': - resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.28.1': - resolution: {integrity: sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openharmony-arm64@0.28.1': - resolution: {integrity: sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - - '@esbuild/sunos-x64@0.25.5': - resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.28.1': - resolution: {integrity: sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.25.5': - resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.28.1': - resolution: {integrity: sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.25.5': - resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.28.1': - resolution: {integrity: sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.25.5': - resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.28.1': - resolution: {integrity: sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@expo-google-fonts/material-symbols@0.4.49': - resolution: {integrity: sha512-HtoaXYCk7A9kOjwoxrjq6i0iDtAoQnOPm31zUn+TgmKlHVUU+yyqvQDxN830MvGmBQV8eINv/SK7JRtWhB2xcg==} - - '@expo/cli@57.0.28': - resolution: {integrity: sha512-4969gk/B2JyP3kAv2ftpwU1f9dLG2j9TsQuYCTTjfnyRx0O49Jwu1O1mie2c3HmKXbwfNA6QTS+3i3sNetMTag==} - hasBin: true - peerDependencies: - expo: '*' - expo-router: '*' - react-native: '*' - peerDependenciesMeta: - expo-router: - optional: true - react-native: - optional: true - - '@expo/code-signing-certificates@0.0.6': - resolution: {integrity: sha512-iNe0puxwBNEcuua9gmTGzq+SuMDa0iATai1FlFTMHJ/vUmKvN/V//drXoLJkVb5i5H3iE/n/qIJxyoBnXouD0w==} - - '@expo/config-plugins@57.0.10': - resolution: {integrity: sha512-XFcj01blofSohoOxibrPsrsFPt2gAigrcWE3s6Vg+rSHvP9QVEfnyfmJNVsuIVT0EjY/1rZVJ4SajNDR5cJjpA==} - - '@expo/config-types@57.0.2': - resolution: {integrity: sha512-ewW08OonrcRIsRKIlFvvcmmafE5zemb1ocu3HkNwtVPyRtj2w42pZCAkMIROYpcVBaPnc3mDT9UZDzwXWC3i6g==} - - '@expo/config@57.0.10': - resolution: {integrity: sha512-YpexTqLWEXdbbXgHh7Zhpq+qA5diuvO46lb7TiY81JwqKLAl9zK31APY1D7jUFlDX56owje5RtK0o5bMmGIMUg==} - - '@expo/devcert@1.2.2': - resolution: {integrity: sha512-wz1YedXwdNbYqk/PRr34vixnuw1+l6uSwmPXUj649cot5iYNccb2zIOnK7Nonb1Pfd/dxAY6CvU6KM3uSdxC7A==} - - '@expo/devtools@57.0.1': - resolution: {integrity: sha512-GyUf+wFNkbttaX0jR7MZa9bm77U0IrLg6d2AjpxdyoXw/w4abHoXG0oFufwLMgP9zLTd5+Ct4X/ffNUTnlzZgg==} - peerDependencies: - react: '*' - react-native: '*' - peerDependenciesMeta: - react: - optional: true - react-native: - optional: true - - '@expo/dom-webview@57.0.1': - resolution: {integrity: sha512-lAKsME4SAq+8sf56oN0DX5TBYyruupoRxbWbD2xf9RnKY8y6x8eb9LCE5pxSN0qyWdqnp+0wmyWzDkKboThKAw==} - peerDependencies: - expo: '*' - react: '*' - react-native: '*' - - '@expo/env@2.3.1': - resolution: {integrity: sha512-JvBdZa5OkTd+dGEtt3fLW9OF6RlIp9SNu9VyMSiWPV5szMDTSAYbX8Uj3cRvZcU1zzaRbqnTSsHk2AE8WXHfxQ==} - engines: {node: '>=20.12.0'} - - '@expo/env@2.4.3': - resolution: {integrity: sha512-M1NXeZCA1mkMkYOyIe7PlyRX0/jqFtMoJgyblnlq/vpCRfmueFT7RnGSQG8uEFDF5WHOFGijAQ3fogPh3/n5Ng==} - engines: {node: '>=20.12.0'} - - '@expo/expo-modules-macros-plugin@0.6.1': - resolution: {integrity: sha512-cpsLZE4rqkc1Y3eZTkxB98jrqY1YXgetmtxFt8q89jBRmk3quRuk1BZo+VcnCSObZardjg99r1k5xijEMONFGA==} - - '@expo/fingerprint@0.20.13': - resolution: {integrity: sha512-h1x+w+JpNRu88a/5SMZRzJs9YDGR/f7R8ApCr7OdenhqmJ00hFxQMzvxajDLL+1P2Y2g/ND0xksusqvBqWSW5Q==} - hasBin: true - - '@expo/image-utils@0.11.6': - resolution: {integrity: sha512-rmMpn7QGp6pUGRCQ3vvB9RP/vqq2q/PpToRh4dL/FbhSZOLZ1YTotpuLHf71FGOEfgKil/4PCd3hkWe/CCeiEg==} - - '@expo/inline-modules@0.1.7': - resolution: {integrity: sha512-Bz/khd1gIJqDkje7t5ejD5e9jFbm4xEJzWSwRKadRo6gruepbw1xJ3Eb+e58OS8fY1ZNQYjzZbspnuph67sN0g==} - - '@expo/json-file@11.0.1': - resolution: {integrity: sha512-zxHWj4MKKMAL29ZQSY/Fssx4Thluk40JmuGNaeS078wy/NhlFhnVi+rHHunulE3xJAJ0CM73m8VK2+GkF9eRwQ==} - - '@expo/local-build-cache-provider@57.0.8': - resolution: {integrity: sha512-SEdE0pAQrr90bRh3MNR0ZuwoIBw390cYdFgbn7Vk0Mtm9EHaBfP7kYj+2hXnXZJgOEm3/JMtfoD3rV7rWA9FGg==} - - '@expo/log-box@57.0.4': - resolution: {integrity: sha512-IxwS9s1L2muj8mj8AQSuiy7u8OFJdc02NRFo2me/Tj6DiaeG5SREqmpBE4rQpR2cadqSg5jl8Qab8Cjie616dg==} - peerDependencies: - expo: '*' - react: '*' - react-native: '*' - - '@expo/metro-config@57.0.13': - resolution: {integrity: sha512-r+YCwqh8FM5cymkC3MdYO32DqLZQ2wDWkGEnzwgwI40Bj355BvL4XoY0hGgao9vNHjYa7be7XxbVqtMTi76snw==} - peerDependencies: - expo: '*' - peerDependenciesMeta: - expo: - optional: true - - '@expo/metro-file-map@57.0.4': - resolution: {integrity: sha512-gLABIbU3SlxRVVCe56ZfYFbxjhdpAKomQYr6LIeDYf7rca8Pfvzv8FS39hH0+IcdpEHly2Jy0X2nd4/obd8Kig==} - - '@expo/metro-runtime@57.0.16': - resolution: {integrity: sha512-x43WgZoICpp37BhDV7vixe0bNxbVPPGaBLHYc98ZJ8MU+UC2dk39Y2XvkfYMRRbAUSIkCIJiwdERnptlPg0Ckw==} - peerDependencies: - expo: '*' - react: '*' - react-dom: '*' - react-native: '*' - peerDependenciesMeta: - react-dom: - optional: true - - '@expo/metro@56.0.2': - resolution: {integrity: sha512-Ld5AeYMCCDa8bLeWhfuLbZFFjlV3f6ORqyPz2glGh6RltIngMuLf9BTC2yvHFjkKuGxL5SynijmA8xmNNWn5iA==} - - '@expo/osascript@2.7.1': - resolution: {integrity: sha512-Zn03EX6In7ts2lPUW2ESUSkEhEWQN1qqsiXjadtZMJOuZRkMiAg1ZQHuvz9DjByDWNJ2pBwAGyrts9lj9k389g==} - engines: {node: '>=12'} - - '@expo/package-manager@1.13.1': - resolution: {integrity: sha512-y/K+CaYYpZpNGZhSX4HyLT/vyIunFjNfyoxNysPBCefeLKI/VCx6f9LNPzrxayr3rCYO5bl9O8H+HRQK265Nkg==} - - '@expo/plist@0.8.1': - resolution: {integrity: sha512-3gTReGIUm0oRaMClsAJYxBnVPCl6fVpsl8HS+DTVxDhW4GyVyxg9E/Znm3BvcHtUJ51RJJI14pC1wvrNilCRHw==} + '@expo/plist@0.8.1': + resolution: {integrity: sha512-3gTReGIUm0oRaMClsAJYxBnVPCl6fVpsl8HS+DTVxDhW4GyVyxg9E/Znm3BvcHtUJ51RJJI14pC1wvrNilCRHw==} '@expo/prebuild-config@57.0.17': resolution: {integrity: sha512-PnPw4QT8afAA1RqTktK89+JpyJz46cZsZx6gEAe6QCHgOHc7dlA0rXlOFy0xbHpBnYT8x7wl6vTz2ydT99gykw==} @@ -2719,6 +2345,9 @@ packages: '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/sourcemap-codec@1.6.0': + resolution: {integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==} + '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} @@ -2849,16 +2478,16 @@ packages: '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} - '@manypkg/find-root@2.2.3': - resolution: {integrity: sha512-jtEZKczWTueJYHjGpxU3KJQ08Gsrf4r6Q2GjmPp/RGk5leeYAA1eyDADSAF+KVCsQ6EwZd/FMcOFCoMhtqdCtQ==} - engines: {node: '>=14.18.0'} + '@manypkg/find-root@3.1.0': + resolution: {integrity: sha512-BcSqCyKhBVZ5YkSzOiheMCV41kqAFptW6xGqYSTjkVTl9XQpr+pqHhwgGCOHQtjDCv7Is6EFyA14Sm5GVbVABA==} + engines: {node: '>=20.0.0'} '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} - '@manypkg/tools@1.1.2': - resolution: {integrity: sha512-3lBouSuF7CqlseLB+FKES0K4FQ02JrbEoRtJhxnsyB1s5v4AP03gsoohN8jp7DcOImhaR9scYdztq3/sLfk/qQ==} - engines: {node: '>=14.18.0'} + '@manypkg/tools@2.1.2': + resolution: {integrity: sha512-6QEf6yqFbETdwGITKq57aYoPfX/3K8XFNwsAlx0C1M7o8cb79sv1M3w+tWuWvIcSbNqrLF7OD7YpZMVVz335hQ==} + engines: {node: '>=20.0.0'} '@mdx-js/mdx@3.1.1': resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} @@ -2869,43 +2498,12 @@ packages: '@types/react': '>=16' react: '>=16' - '@modern-js/node-bundle-require@2.67.6': - resolution: {integrity: sha512-rRiDQkrm3kgn0E/GNrcvqo4c71PaUs2R8Xmpv6GUKbEr6lz7VNgfZmAhdAQPtNfRfiBe+1sFLzEcwfEdDo/dTA==} - - '@modern-js/node-bundle-require@2.68.2': - resolution: {integrity: sha512-MWk/pYx7KOsp+A/rN0as2ji/Ba8x0m129aqZ3Lj6T6CCTWdz0E/IsamPdTmF9Jnb6whQoBKtWSaLTCQlmCoY0Q==} - - '@modern-js/utils@2.67.6': - resolution: {integrity: sha512-cxY7HsSH0jIN3rlL6RZ0tgzC1tH0gHW++8X6h7sXCNCylhUdbGZI9yTGbpAS8bU7c97NmPaTKg+/ILt00Kju1Q==} - - '@modern-js/utils@2.68.2': - resolution: {integrity: sha512-revom/i/EhKfI0STNLo/AUbv7gY0JY0Ni2gO6P/Z4cTyZZRgd5j90678YB2DGn+LtmSrEWtUphyDH5Jn1RKjgg==} - - '@module-federation/bridge-react-webpack-plugin@0.15.0': - resolution: {integrity: sha512-bbinV0gC82x0JGrT6kNV1tQHi4UBxqY79mZJKWVbGpSMPM+nifC9y/nQCYhZZajT7D/5zIHNkP0BKrQmPA7ArA==} - - '@module-federation/bridge-react-webpack-plugin@0.21.0': - resolution: {integrity: sha512-k4C55EgRhvnErMztKAGakIFCidAT9f/5ErjDBJtcYCcrycFpEltIbQ5922+dPMuekYQGI8eBYLM34814kGI/6w==} - - '@module-federation/bridge-react-webpack-plugin@0.8.9': - resolution: {integrity: sha512-gM5fnWvFfTEfh5UjSmNod1H/np/pUUjvJnnN31ucKcZ21mL6wJo0A+Vfj8a5gv34S+1n5lWR1b6eVv9CofwgDQ==} - '@module-federation/bridge-react-webpack-plugin@2.0.1': resolution: {integrity: sha512-D7LMW5EMAJShOMR1aZDAJ6s+MdsYDHaQyJADLQ3LaY0sne/BkVqkPikUwcO1IwOwKbXjYsDlQVOEvk9wZVRFhA==} '@module-federation/bridge-react-webpack-plugin@2.9.2': resolution: {integrity: sha512-6ikuvP1639g8jzSxveDLz/BOk0VTIkO7aSuvrZgq0waB0h553zFtkTJAXQETezzO+s1taHGhEvFoCtl6DJWu6A==} - '@module-federation/cli@0.15.0': - resolution: {integrity: sha512-ZFQ7TA7vwSro4n21/+9cGxVkeRU9IcXcQGs1GIToz/JFvomTHbGN33iplR3GNMhuMNyXQ/wxe2gWkEmIBCzW2w==} - engines: {node: '>=16.0.0'} - hasBin: true - - '@module-federation/cli@0.21.0': - resolution: {integrity: sha512-nLsYHsD3CsocUwe58MZnFD2XvqS1C9sJW60kH3+Y2hYVFW9EkhPRuJGuoV2DS2EZlP22UfnZphqVZ08nwurLZw==} - engines: {node: '>=16.0.0'} - hasBin: true - '@module-federation/cli@2.0.1': resolution: {integrity: sha512-2SL5Y8iODNX10y9T3CBLhHjSXo4afnA1BK82m4sNfZebuVO+o34bxewqwod9xfWq9xhTZmOSFZ+n+lgTKRv+CQ==} engines: {node: '>=16.0.0'} @@ -2916,24 +2514,6 @@ packages: engines: {node: '>=16.0.0'} hasBin: true - '@module-federation/data-prefetch@0.15.0': - resolution: {integrity: sha512-ivAnthD4SbBoT3590qLzCyKELGyfa7nj8BEjWjb6BNrP5Eu8sHX3Q2wHf76QsYfuwErtjaMU87N7dTe2ELZPVg==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@module-federation/data-prefetch@0.21.0': - resolution: {integrity: sha512-cwvD55fqTx+XFlYQ/G+rOhWN0Jbd37PaVdyKPLtgYHQ+7DUya2H3xDH1RbSkDKw3esAn91NZq00nXEfL8ccvKA==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@module-federation/data-prefetch@0.8.9': - resolution: {integrity: sha512-doUzJ5uuLPrN5e/NMvKuyUE/lqiZFgGzFITwBF90/KKqOq7R2ZWh43R4RJgkUYfs/F119AYXZ9jxrSphIh+cjg==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - '@module-federation/data-prefetch@2.0.1': resolution: {integrity: sha512-Kq0P1OABGt6QAvs6TaE/zY9Ut9Y/oJFrzoSF3eWaCYbUAr2KD2SpTyMsPz4ssBzjeKXTgimugh6tHHd6mpCBIQ==} peerDependencies: @@ -2945,33 +2525,6 @@ packages: react-dom: optional: true - '@module-federation/dts-plugin@0.15.0': - resolution: {integrity: sha512-UztaFAhpCpsy+EUOP1BiqlYpRdD4h2TUITphCmThO1grOCqU7dYYwGjWNy37NtJeykRRznH3FU0+iGBG3Oiw6w==} - peerDependencies: - typescript: ^4.9.0 || ^5.0.0 - vue-tsc: '>=1.0.24' - peerDependenciesMeta: - vue-tsc: - optional: true - - '@module-federation/dts-plugin@0.21.0': - resolution: {integrity: sha512-G191VJqnKijul0nMLAvzF8LpeXVOqeJMLVRAQXoiL1P2/Y1C5OctKGq7QevA93vhLu79Ck2OGr2pOd3yH9NvnQ==} - peerDependencies: - typescript: ^4.9.0 || ^5.0.0 - vue-tsc: '>=1.0.24' - peerDependenciesMeta: - vue-tsc: - optional: true - - '@module-federation/dts-plugin@0.8.9': - resolution: {integrity: sha512-Q40yqdQvTV8QRoegjUquTejhLl2gZoPv623hc8MWmGuP2vXLBIJJ9iV849LkFLeE8xaUgtwmn2uCQeBh2aJNjg==} - peerDependencies: - typescript: ^4.9.0 || ^5.0.0 - vue-tsc: '>=1.0.24' - peerDependenciesMeta: - vue-tsc: - optional: true - '@module-federation/dts-plugin@2.0.1': resolution: {integrity: sha512-PLneTsf1fQS5/RTBedtLAAmCPRdMfIlhfJkOa8QH3WDJaQsqm8Wb3r2cTUBf2aNj/bP3aH/y6Hs9JFB/4x0l5g==} peerDependencies: @@ -2990,50 +2543,6 @@ packages: vue-tsc: optional: true - '@module-federation/enhanced@0.15.0': - resolution: {integrity: sha512-YzGcjdggtR+VrNdIgT1nvhT+V6I+LnrdsLV3YfOB0iVkOe4+YFbDLZJK16CuYRSm/HTR38LVbziE/6tWcibKYw==} - hasBin: true - peerDependencies: - typescript: ^4.9.0 || ^5.0.0 - vue-tsc: '>=1.0.24' - webpack: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - vue-tsc: - optional: true - webpack: - optional: true - - '@module-federation/enhanced@0.21.0': - resolution: {integrity: sha512-fpeERj4ymaiY52hyLNLdOqMjOBvvmd3rcbBTyoss06B4XagW+RcDrQ+DImZot259Vbac6AxA1J4V1swFEmYEpA==} - hasBin: true - peerDependencies: - typescript: ^4.9.0 || ^5.0.0 - vue-tsc: '>=1.0.24' - webpack: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - vue-tsc: - optional: true - webpack: - optional: true - - '@module-federation/enhanced@0.8.9': - resolution: {integrity: sha512-feZUhznCyFkyivWNSFPN+FHMZmyrxlKBhWW8ldWsp/LlKIzWI75vMLimpiydBWnWTZgnOhQDBZGZVxSlfnfKHQ==} - peerDependencies: - typescript: ^4.9.0 || ^5.0.0 - vue-tsc: '>=1.0.24' - webpack: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - vue-tsc: - optional: true - webpack: - optional: true - '@module-federation/enhanced@2.0.1': resolution: {integrity: sha512-EZIARQ/8ScoTP6PV8+E4SsmMYWK4ErrikZJ0G/FX8wvK8mCtdoKatFtvDN9++P6Nl78kN9zHYgAV4AHKdBVjfQ==} hasBin: true @@ -3064,42 +2573,15 @@ packages: webpack: optional: true - '@module-federation/error-codes@0.13.1': - resolution: {integrity: sha512-azgGDBnFRfqlivHOl96ZjlFUFlukESz2Rnnz/pINiSqoBBNjUE0fcAZP4X6jgrVITuEg90YkruZa7pW9I3m7Uw==} - - '@module-federation/error-codes@0.15.0': - resolution: {integrity: sha512-CFJSF+XKwTcy0PFZ2l/fSUpR4z247+Uwzp1sXVkdIfJ/ATsnqf0Q01f51qqSEA6MYdQi6FKos9FIcu3dCpQNdg==} - - '@module-federation/error-codes@0.21.0': - resolution: {integrity: sha512-jZLvq4bkDUz9Qt5N+vKRGdJ1qSEt0W637xhAGgoaTNXY1aCoS99zeqWZzt1RCA6BAJjwVC+wz60VLMtZ+6ZQYw==} - '@module-federation/error-codes@0.21.2': resolution: {integrity: sha512-mGbPAAApgjmQUl4J7WAt20aV04a26TyS21GDEpOGXFEQG5FqmZnSJ6FqB8K19HgTKioBT1+fF/Ctl5bGGao/EA==} - '@module-federation/error-codes@0.8.9': - resolution: {integrity: sha512-yUA3GZjOy8Ll6l193faXir2veexDaUiLdmptbzC9tIee/iSQiSwIlibdTafCfqaJ62cLZaytOUdmAFAKLv8QQw==} - '@module-federation/error-codes@2.0.1': resolution: {integrity: sha512-2bJF/ft+qL9L6Zvq2t/G9/f/0wFL73cM8/NJ04uyYz9BjIgvx28K5qu8/6+IwgEEKATG7vOhBBVj6wH3S+5ASA==} '@module-federation/error-codes@2.9.2': resolution: {integrity: sha512-MTpKubqsJSBgnuw+2Pli1kHL4INeHD5cGnHL84oRANwQAWK7b6lN3ZZTmL3FL6lYn65ImineqZNqGWBv5GQVLQ==} - '@module-federation/inject-external-runtime-core-plugin@0.15.0': - resolution: {integrity: sha512-D6+FO2oj2Gr6QpfWv3i9RI9VJM2IFCMiFQKg5zOpKw1qdrPRWb35fiXAXGjw9RrVgrZz0Z1b9OP4zC9hfbpnQQ==} - peerDependencies: - '@module-federation/runtime-tools': 0.15.0 - - '@module-federation/inject-external-runtime-core-plugin@0.21.0': - resolution: {integrity: sha512-geluIyX4VwYGzmjqLpv9HcpoJ1lOxbvDBpRLQmd+m3UDuJWyY+yXuumg64CC7TUWD3DjZqiOLOCTd5XuLIQ5Nw==} - peerDependencies: - '@module-federation/runtime-tools': 0.21.0 - - '@module-federation/inject-external-runtime-core-plugin@0.8.9': - resolution: {integrity: sha512-F3s/3Iny20c0Y0CaXgOZdgl7PzgXj6ftCiT5FO6QWmyhzfl2R0o3KFuv54BmwtoimSFky1ShuC/jPluz4EGG1g==} - peerDependencies: - '@module-federation/runtime-tools': 0.8.9 - '@module-federation/inject-external-runtime-core-plugin@2.0.1': resolution: {integrity: sha512-oAA7G+4GCHM+WRYfscR/x4GwCyM9CEqfdD9/x2L6y8mtLWK9anRLKTocsI759AvzXsbT1m3EQ5ki1O6wlwDu3g==} peerDependencies: @@ -3110,72 +2592,18 @@ packages: peerDependencies: '@module-federation/runtime-tools': 2.9.2 - '@module-federation/managers@0.15.0': - resolution: {integrity: sha512-YMIiFRgMHtuMcLBgOYyfkFpwU9vo6l0VjOZE5Wdr33DltQBUgp9Lo8+2AkyZ4TTkelqjvUWSNKKYV3MV4GL7gw==} - - '@module-federation/managers@0.21.0': - resolution: {integrity: sha512-9YJ7dro1sJeAz6wsZrhtM/K/I9s3CWaQpqcFYUYj4ZNMpVeCNpxKRRbewd/wBKel6T/wMNvAGN5iiJn54TGKSQ==} - - '@module-federation/managers@0.8.9': - resolution: {integrity: sha512-Fb28sa2iAqwSSSgiPBoL5Kp0RB9ZKJvdwLAEwZBV2c2LyZUqJCdTjmYuB5Q2sWB9wsudd/ijV6WWNK/nVoJxdA==} - '@module-federation/managers@2.0.1': resolution: {integrity: sha512-KR01lSlcYRQ9C6hW2a8CQQtAE0LvfTLgtV/6ZNUTagw8sRfeDln+ggrZsYilKu9zl0i8RPDgpv/kS60o4lcxCQ==} '@module-federation/managers@2.9.2': resolution: {integrity: sha512-VtSKLkT2EA1wqCMFXNiklC+XF+5bZPYY3sUQ9LCFHqKS7v7NOJDrwMV6Qtw3fxH4Y6Pe6P28MiU8D9dlzknCKQ==} - '@module-federation/manifest@0.15.0': - resolution: {integrity: sha512-x+UVFkdoKiNZhpUO8H/9jlM3nmC5bIApZvbC2TQuNva+ElCPotdhEO8jduiVkBnc2lr8D9qnFm8U5Kx/aFnGlA==} - - '@module-federation/manifest@0.21.0': - resolution: {integrity: sha512-m2evrpyO9OPF4ul/qHD5P76CfBgFpEDsNAorddNgDOZAjI75lqD4DX/R0gyuTXoSOPz0vFbLLWLy2adze5xRTA==} - - '@module-federation/manifest@0.8.9': - resolution: {integrity: sha512-48jIv50l0tTx+CVzs2JKMlTO0mcUvFRDxqO79nJaL1DLfpRQoCRQjCA8sXUp5PPIyJ8MHQqkHK/dnaal4NlR/A==} - '@module-federation/manifest@2.0.1': resolution: {integrity: sha512-p8nYGjHWp17MsYdW/Vv0ogBDiTTsI1PHWPQbvVIqLQXDqwiesaRSRR1zziECXQoEL8lV5Bs+uSkcaJGhea9P+A==} '@module-federation/manifest@2.9.2': resolution: {integrity: sha512-l9X1g2nHqjdumz9U9jawKo8rKoWXVbSlzLOqs+GYiHfzqSB2/ZQ+4AX0CaJ7orLz2varpGK4qdnQ0saptGuEVw==} - '@module-federation/rspack@0.15.0': - resolution: {integrity: sha512-nRz0JHcoTz+M5A+wXCG3981lmPeEm91EZe4q5GVfbVhvlAf/Ctd26qSz4lXuyUA1Ar5afBTxKvqWy7xh4wcg2A==} - peerDependencies: - '@rspack/core': '>=0.7' - typescript: ^4.9.0 || ^5.0.0 - vue-tsc: '>=1.0.24' - peerDependenciesMeta: - typescript: - optional: true - vue-tsc: - optional: true - - '@module-federation/rspack@0.21.0': - resolution: {integrity: sha512-XQtYSWZxqgpIJg0qEDG5gyQ3WPFrIWnLvA0feQ51Ll8Ubv6sVo+se+gycLbZxJ/rD7D93y523tiiNWjdER7vCg==} - peerDependencies: - '@rspack/core': '>=0.7' - typescript: ^4.9.0 || ^5.0.0 - vue-tsc: '>=1.0.24' - peerDependenciesMeta: - typescript: - optional: true - vue-tsc: - optional: true - - '@module-federation/rspack@0.8.9': - resolution: {integrity: sha512-wuHRx+aUYhsrAQzU5yKQksaOJ8pwhuQJDl8I86xmzkEsnxcWsZcn49xIR4t7v1HcYAqjBXLNXSoQwkIMH9zu2w==} - peerDependencies: - '@rspack/core': '>=0.7' - typescript: ^4.9.0 || ^5.0.0 - vue-tsc: '>=1.0.24' - peerDependenciesMeta: - typescript: - optional: true - vue-tsc: - optional: true - '@module-federation/rspack@2.0.1': resolution: {integrity: sha512-SAlNE8iclFmzrKtx3/C2GivXYx6nPzx4MgQV01QG/a4LpnLbwlxzdZu3rqQ2swp4NNWT/t/GT7Y+7gfhyVa7mg==} peerDependencies: @@ -3200,123 +2628,54 @@ packages: vue-tsc: optional: true - '@module-federation/runtime-core@0.13.1': - resolution: {integrity: sha512-TfyKfkSAentKeuvSsAItk8s5tqQSMfIRTPN2e1aoaq/kFhE+7blps719csyWSX5Lg5Es7WXKMsXHy40UgtBtuw==} - - '@module-federation/runtime-core@0.15.0': - resolution: {integrity: sha512-RYzI61fRDrhyhaEOXH3AgIGlHiot0wPFXu7F43cr+ZnTi+VlSYWLdlZ4NBuT9uV6JSmH54/c+tEZm5SXgKR2sQ==} - - '@module-federation/runtime-core@0.21.0': - resolution: {integrity: sha512-qIvhfON6TQxbybZFNJzJZ0woi0kXaTWIavPdcUxi41LpxxB5Ax1voqpY5NXE2Zq0Uek88b2OgDgXyvIuKM50XQ==} - '@module-federation/runtime-core@0.21.2': resolution: {integrity: sha512-LtDnccPxjR8Xqa3daRYr1cH/6vUzK3mQSzgvnfsUm1fXte5syX4ftWw3Eu55VdqNY3yREFRn77AXdu9PfPEZRw==} - '@module-federation/runtime-core@0.6.17': - resolution: {integrity: sha512-PXFN/TT9f64Un6NQYqH1Z0QLhpytW15jkZvTEOV8W7Ed319BECFI0Rv4xAsAGa8zJGFoaM/c7QOQfdFXtKj5Og==} - '@module-federation/runtime-core@2.0.1': resolution: {integrity: sha512-gOuCPSHoQGUGwlxfSTMInFX+QvLxdEWegGGMiLdU5vqbXuva4E9M+kXBBO7/0MkcBPMmVs0wOJGm0XOLeV2f1Q==} '@module-federation/runtime-core@2.9.2': resolution: {integrity: sha512-S9roTDqLtAWaaDBuug69ZnXXGEx0pUq/yG06J759bjRgfAg2P9+dWEv1q7rB2eMIp7HH4L6s3ColDRYdL6tJ9w==} - '@module-federation/runtime-tools@0.13.1': - resolution: {integrity: sha512-GEF1pxqLc80osIMZmE8j9UKZSaTm2hX2lql8tgIH/O9yK4wnF06k6LL5Ah+wJt+oJv6Dj55ri/MoxMP4SXoPNA==} - - '@module-federation/runtime-tools@0.15.0': - resolution: {integrity: sha512-kzFn3ObUeBp5vaEtN1WMxhTYBuYEErxugu1RzFUERD21X3BZ+b4cWwdFJuBDlsmVjctIg/QSOoZoPXRKAO0foA==} - - '@module-federation/runtime-tools@0.21.0': - resolution: {integrity: sha512-XOjd5yLUTD12ay35rgSEhB9JIqxDZuC1OB6/aNyHf7IWPUNB7s4XZ2JlGn1xW8c0Asq1VRm15DF+BXmyDf+XnQ==} - '@module-federation/runtime-tools@0.21.2': resolution: {integrity: sha512-SgG9NWTYGNYcHSd5MepO3AXf6DNXriIo4sKKM4mu4RqfYhHyP+yNjnF/gvYJl52VD61g0nADmzLWzBqxOqk2tg==} - '@module-federation/runtime-tools@0.8.9': - resolution: {integrity: sha512-xBUGx1oOZNuxXjPGdTMrLtAIDrbrN6jE2Mgb9w1qr2mQ4AW9b5TOlxbARBoX4q98xt9oFCGU6Q0eW5XJpsl8AQ==} - '@module-federation/runtime-tools@2.0.1': resolution: {integrity: sha512-AStdwBtsGB3jIfDg9oP+KyVPsimdaeHsP855gqCxDp1hi2+GKjlZWZx9ThkS8NytVSXSUysxqoUL1ivDoKgcCQ==} '@module-federation/runtime-tools@2.9.2': resolution: {integrity: sha512-rhOvimSLLnnocfOVUfAzH2xDq1pHMw4f/nSC+JQhSztEgP/1UslPPvcBcenx3B8/6CoYmBbGa2OIBTJ225ZHAg==} - '@module-federation/runtime@0.13.1': - resolution: {integrity: sha512-ZHnYvBquDm49LiHfv6fgagMo/cVJneijNJzfPh6S0CJrPS2Tay1bnTXzy8VA5sdIrESagYPaskKMGIj7YfnPug==} - - '@module-federation/runtime@0.15.0': - resolution: {integrity: sha512-dTPsCNum9Bhu3yPOcrPYq0YnM9eCMMMNB1wuiqf1+sFbQlNApF0vfZxooqz3ln0/MpgE0jerVvFsLVGfqvC9Ug==} - - '@module-federation/runtime@0.21.0': - resolution: {integrity: sha512-fl31G2x/+g8/KyMFAlxM8825inuAZu4FQiIg9X2wVKRD1Yx8svg12likGBiorVofO2gBTY7KQ+Nbc6Az90JKQQ==} - '@module-federation/runtime@0.21.2': resolution: {integrity: sha512-97jlOx4RAnAHMBTfgU5FBK6+V/pfT6GNX0YjSf8G+uJ3lFy74Y6kg/BevEkChTGw5waCLAkw/pw4LmntYcNN7g==} - '@module-federation/runtime@0.8.9': - resolution: {integrity: sha512-i+a+/hoT/c+EE52mT+gJrbA6DhL86PY9cd/dIv/oKpLz9i+yYBlG+RA+puc7YsUEO4irbFLvnIMq6AGDUKVzYA==} - '@module-federation/runtime@2.0.1': resolution: {integrity: sha512-UQ72P5Oo40dS6vdhHetwTtIsbGciEr+bjoYvDgh1WLPfFlTYd8zo9cLfqaf3juuPfV3cMVARAVPmh16lQYpUGA==} '@module-federation/runtime@2.9.2': resolution: {integrity: sha512-1lPZVy7TkMTTBMkkjgQt7jA+9FAx226yQqEz+X0lFAIbpxIWfpzNQLD+7IydEe83ZhDJpK3cv/9bn3jjQBZeqQ==} - '@module-federation/sdk@0.13.1': - resolution: {integrity: sha512-bmf2FGQ0ymZuxYnw9bIUfhV3y6zDhaqgydEjbl4msObKMLGXZqhse2pTIIxBFpIxR1oONKX/y2FAolDCTlWKiw==} - - '@module-federation/sdk@0.15.0': - resolution: {integrity: sha512-PWiYbGcJrKUD6JZiEPihrXhV3bgXdll4bV7rU+opV7tHaun+Z0CdcawjZ82Xnpb8MCPGmqHwa1MPFeUs66zksw==} - - '@module-federation/sdk@0.21.0': - resolution: {integrity: sha512-tWQ2j+zH6hLaERcie186gwAULyWI/js4WSyzTF2d52ti8vKf+357S7IL4/96+AaTrvwP50NWeR8Igc176kaGTA==} - '@module-federation/sdk@0.21.2': resolution: {integrity: sha512-t2vHSJ1a9zjg7LLJoEghcytNLzeFCqOat5TbXTav5dgU0xXw82Cf0EfLrxiJL6uUpgbtyvUdqqa2DVAvMPjiiA==} - '@module-federation/sdk@0.6.10': - resolution: {integrity: sha512-i6ofHnImB4zCn/bt7Ft0zh9o/PxvsJj8Wc88EAeJg4IrY6+bzwwo1G2h44w1Yt3go4skZZFQCK0UxoaV6l/t/A==} - - '@module-federation/sdk@0.8.9': - resolution: {integrity: sha512-QJ60itWC/SPjqduT7wDiF8UGwVU/yJ/Sz+QbnoxB9b7gNLzvI//swAXTo9eOtKsCy/V2BMwjt0F3eOcfnaqllA==} - '@module-federation/sdk@2.0.1': resolution: {integrity: sha512-32PwudojGjog51cwpTali7D6ud82oVgsyvOx9JjAzhvXBX96YI4mRsursuWcthDxmigJP9ZvUTXDuRUEDh1OQA==} + '@module-federation/sdk@2.8.0': + resolution: {integrity: sha512-yBP+9+0Z8nlvKEXAZS3AsQVy7bFbZf8eMivGk4q4ZdwG3TsLMlsPjb1dQb2i7gcAG6ux9y2LWLkj/0LVk74cnQ==} + '@module-federation/sdk@2.9.2': resolution: {integrity: sha512-ILtBFPuYpVcRA/Qay1lJ2hMtZI8fDE/v1n7xiN17e5qx5rSBR3FaamTsmRpN1hIt+gVnoa76CzOP/Y73d8hHNg==} - '@module-federation/third-party-dts-extractor@0.15.0': - resolution: {integrity: sha512-rML74G1NB9wtHubXP+ZTMI5HZkYypN/E93w8Zkwr6rc/k1eoZZza2lghw2znCNeu3lDlhvI9i4iaVsJQrX4oQA==} - - '@module-federation/third-party-dts-extractor@0.21.0': - resolution: {integrity: sha512-8aWNbWs0IcuAhf/5321SiIFMAMIFQLE7ttlsOw6rb1U7S9u7LzGHR5eNPhKA7BT9OZUg/1aIa8/Ax2hAhj2VNw==} - - '@module-federation/third-party-dts-extractor@0.8.9': - resolution: {integrity: sha512-53v6B5zfhGlAPpH0SrlJDp9B6kcOcZaUPi6J4L/7ie5F0YVe0vq/mJGOOzAStN9ggJjSrjBZLFT3gFmBYM3Z9A==} - '@module-federation/third-party-dts-extractor@2.0.1': resolution: {integrity: sha512-neKSr6FNUeGRh+YR57l/QZUzPytJXuJx+babF7j5iGJG3FP+kfizr6QD0hgVis5KEoXMVbQ8yyvG0slERizeyw==} '@module-federation/third-party-dts-extractor@2.9.2': resolution: {integrity: sha512-FKJVGx+/jIe16RfmwoyIDVMPAttIFJv6AJCLkKf05IRNvI3RJFqQ1tLP1YjcfGuumCbYuWGa4QKnMla7YjVpqg==} - '@module-federation/webpack-bundler-runtime@0.13.1': - resolution: {integrity: sha512-QSuSIGa09S8mthbB1L6xERqrz+AzPlHR6D7RwAzssAc+IHf40U6NiTLPzUqp9mmKDhC5Tm0EISU0ZHNeJpnpBQ==} - - '@module-federation/webpack-bundler-runtime@0.15.0': - resolution: {integrity: sha512-i+3wu2Ljh2TmuUpsnjwZVupOVqV50jP0ndA8PSP4gwMKlgdGeaZ4VH5KkHAXGr2eiYUxYLMrJXz1+eILJqeGDg==} - - '@module-federation/webpack-bundler-runtime@0.21.0': - resolution: {integrity: sha512-kxXf7TB0CRdtqsXUGhoV/e5+1gZpcjMHt1C6ZZWhLCHZTSpESqPHm2GUk41yzKj/0qn/QyDJ39NGKjALWLws4A==} - '@module-federation/webpack-bundler-runtime@0.21.2': resolution: {integrity: sha512-06R/NDY6Uh5RBIaBOFwYWzJCf1dIiQd/DFHToBVhejUT3ZFG7GzHEPIIsAGqMzne/JSmVsvjlXiJu7UthQ6rFA==} - '@module-federation/webpack-bundler-runtime@0.8.9': - resolution: {integrity: sha512-DYLvVi4b2MUYu/B4g5wIC5SHxiODboKHkYGHYapOhCcqOchca/N16gtiAI8eSNjJPc+fgUXUGIyGiB18IlFEeQ==} - '@module-federation/webpack-bundler-runtime@2.0.1': resolution: {integrity: sha512-u1NId3SF4lHDTmD2CHFEszulmXmIq1TGw9JYvnLx5rKJL7xt3aNxcb1GvkaYbRNVBXhSMjJ75E5LsQlZzyBx9A==} @@ -3357,6 +2716,9 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@oxc-project/types@0.153.0': + resolution: {integrity: sha512-jSNrRIyvPVLL5E1z/tS5zLAprosGz/FuI1PWwEOz59j3E4TTTzSpqKb/RDGqJhhW0QHYISGXxq582wGx6T11Tw==} + '@pinojs/redact@0.4.0': resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==} @@ -3846,148 +3208,104 @@ packages: resolution: {integrity: sha512-5zFk5wPiAEinfT5XH+t7Ka5I/CUnRf/fqnCS7LDj21ReOgGfdrUQ1wXVsV7EoClCNCgUHvWFDdWkbNOFeFa60A==} engines: {node: '>=18.12'} - '@rollup/rollup-android-arm-eabi@4.62.2': - resolution: {integrity: sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg==} + '@rolldown/binding-android-arm-eabi@1.2.13': + resolution: {integrity: sha512-Vu/NICrgdRvUOeaJZIyB2FP63s6fO/4ud5l8dXmxDx9yDyn+mN0y+gsvsVviSli+T361Aqo0h46EuMoobrwawA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.62.2': - resolution: {integrity: sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw==} + '@rolldown/binding-android-arm64@1.2.13': + resolution: {integrity: sha512-6LEoIrGy5vvCd2boNnv2soPSUZj/PRvhp8R/t9KlX+mIZxThIE/ZqxrGXxmuNX0FuvQFvLdZr7S4HrYpYBVhEQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.62.2': - resolution: {integrity: sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A==} + '@rolldown/binding-darwin-arm64@1.2.13': + resolution: {integrity: sha512-CaJSRzlQ6Q+zkDMVA9OkVxBjVoPRCDEE3v0FSJ9kIQBgRjFApA3Si4ijhbNVUji7ZJt+PfO0e46qy4nPInHUPA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.62.2': - resolution: {integrity: sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA==} + '@rolldown/binding-darwin-x64@1.2.13': + resolution: {integrity: sha512-e4r340I5hxSzJkD3YJBxgzq/rJ3wwxwdLLb2FPt1Zpyem20nrQPT11DDEEkazwxaHumH8wpglsp/Ozgj/wT6mw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.62.2': - resolution: {integrity: sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw==} - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.62.2': - resolution: {integrity: sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg==} + '@rolldown/binding-freebsd-x64@1.2.13': + resolution: {integrity: sha512-hoBWDZ4/K/mJKVMbsgUd1jfpA2DiOrJ54mpegObU9TBHBBrtX4FLIXJJQRDPZ/2Dn91GvPob+Z2hwKJzf4E5SQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.62.2': - resolution: {integrity: sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg==} - cpu: [arm] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-arm-musleabihf@4.62.2': - resolution: {integrity: sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA==} + '@rolldown/binding-linux-arm-gnueabihf@1.2.13': + resolution: {integrity: sha512-oF9fZu3vTWnTiVAkDFxU9PJLt1nh20K9RRpuHsR7ZnE2L7XookBbDBVLojCVSLGbvtSlxeUNnjAj6DbNsKyzbg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.62.2': - resolution: {integrity: sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA==} + '@rolldown/binding-linux-arm64-gnu@1.2.13': + resolution: {integrity: sha512-DTpb/+jMiqWMPgphn4ksW1zW+XLJ6dJJ9FMvnIk9I291LhCctMPhMYJrP5t9p6C9qa3KXadDdUEZHBaPh3kNxQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.62.2': - resolution: {integrity: sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ==} + '@rolldown/binding-linux-arm64-musl@1.2.13': + resolution: {integrity: sha512-xU+Kvv9N2A3SY35zFh1FWWNjxbadE/BKeqnkXe7vScU4GZsw757BlVmDLITZEq8DPpk6m7uoDYkK7P+x/uU5Ow==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.62.2': - resolution: {integrity: sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg==} - cpu: [loong64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-loong64-musl@4.62.2': - resolution: {integrity: sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ==} - cpu: [loong64] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-ppc64-gnu@4.62.2': - resolution: {integrity: sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-ppc64-musl@4.62.2': - resolution: {integrity: sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w==} + '@rolldown/binding-linux-ppc64-gnu@1.2.13': + resolution: {integrity: sha512-XMk/hnhh25oQ756Lclb1Q11h4ll0xC0Esa5w4Vzp+mAE2S3AGJgeM0SonrIgY8fHhjarb6hcoTuwoFG0VVP2ig==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] - libc: [musl] - - '@rollup/rollup-linux-riscv64-gnu@4.62.2': - resolution: {integrity: sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg==} - cpu: [riscv64] - os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.62.2': - resolution: {integrity: sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q==} - cpu: [riscv64] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-s390x-gnu@4.62.2': - resolution: {integrity: sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg==} + '@rolldown/binding-linux-s390x-gnu@1.2.13': + resolution: {integrity: sha512-U1BoTHYmlywE2n3HUWjzZ+8EQsKr+OwpxYuDWaubx42tUL8QSL7nOqRz/NVHanibbFP3M1Rxuprz/wNcbMKjqw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.62.2': - resolution: {integrity: sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A==} + '@rolldown/binding-linux-x64-gnu@1.2.13': + resolution: {integrity: sha512-J4cm80Pc6wEwV5AZ42o62sIQgDk+Y7R2s646jIwuvO+4V46QB58N4vVuMPWCBaNgursXLpmUWJV//WQAkPvHBQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.62.2': - resolution: {integrity: sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg==} + '@rolldown/binding-linux-x64-musl@1.2.13': + resolution: {integrity: sha512-W0euZS40U4V6JkmEnVCIX9mcsL6cbXQ4X8c2w+MMOIjFg68TXUW+u3RT+2e1t1pv9mg/EP3pDtK3POXdQ7Rxyw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-openbsd-x64@4.62.2': - resolution: {integrity: sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg==} - cpu: [x64] - os: [openbsd] - - '@rollup/rollup-openharmony-arm64@4.62.2': - resolution: {integrity: sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA==} + '@rolldown/binding-openharmony-arm64@1.2.13': + resolution: {integrity: sha512-do/AF/4n9MRshia3a5aXoy8xM2c6mgfT6D7H/dY6my5z+hfCIR4ab7mk4IRj++nsEQpKy39kd0DQnDq+r692tw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.62.2': - resolution: {integrity: sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg==} + '@rolldown/binding-win32-arm64-msvc@1.2.13': + resolution: {integrity: sha512-6FtUf2cJZobutJdxnGYX8z0vtbgqU0b2v8vfBhkXb9wp2MppMFtkunE+IaOntyi01rkIQoPW2GHABtfzsC0BRQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.62.2': - resolution: {integrity: sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-gnu@4.62.2': - resolution: {integrity: sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg==} + '@rolldown/binding-win32-x64-msvc@1.2.13': + resolution: {integrity: sha512-UKhFaZTeTcbKrb3iU82m17jVcPEAoqDkCN5MBqgPyZSwp/cQmib21crTS0DdH7T1B7wZRWEI89YQAOJMet5yhg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.62.2': - resolution: {integrity: sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA==} - cpu: [x64] - os: [win32] - - '@rsbuild/core@1.3.18': - resolution: {integrity: sha512-ocnz3pVapMTeuoP3zZ1shYcxnAQtRf6RzLl8n7acNi8Hu+ku6SiDGR65foclwcubWF6e9nZPohH94rXnmEVfrw==} - engines: {node: '>=16.10.0'} - hasBin: true + '@rolldown/pluginutils@1.0.1': + resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} '@rsbuild/core@2.2.12': resolution: {integrity: sha512-SnJ81Jf9ZGms8hUq0FGxrqlUxdHKV76VK9gxrEdtWLbTic+qRt0SIAsk5NdIr1tXFzqzQ6Fqeffs+K1EUuZEHw==} @@ -4049,24 +3367,19 @@ packages: '@rsdoctor/utils@1.6.4': resolution: {integrity: sha512-7oliDqtaLVtmVFkfSN3AKWoMQb8kuZA9AURCgb26cUW7+ZD3qgADg9uyD+WevpA6IOeF6gqo3hezTZKlwFR2Sg==} - '@rslib/core@0.6.9': - resolution: {integrity: sha512-xF/JssYVghxoR6qE/O9tdUW029aN4WdWTIve9VrStsFkLK6U/1lykMHtgDu3VhcfYrs2p0Wfku5dLBmo9/WnrA==} - engines: {node: '>=16.7.0'} + '@rslib/core@1.0.3': + resolution: {integrity: sha512-a5IZiyf9sNeeE9jcTsTmz16vxcThpbOSJg0BZXzJAxrUFOZX5xG25PJua9hr0LDWGryBX2UQTruVsLQ8BCpqng==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@microsoft/api-extractor': ^7 - typescript: ^5 + typescript: ^5 || ^6 || ^7 peerDependenciesMeta: '@microsoft/api-extractor': optional: true typescript: optional: true - '@rspack/binding-darwin-arm64@1.3.9': - resolution: {integrity: sha512-lfTmsbUGab9Ak/X6aPLacHLe4MBRra+sLmhoNK8OKEN3qQCjDcomwW5OlmBRV5bcUYWdbK8vgDk2HUUXRuibVg==} - cpu: [arm64] - os: [darwin] - '@rspack/binding-darwin-arm64@1.6.0': resolution: {integrity: sha512-IrigOWnGvQgugsTZgf3dB5uko+y+lkNLYg/8w0DiobxkWhpLO97RAeR1w0ofIPXYVu3UWVf7dgHj3PjTqjC9Tw==} cpu: [arm64] @@ -4077,11 +3390,6 @@ packages: cpu: [arm64] os: [darwin] - '@rspack/binding-darwin-x64@1.3.9': - resolution: {integrity: sha512-rYuOUINhnhLDbG5LHHKurRSuKIsw0LKUHcd6AAsFmijo4RMnGBJ4NOI4tOLAQvkoSTQ+HU5wiTGSQOgHVhYreQ==} - cpu: [x64] - os: [darwin] - '@rspack/binding-darwin-x64@1.6.0': resolution: {integrity: sha512-UYz+Y1XqbHGnkUOsaZRuwiuQaQaQ5rEPSboBPlIVDtblwmB71yxo3ET0nSoUhz8L/WXqQoARiraTCxUP6bvSIg==} cpu: [x64] @@ -4090,13 +3398,7 @@ packages: '@rspack/binding-darwin-x64@2.2.8': resolution: {integrity: sha512-xCVou/jJASjEAjwy1T3hPJcJqA5QZASJfUwHqEk+nA0v44MagwH8tM8lsOvRfhzR7N2+YFac1rfZOUT8uM3awg==} cpu: [x64] - os: [darwin] - - '@rspack/binding-linux-arm64-gnu@1.3.9': - resolution: {integrity: sha512-pBKnS2Fbn9cDtWe1KcD1qRjQlJwQhP9pFW2KpxdjE7qXbaO11IHtem6dLZwdpNqbDn9QgyfdVGXBDvBaP1tGwA==} - cpu: [arm64] - os: [linux] - libc: [glibc] + os: [darwin] '@rspack/binding-linux-arm64-gnu@1.6.0': resolution: {integrity: sha512-Jr7aaxrtwOnh7ge7tZP+Mjpo6uNltvQisL25WcjpP+8PnPT0C9jziKDJso7KxeOINXnQ2yRn2h65+HBNb7FQig==} @@ -4110,12 +3412,6 @@ packages: os: [linux] libc: [glibc] - '@rspack/binding-linux-arm64-musl@1.3.9': - resolution: {integrity: sha512-0B+iiINW0qOEkBE9exsRcdmcHtYIWAoJGnXrz9tUiiewRxX0Cmm0MjD2HAVUAggJZo+9IN8RGz5PopCjJ/dn1g==} - cpu: [arm64] - os: [linux] - libc: [musl] - '@rspack/binding-linux-arm64-musl@1.6.0': resolution: {integrity: sha512-hl17reUhkjgkcLao6ZvNiSRQFGFykqUpIj1//v/XtVd/2XAZ0Kt7jv9UUeaR+2zY8piH+tgCkwgefmjmajMeFg==} cpu: [arm64] @@ -4152,12 +3448,6 @@ packages: os: [linux] libc: [glibc] - '@rspack/binding-linux-x64-gnu@1.3.9': - resolution: {integrity: sha512-82izGJw/qxJ4xaHJy/A4MF7aTRT9tE6VlWoWM4rJmqRszfujN/w54xJRie9jkt041TPvJWGNpYD4Hjpt0/n/oA==} - cpu: [x64] - os: [linux] - libc: [glibc] - '@rspack/binding-linux-x64-gnu@1.6.0': resolution: {integrity: sha512-xdlb+ToerFU/YggndCfIrZI/S/C80CP9ZFw6lhnEFSTJDAG88KptxstsoKUh8YzyPTD45CYaOjYNtUtiv0nScg==} cpu: [x64] @@ -4170,12 +3460,6 @@ packages: os: [linux] libc: [glibc] - '@rspack/binding-linux-x64-musl@1.3.9': - resolution: {integrity: sha512-V9nDg63iPI6Z7kM11UPV5kBdOdLXPIu3IgI2ObON5Rd4KEZr7RLo/Q4HKzj0IH27Zwl5qeBJdx69zZdu66eOqg==} - cpu: [x64] - os: [linux] - libc: [musl] - '@rspack/binding-linux-x64-musl@1.6.0': resolution: {integrity: sha512-IkXEW/FBPPz4EJJTLNZvA+94aLaW2HgUMYu7zCIw5YMc9JJ/UXexY1zjX/A7yidsCiZCRy/ZrB+veFJ5FkZv7w==} cpu: [x64] @@ -4196,11 +3480,6 @@ packages: resolution: {integrity: sha512-3mOJuZTrF56jOh/GD9chLMJKbzPZ6Ty2OIML7+lLz0Yk2XS/xWRfLn85Dmnkb/O6UF65x7+p8VPAIZlBtLTclw==} cpu: [wasm32] - '@rspack/binding-win32-arm64-msvc@1.3.9': - resolution: {integrity: sha512-owWCJTezFkiBOSRzH+eOTN15H5QYyThHE5crZ0I30UmpoSEchcPSCvddliA0W62ZJIOgG4IUSNamKBiiTwdjLQ==} - cpu: [arm64] - os: [win32] - '@rspack/binding-win32-arm64-msvc@1.6.0': resolution: {integrity: sha512-HOA/U7YC6EB74CpIrT2GrvPgd+TLr0anNuOp/8omw9hH1jjsP5cjUMgWeAGmWyXWxwoS8rRJ0xhRA+UIe3cL3g==} cpu: [arm64] @@ -4211,11 +3490,6 @@ packages: cpu: [arm64] os: [win32] - '@rspack/binding-win32-ia32-msvc@1.3.9': - resolution: {integrity: sha512-YUuNA8lkGSXJ07fOjkX+yuWrWcsU5x5uGFuAYsglw+rDTWCS6m9HSwQjbCp7HUp81qPszjSk+Ore5XVh07FKeQ==} - cpu: [ia32] - os: [win32] - '@rspack/binding-win32-ia32-msvc@1.6.0': resolution: {integrity: sha512-ThczdltBOFcq+IrTflCE+8q0GvKoISt6pTupkuGnI1/bCnqhCxPP6kx8Z06fdJUFMhvBtpZa0gDJvhh3JBZrKA==} cpu: [ia32] @@ -4226,11 +3500,6 @@ packages: cpu: [ia32] os: [win32] - '@rspack/binding-win32-x64-msvc@1.3.9': - resolution: {integrity: sha512-E0gtYBVt5vRj0zBeplEf8wsVDPDQ6XBdRiFVUgmgwYUYYkXaalaIvbD1ioB8cA05vfz8HrPGXcMrgletUP4ojA==} - cpu: [x64] - os: [win32] - '@rspack/binding-win32-x64-msvc@1.6.0': resolution: {integrity: sha512-Bhyvsh1m6kIpr1vqZlcdUDUTh0bheRe9SF+f6jw0kPDPbh8FfrRbshPKmRHpRZAUHt20NqgUKR2z2BaKb0IJvQ==} cpu: [x64] @@ -4241,24 +3510,12 @@ packages: cpu: [x64] os: [win32] - '@rspack/binding@1.3.9': - resolution: {integrity: sha512-3FFen1/0F2aP5uuCm8vPaJOrzM3karCPNMsc5gLCGfEy2rsK38Qinf9W4p1bw7+FhjOTzoSdkX+LFHeMDVxJhw==} - '@rspack/binding@1.6.0': resolution: {integrity: sha512-RqlCjvWg/LkJjHpsbI48ebo2SYpIBJsV1eh9SEMfXo1batAPvB5grhAbLX0MRUOtzuQOnZMCDGdr2v7l2L8Siw==} '@rspack/binding@2.2.8': resolution: {integrity: sha512-c9flkSua3khHnOKBCRk8BkHGOwU9YB7niv+5JfQXiLZIvJmgKsZ7PD8QrFklMhsJT3oVAc6c9GN7/wy1YkACjA==} - '@rspack/core@1.3.9': - resolution: {integrity: sha512-u7usd9srCBPBfNJCSvsfh14AOPq6LCVna0Vb/aA2nyJTawHqzfAMz1QRb/e27nP3NrV6RPiwx03W494Dd6r6wg==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@swc/helpers': '>=0.5.1' - peerDependenciesMeta: - '@swc/helpers': - optional: true - '@rspack/core@1.6.0': resolution: {integrity: sha512-u2GDSToEhmgIsy0QbOPA81i9tu87J2HgSsRA3HHZfWIR8Vt8KdlAriQnG8CatDnvFSY/UQEumVf5Z1HUAQwxCg==} engines: {node: '>=18.12.0'} @@ -4438,9 +3695,6 @@ packages: '@socket.io/component-emitter@3.1.2': resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} - '@standard-schema/spec@1.1.0': - resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@svgr/babel-plugin-add-jsx-attribute@8.0.0': resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} engines: {node: '>=14'} @@ -4744,8 +3998,8 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@20.19.43': - resolution: {integrity: sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==} + '@types/node@22.20.5': + resolution: {integrity: sha512-U2+DNr+wSjpsTS/wZGYHq7GcwfuSmKiKvoPvK22zwTlRhU91yOniN4qRR5KhIjvif7ysw/dz/hKmfDH0Ris4aA==} '@types/node@26.1.1': resolution: {integrity: sha512-nxAkRSVkN1Y0JC1W8ky/fTfkGsMmcrRsbx+3XoZE+rMOX71kLYTV7fLXpqud1GpbpP5TuffXFqfX7fH2GgZREw==} @@ -4753,11 +4007,6 @@ packages: '@types/prop-types@15.7.15': resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} - '@types/react-dom@17.0.26': - resolution: {integrity: sha512-Z+2VcYXJwOqQ79HreLU/1fyQ88eXSSFh6I3JdrEHQIfYSI0kCQpTGvOrbE6jFGGYXKsHuwY9tBa/w5Uo6KzrEg==} - peerDependencies: - '@types/react': ^17.0.0 - '@types/react-test-renderer@19.3.0': resolution: {integrity: sha512-TX4p2D4Z2oigM3SXU7+QyLSUnSR0vR1S1Pfxm/qFL9nHQ3jclgi6ioGoWQmlIr1DeKRVmPJrmNlhgM0JlWlLUg==} @@ -4963,34 +4212,19 @@ packages: vue-router: optional: true - '@vitest/expect@4.1.11': - resolution: {integrity: sha512-VX2x5vNJXET47KAFzwERI+KRMtTTCSWTfSMKsW7JsUsXV4psq++e3DvZpuTDOpHcxytiDs6p2nhVb2tVDiiUYw==} - - '@vitest/mocker@4.1.11': - resolution: {integrity: sha512-2XJVD55d1o5AZous5CCGKS74g/riOj9odEt2bQpCVZeblHyHdnMeFl4jl0XjU21stf4mbjUkew2eXQZt65g5CQ==} + '@vitest/mocker@5.0.3': + resolution: {integrity: sha512-T8sWAIbkSyAjkwTcaEc3Iu0o9A27X1/kdXrizhZkGuSKScRQtRzclfAMpOTcGdXCsqxeWlpGy3XjqaW8CpLORg==} peerDependencies: msw: ^2.4.9 - vite: ^7.3.1 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@4.1.11': - resolution: {integrity: sha512-yiZzPbGTS9Sr/JpFl8zHrcIkAofNbFV6k21vIgQN/cY/oxZeXhJv5sc/MBJ5jFKWmWs+oJHw0UXLZjmf931+Vw==} - - '@vitest/runner@4.1.11': - resolution: {integrity: sha512-LztvUgdwMNJMIkj3hQnnxiC2Xy1zNxq928W/xhjCLaNCzqTZOudjwbQf6v9IntZGPw132i2Lq2rgTRZHD3JHNw==} - - '@vitest/snapshot@4.1.11': - resolution: {integrity: sha512-pN7ikn1ON7h8ee4gIAp4AzyK+zBtJPzVbqOgu5LCEh4VaJVbPQcgYQYJIMGQPXVeJJq1fnfazis7a5pFNPahog==} - - '@vitest/spy@4.1.11': - resolution: {integrity: sha512-apNa/prQy2qCeywhnixOHPRCgGNhvg7T4Dapfl1GahLp/R+uhBm5cPyFoNVyqsNd2h1nJxL6BqqdIjiABL60YA==} - - '@vitest/utils@4.1.11': - resolution: {integrity: sha512-zTCVGpyFsGWBhllOyKlTw/vnr6D9qxsfSDyfbyZmTyjHw5N/VuvzHpHoQjm2ZJzn4RJgx5w4r7V0er69CmLgPQ==} + '@vitest/spy@5.0.3': + resolution: {integrity: sha512-XhFysQTB8AZ+P4gMi+Lpo99vg2AZi0qKpaB9yXQl37+CaMEAPO3iH/wGVnSyL5MPERiLezpqTVtrR6UZH5GCXg==} '@vscode/sudo-prompt@9.3.2': resolution: {integrity: sha512-gcXoCN00METUNFeQOFJ+C9xUI0DKB+0EGMVg7wbVYRHBw2Eq3fKisDZOkRdOz3kqXRKOENMfShPOmypw1/8nOw==} @@ -5168,6 +4402,10 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} @@ -5443,10 +4681,6 @@ packages: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - cache-content-type@1.0.1: - resolution: {integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==} - engines: {node: '>= 6.0.0'} - call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} @@ -5497,6 +4731,10 @@ packages: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + chalk@6.0.1: + resolution: {integrity: sha512-/Ce6KNm3vIbWdMlNna6RVIZ/ICQxnJxCicet5LBKK9ZffBkqzDw0xh9EiKSljdRtiIQ1S1z4YgcscUUGzNCWrA==} + engines: {node: '>=22'} + char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} @@ -5571,6 +4809,10 @@ packages: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} + cliui@9.0.1: + resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==} + engines: {node: '>=20'} + clone-deep@4.0.1: resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} engines: {node: '>=6'} @@ -5681,10 +4923,6 @@ packages: resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} engines: {node: '>= 0.10.0'} - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - content-disposition@1.0.1: resolution: {integrity: sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==} engines: {node: '>=18'} @@ -5718,9 +4956,6 @@ packages: core-js-compat@3.49.0: resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==} - core-js@3.42.0: - resolution: {integrity: sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g==} - cors@2.8.6: resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} engines: {node: '>= 0.10'} @@ -5872,8 +5107,8 @@ packages: resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} engines: {node: '>=18'} - default-browser@5.5.0: - resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==} + default-browser@5.5.1: + resolution: {integrity: sha512-m1pAzaJgZ/gssEqlOhJkPJp8Xly7QyW6xcrkUa2KKcDeDSEMP7X8xipU3snUcfisTQx0w1AGae+9UtJSfVnXGw==} engines: {node: '>=18'} defaults@1.0.4: @@ -5983,6 +5218,9 @@ packages: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} + emoji-regex@10.6.0: + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -6048,6 +5286,9 @@ packages: es-module-lexer@2.3.1: resolution: {integrity: sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==} + es-module-lexer@2.3.2: + resolution: {integrity: sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==} + es-object-atoms@1.1.2: resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} engines: {node: '>= 0.4'} @@ -6065,16 +5306,6 @@ packages: esast-util-from-js@2.0.1: resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} - esbuild@0.25.5: - resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==} - engines: {node: '>=18'} - hasBin: true - - esbuild@0.28.1: - resolution: {integrity: sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==} - engines: {node: '>=18'} - hasBin: true - escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -6162,14 +5393,14 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} + execa@10.1.0: + resolution: {integrity: sha512-5HT/600HqXEtmkb9mK/PkTWw+bQSCzPnWiZ4/87wD3Hi0wFzCapOuNT9p4M08PDd+KLHdHvFhKjOWmNx/npRNQ==} + engines: {node: '>=22'} + execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} - execa@9.6.1: - resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} - engines: {node: ^18.19.0 || >=20.5.0} - exit-hook@4.0.0: resolution: {integrity: sha512-Fqs7ChZm72y40wKjOFXBKg7nJZvQJmewP5/7LtePDdnah/+FH9Hp5sgMujSCMPXlxOAW2//1jrW9pnsY7o20vQ==} engines: {node: '>=18'} @@ -6545,10 +5776,6 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - generator-function@2.0.1: - resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} - engines: {node: '>= 0.4'} - gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -6938,10 +6165,6 @@ packages: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} - is-generator-function@1.1.2: - resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} - engines: {node: '>= 0.4'} - is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -6954,6 +6177,10 @@ packages: engines: {node: '>=18'} hasBin: true + is-in-ssh@1.0.0: + resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==} + engines: {node: '>=20'} + is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} engines: {node: '>=14.16'} @@ -6979,10 +6206,6 @@ packages: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} - is-regex@1.2.1: - resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} - engines: {node: '>= 0.4'} - is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -7029,10 +6252,6 @@ packages: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} - isomorphic-rslog@0.0.7: - resolution: {integrity: sha512-n6/XnKnZ5eLEj6VllG4XmamXG7/F69nls8dcynHyhcTpsPUYgcgx4ifEaCo4lQJ2uzwfmIT+F0KBGwBcMKmt5g==} - engines: {node: '>=14.17.6'} - isomorphic-ws@5.0.0: resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} peerDependencies: @@ -7286,14 +6505,6 @@ packages: koa-compose@4.1.0: resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==} - koa-convert@2.0.0: - resolution: {integrity: sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==} - engines: {node: '>= 10'} - - koa@2.16.4: - resolution: {integrity: sha512-3An0GCLDSR34tsCO4H8Tef8Pp2ngtaZDAZnsWJYelqXUK5wyiHvGItgK/xcSkmHLSTn1Jcho1mRQs2ehRzvKKw==} - engines: {node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4} - koa@3.2.1: resolution: {integrity: sha512-e7IpWJrnanNUroVK2taAgMxoEZvHLXdQiNjeExSu/DEIWm83jaKGBgb7tLmu2rMYpA027qFB3iLR/k3AVpFRnA==} engines: {node: '>= 18'} @@ -7525,9 +6736,6 @@ packages: lodash.throttle@4.1.1: resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} - lodash@4.18.1: - resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} - log-symbols@2.2.0: resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} engines: {node: '>=4'} @@ -7571,8 +6779,8 @@ packages: resolution: {integrity: sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==} engines: {node: '>=12'} - magic-string@0.30.21: - resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + magic-string@1.4.3: + resolution: {integrity: sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==} make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} @@ -7674,10 +6882,6 @@ packages: mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - media-typer@1.1.1: resolution: {integrity: sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ==} engines: {node: '>= 0.8'} @@ -8179,12 +7383,9 @@ packages: oniguruma-to-es@4.3.6: resolution: {integrity: sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==} - only@0.0.2: - resolution: {integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==} - - open@10.2.0: - resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} - engines: {node: '>=18'} + open@11.0.4: + resolution: {integrity: sha512-++Zlftm0kVLPmzC06t6epuWmcRMDbI4z5P3NNX979WA/k23+NtSOynEGzsVfZwguKw2mi5umVgnBlJQMwRz4Pg==} + engines: {node: '>=20'} open@6.4.0: resolution: {integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==} @@ -8331,9 +7532,6 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - pathe@2.0.3: - resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -8345,6 +7543,10 @@ packages: resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} engines: {node: '>=12'} + picomatch@4.0.7: + resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} + engines: {node: '>=12'} + pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} @@ -8455,6 +7657,14 @@ packages: resolution: {integrity: sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.29: + resolution: {integrity: sha512-49cGhUbXj8Qenv0iTMxA1cFBzxXoctpC9Ujd77t1WcbJIr6nF/eI7g/8MgxrYldFRuAXvja7xQRwavoW7kgrxQ==} + engines: {node: ^10 || ^12 || >=14} + + powershell-utils@0.2.1: + resolution: {integrity: sha512-C+y9x90UElAddDZmV4qOx9W53B61PO7cIqWz2dQsWlwswuq4mr8NEwytdGKboYbQlGZ3awrkTeNvcZiZNHnQ8A==} + engines: {node: '>=20'} + preferred-pm@4.1.1: resolution: {integrity: sha512-rU+ZAv1Ur9jAUZtGPebQVQPzdGhNzaEiQ7VL9+cjsAWPHFYOccNXPNiev1CCDSOg/2j7UujM7ojNhpkuILEVNQ==} engines: {node: '>=18.12'} @@ -8476,8 +7686,8 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - pretty-ms@9.3.0: - resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} + pretty-ms@9.3.1: + resolution: {integrity: sha512-HzMy3Geq23nVALD/M2LliU+F+M+gVNsvkQWWqeBZ8HDiCgzo6YPJ/Omrmtq24EFrIsk0a3EkQGEd7bDOo+IhGA==} engines: {node: '>=18'} proc-log@4.2.0: @@ -8939,18 +8149,18 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rollup@4.62.2: - resolution: {integrity: sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} + rolldown@1.2.13: + resolution: {integrity: sha512-/5apOkwWxtACcQtZ5WlrAsKS4JwXVThQPJZ3RqIruRY9UG9M8e0VlXN068xum/JRKA4aIUoJ13ghe/kGCvidiQ==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rsbuild-plugin-dts@0.6.9: - resolution: {integrity: sha512-mcB4mxfUqkHHzR5VV6PuXRGpLC1Gdly0BN/jRzbPmdWDtvfBO6LLOniiBzVVemibqs9gBQhl2OEilJs4Cyoq5w==} - engines: {node: '>=16.7.0'} + rsbuild-plugin-dts@1.0.3: + resolution: {integrity: sha512-wVxMYvWmVPam6SeZsz8OixHm+4JPfLJAAMTD0Q2te2SxksvjuHC3wuvU12teSmloQ3nFX1YC6guNzuYqDYw+vQ==} + engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@microsoft/api-extractor': ^7 - '@rsbuild/core': 1.x - typescript: ^5 + '@rsbuild/core': ^2.0.0 + typescript: ^5 || ^6 || ^7 peerDependenciesMeta: '@microsoft/api-extractor': optional: true @@ -8965,9 +8175,6 @@ packages: '@rsbuild/core': optional: true - rslog@1.3.2: - resolution: {integrity: sha512-1YyYXBvN0a2b1MSIDLwDTqqgjDzRKxUg/S/+KO6EAgbtZW1B3fdLHAMhEEtvk1patJYMqcRvlp3HQwnxj7AdGQ==} - rslog@2.3.0: resolution: {integrity: sha512-g2wW/ermwzGTLlzGdJBDRc4YKz2/yPBjf57w9g5CvhtpZ91Xq95OaWku0oNHYi+XsuV6v8QrCo2oJJR/pCUR8g==} engines: {node: ^20.19.0 || >=22.12.0} @@ -8988,10 +8195,6 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-regex-test@1.1.0: - resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} - engines: {node: '>= 0.4'} - safe-regex2@5.1.1: resolution: {integrity: sha512-mOSBvHGDZMuIEZMdOz/aCEYDCv0E7nfcNsIhUF+/P+xC7Hyf3FkvymqgPbg9D1EdSGu+uKbJgy09K/RKKc7kJA==} hasBin: true @@ -9117,9 +8320,6 @@ packages: resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} engines: {node: '>= 0.4'} - siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -9219,9 +8419,6 @@ packages: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} - stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - stackframe@1.3.4: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} @@ -9268,6 +8465,14 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + + string-width@8.3.0: + resolution: {integrity: sha512-ZbmZM0JCihQN91dWnxoipT2KOEyHqEyfRXUyjuRhW8b/xnqPDoq4gWEVApTVa9db2wN8mmoikgFBbjh71+cGeQ==} + engines: {node: '>=20'} + string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -9375,27 +8580,49 @@ packages: resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} engines: {node: '>=8'} - terser-webpack-plugin@5.5.0: - resolution: {integrity: sha512-UYhptBwhWvfIjKd/UuFo6D8uq9xpGLDK+z8EDsj/zWhrTaH34cKEbrkMKfV5YWqGBvAYA3tlzZbs2R+qYrbQJA==} + terser-webpack-plugin@5.6.1: + resolution: {integrity: sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==} engines: {node: '>= 10.13.0'} peerDependencies: + '@minify-html/node': '*' '@swc/core': '*' + '@swc/css': '*' + '@swc/html': '*' + clean-css: '*' + cssnano: '*' + csso: '*' esbuild: '*' + html-minifier-terser: '*' + lightningcss: '*' + postcss: '*' uglify-js: '*' webpack: ^5.1.0 peerDependenciesMeta: + '@minify-html/node': + optional: true '@swc/core': optional: true + '@swc/css': + optional: true + '@swc/html': + optional: true + clean-css: + optional: true + cssnano: + optional: true + csso: + optional: true esbuild: optional: true + html-minifier-terser: + optional: true + lightningcss: + optional: true + postcss: + optional: true uglify-js: optional: true - terser@5.49.0: - resolution: {integrity: sha512-SNiDnXyHSrxVcIOtVbULzcTmniUiwcV7Nwdyj1twVubeTmbjoa8p69KKDpfkdoOavuM4/GRm1+ykI8qqnavHoA==} - engines: {node: '>=10'} - hasBin: true - terser@5.51.2: resolution: {integrity: sha512-bWnjSNscmuI+GJze6ZupnHP8G/cTcsJF+bXCeQknk2SHQsgbNJnLrqiH9jZ2W4STPVXH2mDKKRX3iwPhc9Cn/Q==} engines: {node: '>=10'} @@ -9435,14 +8662,15 @@ packages: resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==} engines: {node: '>=18'} - tinybench@2.9.0: - resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + tinybench@6.2.1: + resolution: {integrity: sha512-IAbQaPJIIdhVxi0mqy9lez1wEwje0UQf9F1vwtbelEG5Nbgn0nPOxCvU+mNeNS9gyJTAhrHp74CbUaSynQpZcQ==} + engines: {node: '>=20.0.0'} tinycolor2@1.6.0: resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} - tinyexec@1.2.4: - resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} + tinyexec@1.3.1: + resolution: {integrity: sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==} engines: {node: '>=18'} tinyglobby@0.2.17: @@ -9452,10 +8680,6 @@ packages: tinygradient@1.1.5: resolution: {integrity: sha512-8nIfc2vgQ4TeLnk2lFj4tRLvvJwEfQuabdsmvDdQPT0xlk9TaNtpGd6nNRxXoK6vQhN6RSzj+Cnp5tTQmpxmbw==} - tinyrainbow@3.1.0: - resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} - engines: {node: '>=14.0.0'} - tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} @@ -9495,10 +8719,6 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - tsconfig-paths@4.2.0: - resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} - engines: {node: '>=6'} - tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -9530,10 +8750,6 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} - type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - type-is@2.1.0: resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} engines: {node: '>= 18'} @@ -9697,15 +8913,16 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite@7.3.6: - resolution: {integrity: sha512-4XP60spRGjSZFf1qYH+dJIkK2znL3zQfl9KkOV9MkkRR/3Dls0dxaBsQPTloEc5BLXWPL9vsOxopxyKoMmDueg==} + vite@8.3.4: + resolution: {integrity: sha512-IftLE8phJhdNRIGNEV4JCCvfNScoZQVfcXaN8TQropWGJtOHcu+iAB9pHcuGvmEb/kddw0LBe/jS8ztdC6xdiQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@types/node': ^20.19.0 || >=22.12.0 + '@vitejs/devtools': ^0.7.1 + esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' less: ^4.0.0 - lightningcss: ^1.21.0 sass: ^1.70.0 sass-embedded: ^1.70.0 stylus: '>=0.54.8' @@ -9716,12 +8933,14 @@ packages: peerDependenciesMeta: '@types/node': optional: true + '@vitejs/devtools': + optional: true + esbuild: + optional: true jiti: optional: true less: optional: true - lightningcss: - optional: true sass: optional: true sass-embedded: @@ -9737,22 +8956,23 @@ packages: yaml: optional: true - vitest@4.1.11: - resolution: {integrity: sha512-fhACrNXUidIbGSBr5FlbuBkO7VWC1ZyLl0DO4CU2DrQoAPxX84Ysxs+HeGQpii5lZWV1Q4gBZTTu49mF+A6Edw==} - engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + vitest@5.0.3: + resolution: {integrity: sha512-xMw97S3rjdtj5dkVat7jCsqWBpvchs3RlpQctUqwJD0KkERk40vz2fJ77lDwW/Vzh/pk18eItYAzkodhSes3jQ==} + engines: {node: ^22.12.0 || ^24.0.0 || >=26.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 - '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.1.11 - '@vitest/browser-preview': 4.1.11 - '@vitest/browser-webdriverio': 4.1.11 - '@vitest/coverage-istanbul': 4.1.11 - '@vitest/coverage-v8': 4.1.11 - '@vitest/ui': 4.1.11 + '@types/node': ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 5.0.3 + '@vitest/browser-preview': 5.0.3 + '@vitest/browser-webdriverio': ^5.0.0-beta.5 || >=5.0.0 + '@vitest/coverage-istanbul': 5.0.3 + '@vitest/coverage-v8': 5.0.3 + '@vitest/ui': 5.0.3 happy-dom: '*' jsdom: '*' + vite: ^6.4.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -9837,6 +9057,11 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + which-command@0.1.0: + resolution: {integrity: sha512-XZyoF5/5hZtXitIwzrU4NKK+Wtbb9aB9CezUEw2Q0wlYK8NUYQxC1rRXgNueYLtBAJwXIb+/tFVk4dozciNJMA==} + engines: {node: '>=22'} + hasBin: true + which-module@2.0.1: resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} @@ -9857,9 +9082,9 @@ packages: engines: {node: '>= 8'} hasBin: true - why-is-node-running@2.3.0: - resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} - engines: {node: '>=8'} + why-is-node-running@3.2.1: + resolution: {integrity: sha512-Tb2FUhB4vUsGQlfSquQLYkApkuPAFQXGFzxWKHHumVz2dK+X1RUm/HnID4+TfIGYJ1kTcwOaCk/buYCEJr6YjQ==} + engines: {node: '>=20.11'} hasBin: true wildcard@2.0.1: @@ -9873,6 +9098,10 @@ packages: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} + wrap-ansi@9.0.2: + resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} + engines: {node: '>=18'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -9927,9 +9156,9 @@ packages: utf-8-validate: optional: true - wsl-utils@0.1.0: - resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} - engines: {node: '>=18'} + wsl-utils@1.0.1: + resolution: {integrity: sha512-c16PKLIRxBYpR3jSWsdS7SFp0COm5SOQdiFjY818dYFHJbMGuLBszpF07LBWmOS1uzrHa9VGdynsEgoeKy0oOQ==} + engines: {node: '>=20'} xcode@3.0.1: resolution: {integrity: sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==} @@ -9974,6 +9203,10 @@ packages: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} + yargs-parser@22.0.0: + resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==} + engines: {node: ^20.19.0 || ^22.12.0 || >=23} + yargs@15.4.1: resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} engines: {node: '>=8'} @@ -9982,9 +9215,9 @@ packages: resolution: {integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==} engines: {node: '>=12'} - ylru@1.4.0: - resolution: {integrity: sha512-2OQsPNEmBCvXuFlIni/a+Rn+R2pHW9INm0BxXJ4hVDA8TirqMj+J/Rp9ItLatT/5pZqWwefVrTQcHpixsxnVlA==} - engines: {node: '>= 4.0.0'} + yargs@18.2.0: + resolution: {integrity: sha512-9OpKOLeaoNFecEp7P6iYbzze/5CqWoH7N3SMs/6y1XF4nMvFMspEGZzJ6uFi9MmQwXhyzqYoSEKO3tvA3Z/o2w==} + engines: {node: ^20.19.0 || ^22.12.0 || >=23} yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} @@ -9994,8 +9227,8 @@ packages: resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} engines: {node: '>=12.20'} - yoctocolors@2.1.2: - resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} + yoctocolors@2.2.0: + resolution: {integrity: sha512-xYqdZFUK/VYazNl/oCDYN+3WloWQwMfZxBoiNt6qNyk+xfOdi598muWE42rNZFp1kNOiqW936q5RhUdnpqElSg==} engines: {node: '>=18'} zod@3.25.76: @@ -10008,44 +9241,44 @@ snapshots: '@alloc/quick-lru@5.2.0': {} - '@ast-grep/napi-darwin-arm64@0.37.0': + '@ast-grep/napi-darwin-arm64@0.45.3': optional: true - '@ast-grep/napi-darwin-x64@0.37.0': + '@ast-grep/napi-darwin-x64@0.45.3': optional: true - '@ast-grep/napi-linux-arm64-gnu@0.37.0': + '@ast-grep/napi-linux-arm64-gnu@0.45.3': optional: true - '@ast-grep/napi-linux-arm64-musl@0.37.0': + '@ast-grep/napi-linux-arm64-musl@0.45.3': optional: true - '@ast-grep/napi-linux-x64-gnu@0.37.0': + '@ast-grep/napi-linux-x64-gnu@0.45.3': optional: true - '@ast-grep/napi-linux-x64-musl@0.37.0': + '@ast-grep/napi-linux-x64-musl@0.45.3': optional: true - '@ast-grep/napi-win32-arm64-msvc@0.37.0': + '@ast-grep/napi-win32-arm64-msvc@0.45.3': optional: true - '@ast-grep/napi-win32-ia32-msvc@0.37.0': + '@ast-grep/napi-win32-ia32-msvc@0.45.3': optional: true - '@ast-grep/napi-win32-x64-msvc@0.37.0': + '@ast-grep/napi-win32-x64-msvc@0.45.3': optional: true - '@ast-grep/napi@0.37.0': + '@ast-grep/napi@0.45.3': optionalDependencies: - '@ast-grep/napi-darwin-arm64': 0.37.0 - '@ast-grep/napi-darwin-x64': 0.37.0 - '@ast-grep/napi-linux-arm64-gnu': 0.37.0 - '@ast-grep/napi-linux-arm64-musl': 0.37.0 - '@ast-grep/napi-linux-x64-gnu': 0.37.0 - '@ast-grep/napi-linux-x64-musl': 0.37.0 - '@ast-grep/napi-win32-arm64-msvc': 0.37.0 - '@ast-grep/napi-win32-ia32-msvc': 0.37.0 - '@ast-grep/napi-win32-x64-msvc': 0.37.0 + '@ast-grep/napi-darwin-arm64': 0.45.3 + '@ast-grep/napi-darwin-x64': 0.45.3 + '@ast-grep/napi-linux-arm64-gnu': 0.45.3 + '@ast-grep/napi-linux-arm64-musl': 0.45.3 + '@ast-grep/napi-linux-x64-gnu': 0.45.3 + '@ast-grep/napi-linux-x64-musl': 0.45.3 + '@ast-grep/napi-win32-arm64-msvc': 0.45.3 + '@ast-grep/napi-win32-ia32-msvc': 0.45.3 + '@ast-grep/napi-win32-x64-msvc': 0.45.3 '@babel/cli@7.29.7(@babel/core@7.29.7)': dependencies: @@ -10991,13 +10224,13 @@ snapshots: '@biomejs/cli-win32-x64@2.5.6': optional: true - '@callstack/rspress-preset@0.6.0(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0))(@rspress/core@2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(core-js@3.42.0)(micromark-util-types@2.0.2)(micromark@4.0.2))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@callstack/rspress-preset@0.6.0(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2))(@rspress/core@2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@callstack/rspress-theme': 0.6.0(@rspress/core@2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(core-js@3.42.0)(micromark-util-types@2.0.2)(micromark@4.0.2))(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@rspress/core': 2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(core-js@3.42.0)(micromark-util-types@2.0.2)(micromark@4.0.2) - '@rspress/plugin-sitemap': 2.0.18(@rspress/core@2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(core-js@3.42.0)(micromark-util-types@2.0.2)(micromark@4.0.2)) + '@callstack/rspress-theme': 0.6.0(@rspress/core@2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2))(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@rspress/core': 2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2) + '@rspress/plugin-sitemap': 2.0.18(@rspress/core@2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2)) '@vercel/analytics': 1.6.1(react@19.2.8) - rsbuild-plugin-open-graph: 1.1.3(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0)) + rsbuild-plugin-open-graph: 1.1.3(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)) zod: 3.25.76 transitivePeerDependencies: - '@remix-run/react' @@ -11010,9 +10243,9 @@ snapshots: - vue - vue-router - '@callstack/rspress-theme@0.6.0(@rspress/core@2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(core-js@3.42.0)(micromark-util-types@2.0.2)(micromark@4.0.2))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@callstack/rspress-theme@0.6.0(@rspress/core@2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@rspress/core': 2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(core-js@3.42.0)(micromark-util-types@2.0.2)(micromark@4.0.2) + '@rspress/core': 2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) @@ -11167,197 +10400,44 @@ snapshots: '@changesets/types@6.1.0': {} - '@changesets/write@0.4.0': - dependencies: - '@changesets/types': 6.1.0 - fs-extra: 7.0.1 - human-id: 4.2.0 - prettier: 2.8.8 - - '@clack/core@0.4.1': - dependencies: - picocolors: 1.1.1 - sisteransi: 1.0.5 - - '@clack/prompts@0.9.1': - dependencies: - '@clack/core': 0.4.1 - picocolors: 1.1.1 - sisteransi: 1.0.5 - - '@discoveryjs/json-ext@0.5.7': {} - - '@egjs/hammerjs@2.0.17': - dependencies: - '@types/hammerjs': 2.0.46 - - '@emnapi/core@1.11.3': - dependencies: - '@emnapi/wasi-threads': 1.2.3 - tslib: 2.8.1 - optional: true - - '@emnapi/runtime@1.11.3': - dependencies: - tslib: 2.8.1 - optional: true - - '@emnapi/wasi-threads@1.2.3': - dependencies: - tslib: 2.8.1 - optional: true - - '@esbuild/aix-ppc64@0.25.5': - optional: true - - '@esbuild/aix-ppc64@0.28.1': - optional: true - - '@esbuild/android-arm64@0.25.5': - optional: true - - '@esbuild/android-arm64@0.28.1': - optional: true - - '@esbuild/android-arm@0.25.5': - optional: true - - '@esbuild/android-arm@0.28.1': - optional: true - - '@esbuild/android-x64@0.25.5': - optional: true - - '@esbuild/android-x64@0.28.1': - optional: true - - '@esbuild/darwin-arm64@0.25.5': - optional: true - - '@esbuild/darwin-arm64@0.28.1': - optional: true - - '@esbuild/darwin-x64@0.25.5': - optional: true - - '@esbuild/darwin-x64@0.28.1': - optional: true - - '@esbuild/freebsd-arm64@0.25.5': - optional: true - - '@esbuild/freebsd-arm64@0.28.1': - optional: true - - '@esbuild/freebsd-x64@0.25.5': - optional: true - - '@esbuild/freebsd-x64@0.28.1': - optional: true - - '@esbuild/linux-arm64@0.25.5': - optional: true - - '@esbuild/linux-arm64@0.28.1': - optional: true - - '@esbuild/linux-arm@0.25.5': - optional: true - - '@esbuild/linux-arm@0.28.1': - optional: true - - '@esbuild/linux-ia32@0.25.5': - optional: true - - '@esbuild/linux-ia32@0.28.1': - optional: true - - '@esbuild/linux-loong64@0.25.5': - optional: true - - '@esbuild/linux-loong64@0.28.1': - optional: true - - '@esbuild/linux-mips64el@0.25.5': - optional: true - - '@esbuild/linux-mips64el@0.28.1': - optional: true - - '@esbuild/linux-ppc64@0.25.5': - optional: true - - '@esbuild/linux-ppc64@0.28.1': - optional: true - - '@esbuild/linux-riscv64@0.25.5': - optional: true - - '@esbuild/linux-riscv64@0.28.1': - optional: true - - '@esbuild/linux-s390x@0.25.5': - optional: true - - '@esbuild/linux-s390x@0.28.1': - optional: true - - '@esbuild/linux-x64@0.25.5': - optional: true - - '@esbuild/linux-x64@0.28.1': - optional: true - - '@esbuild/netbsd-arm64@0.25.5': - optional: true - - '@esbuild/netbsd-arm64@0.28.1': - optional: true - - '@esbuild/netbsd-x64@0.25.5': - optional: true - - '@esbuild/netbsd-x64@0.28.1': - optional: true - - '@esbuild/openbsd-arm64@0.25.5': - optional: true - - '@esbuild/openbsd-arm64@0.28.1': - optional: true - - '@esbuild/openbsd-x64@0.25.5': - optional: true - - '@esbuild/openbsd-x64@0.28.1': - optional: true - - '@esbuild/openharmony-arm64@0.28.1': - optional: true - - '@esbuild/sunos-x64@0.25.5': - optional: true + '@changesets/write@0.4.0': + dependencies: + '@changesets/types': 6.1.0 + fs-extra: 7.0.1 + human-id: 4.2.0 + prettier: 2.8.8 - '@esbuild/sunos-x64@0.28.1': - optional: true + '@clack/core@0.4.1': + dependencies: + picocolors: 1.1.1 + sisteransi: 1.0.5 - '@esbuild/win32-arm64@0.25.5': - optional: true + '@clack/prompts@0.9.1': + dependencies: + '@clack/core': 0.4.1 + picocolors: 1.1.1 + sisteransi: 1.0.5 - '@esbuild/win32-arm64@0.28.1': - optional: true + '@discoveryjs/json-ext@0.5.7': {} - '@esbuild/win32-ia32@0.25.5': - optional: true + '@egjs/hammerjs@2.0.17': + dependencies: + '@types/hammerjs': 2.0.46 - '@esbuild/win32-ia32@0.28.1': + '@emnapi/core@1.11.3': + dependencies: + '@emnapi/wasi-threads': 1.2.3 + tslib: 2.8.1 optional: true - '@esbuild/win32-x64@0.25.5': + '@emnapi/runtime@1.11.3': + dependencies: + tslib: 2.8.1 optional: true - '@esbuild/win32-x64@0.28.1': + '@emnapi/wasi-threads@1.2.3': + dependencies: + tslib: 2.8.1 optional: true '@expo-google-fonts/material-symbols@0.4.49': {} @@ -11425,7 +10505,7 @@ snapshots: ws: 8.21.1 zod: 3.25.76 optionalDependencies: - expo-router: 57.0.25(070bba2580d5a65057f5194baa7f9812) + expo-router: 57.0.25(e065c737c32861a7840897c5f802228a) react-native: 0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8) transitivePeerDependencies: - '@expo/metro-runtime' @@ -11502,7 +10582,7 @@ snapshots: ws: 8.21.1 zod: 3.25.76 optionalDependencies: - expo-router: 57.0.25(66ea6cfd90df0a40c40648bd22be227d) + expo-router: 57.0.25(b78e73ef552e7de7587f9ac112282727) react-native: 0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8) transitivePeerDependencies: - '@expo/metro-runtime' @@ -11820,7 +10900,7 @@ snapshots: react: 19.2.8 optionalDependencies: '@expo/metro-runtime': 57.0.16(expo@57.0.27)(react-dom@19.2.8(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) - expo-router: 57.0.25(070bba2580d5a65057f5194baa7f9812) + expo-router: 57.0.25(e065c737c32861a7840897c5f802228a) react-dom: 19.2.8(react@19.2.8) transitivePeerDependencies: - supports-color @@ -11835,13 +10915,13 @@ snapshots: '@expo/sudo-prompt@9.3.2': {} - '@expo/ui@57.0.22(@babel/core@7.29.7)(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(expo@57.0.27)(react-dom@19.2.8(react@19.2.8))(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8)': + '@expo/ui@57.0.22(@babel/core@7.29.7)(@types/react@19.2.17)(expo@57.0.27)(react-dom@19.2.8(react@19.2.8))(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8)': dependencies: expo: 57.0.27(@babel/core@7.29.7)(@expo/metro-runtime@57.0.16)(expo-router@57.0.25)(react-dom@19.2.8(react@19.2.8))(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8)(typescript@7.0.2) react: 19.2.8 react-native: 0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8) sf-symbols-typescript: 2.2.0 - vaul: 1.1.2(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + vaul: 1.1.2(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) optionalDependencies: '@babel/core': 7.29.7 react-dom: 19.2.8(react@19.2.8) @@ -11850,13 +10930,13 @@ snapshots: - '@types/react' - '@types/react-dom' - '@expo/ui@57.0.22(@babel/core@7.29.7)(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(expo@57.0.27)(react-dom@19.2.8(react@19.2.8))(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8)': + '@expo/ui@57.0.22(@babel/core@7.29.7)(@types/react@19.3.0)(expo@57.0.27)(react-dom@19.2.8(react@19.2.8))(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8)': dependencies: expo: 57.0.27(@babel/core@7.29.7)(@expo/metro-runtime@57.0.16)(expo-router@57.0.25)(react-dom@19.2.8(react@19.2.8))(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8)(typescript@7.0.2) react: 19.2.8 react-native: 0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8) sf-symbols-typescript: 2.2.0 - vaul: 1.1.2(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + vaul: 1.1.2(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) optionalDependencies: '@babel/core': 7.29.7 react-dom: 19.2.8(react@19.2.8) @@ -11946,7 +11026,7 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 26.1.1 + '@types/node': 22.20.5 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -11959,14 +11039,14 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 26.1.1 + '@types/node': 22.20.5 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@26.1.1) + jest-config: 29.7.0(@types/node@22.20.5) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -11991,7 +11071,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 26.1.1 + '@types/node': 22.20.5 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -12009,7 +11089,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 26.1.1 + '@types/node': 22.20.5 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -12031,7 +11111,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.31 - '@types/node': 26.1.1 + '@types/node': 22.20.5 chalk: 4.1.2 collect-v8-coverage: 1.0.3 exit: 0.1.2 @@ -12104,7 +11184,7 @@ snapshots: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 26.1.1 + '@types/node': 22.20.5 '@types/yargs': 15.0.20 chalk: 4.1.2 @@ -12113,7 +11193,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 26.1.1 + '@types/node': 22.20.5 '@types/yargs': 17.0.35 chalk: 4.1.2 @@ -12136,6 +11216,8 @@ snapshots: '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/sourcemap-codec@1.6.0': {} + '@jridgewell/trace-mapping@0.3.31': dependencies: '@jridgewell/resolve-uri': 3.1.2 @@ -12278,9 +11360,9 @@ snapshots: find-up: 4.1.0 fs-extra: 8.1.0 - '@manypkg/find-root@2.2.3': + '@manypkg/find-root@3.1.0': dependencies: - '@manypkg/tools': 1.1.2 + '@manypkg/tools': 2.1.2 '@manypkg/get-packages@1.1.3': dependencies: @@ -12291,11 +11373,11 @@ snapshots: globby: 11.1.0 read-yaml-file: 1.1.0 - '@manypkg/tools@1.1.2': + '@manypkg/tools@2.1.2': dependencies: - fast-glob: 3.3.3 jju: 1.4.0 - js-yaml: 4.3.2 + tinyglobby: 0.2.17 + yaml: 2.9.0 '@mdx-js/mdx@3.1.1': dependencies: @@ -12303,7 +11385,7 @@ snapshots: '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.5 '@types/mdx': 2.0.14 - acorn: 8.17.0 + acorn: 8.19.0 collapse-white-space: 2.1.0 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 @@ -12312,7 +11394,7 @@ snapshots: hast-util-to-jsx-runtime: 2.3.6 markdown-extensions: 2.0.0 recma-build-jsx: 1.0.0 - recma-jsx: 1.0.1(acorn@8.17.0) + recma-jsx: 1.0.1(acorn@8.19.0) recma-stringify: 1.0.0 rehype-recma: 1.0.0 remark-mdx: 3.1.1 @@ -12333,50 +11415,6 @@ snapshots: '@types/react': 19.3.0 react: 19.2.8 - '@modern-js/node-bundle-require@2.67.6': - dependencies: - '@modern-js/utils': 2.67.6 - '@swc/helpers': 0.5.23 - esbuild: 0.25.5 - - '@modern-js/node-bundle-require@2.68.2': - dependencies: - '@modern-js/utils': 2.68.2 - '@swc/helpers': 0.5.23 - esbuild: 0.25.5 - - '@modern-js/utils@2.67.6': - dependencies: - '@swc/helpers': 0.5.23 - caniuse-lite: 1.0.30001806 - lodash: 4.18.1 - rslog: 1.3.2 - - '@modern-js/utils@2.68.2': - dependencies: - '@swc/helpers': 0.5.23 - caniuse-lite: 1.0.30001806 - lodash: 4.18.1 - rslog: 1.3.2 - - '@module-federation/bridge-react-webpack-plugin@0.15.0': - dependencies: - '@module-federation/sdk': 0.15.0 - '@types/semver': 7.5.8 - semver: 7.6.3 - - '@module-federation/bridge-react-webpack-plugin@0.21.0': - dependencies: - '@module-federation/sdk': 0.21.0 - '@types/semver': 7.5.8 - semver: 7.6.3 - - '@module-federation/bridge-react-webpack-plugin@0.8.9': - dependencies: - '@module-federation/sdk': 0.8.9 - '@types/semver': 7.5.8 - semver: 7.6.3 - '@module-federation/bridge-react-webpack-plugin@2.0.1': dependencies: '@module-federation/sdk': 2.0.1 @@ -12387,36 +11425,6 @@ snapshots: dependencies: '@module-federation/sdk': 2.9.2 - '@module-federation/cli@0.15.0(typescript@7.0.2)': - dependencies: - '@modern-js/node-bundle-require': 2.67.6 - '@module-federation/dts-plugin': 0.15.0(typescript@7.0.2) - '@module-federation/sdk': 0.15.0 - chalk: 3.0.0 - commander: 11.1.0 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - typescript - - utf-8-validate - - vue-tsc - - '@module-federation/cli@0.21.0(typescript@7.0.2)': - dependencies: - '@modern-js/node-bundle-require': 2.68.2 - '@module-federation/dts-plugin': 0.21.0(typescript@7.0.2) - '@module-federation/sdk': 0.21.0 - chalk: 3.0.0 - commander: 11.1.0 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - typescript - - utf-8-validate - - vue-tsc - '@module-federation/cli@2.0.1(typescript@7.0.2)': dependencies: '@module-federation/dts-plugin': 2.0.1(typescript@7.0.2) @@ -12444,30 +11452,6 @@ snapshots: - utf-8-validate - vue-tsc - '@module-federation/data-prefetch@0.15.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': - dependencies: - '@module-federation/runtime': 0.15.0 - '@module-federation/sdk': 0.15.0 - fs-extra: 9.1.0 - react: 19.2.8 - react-dom: 19.2.8(react@19.2.8) - - '@module-federation/data-prefetch@0.21.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': - dependencies: - '@module-federation/runtime': 0.21.0 - '@module-federation/sdk': 0.21.0 - fs-extra: 9.1.0 - react: 19.2.8 - react-dom: 19.2.8(react@19.2.8) - - '@module-federation/data-prefetch@0.8.9(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': - dependencies: - '@module-federation/runtime': 0.8.9 - '@module-federation/sdk': 0.8.9 - fs-extra: 9.1.0 - react: 19.2.8 - react-dom: 19.2.8(react@19.2.8) - '@module-federation/data-prefetch@2.0.1(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@module-federation/runtime': 2.0.1 @@ -12477,81 +11461,6 @@ snapshots: react: 19.2.8 react-dom: 19.2.8(react@19.2.8) - '@module-federation/dts-plugin@0.15.0(typescript@7.0.2)': - dependencies: - '@module-federation/error-codes': 0.15.0 - '@module-federation/managers': 0.15.0 - '@module-federation/sdk': 0.15.0 - '@module-federation/third-party-dts-extractor': 0.15.0 - adm-zip: 0.6.1 - ansi-colors: 4.1.3 - axios: 1.20.0 - chalk: 3.0.0 - fs-extra: 9.1.0 - isomorphic-ws: 5.0.0(ws@8.21.3) - koa: 2.16.4 - lodash.clonedeepwith: 4.5.0 - log4js: 6.9.1 - node-schedule: 2.1.1 - rambda: 9.4.2 - typescript: 7.0.2 - ws: 8.21.3 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - - '@module-federation/dts-plugin@0.21.0(typescript@7.0.2)': - dependencies: - '@module-federation/error-codes': 0.21.0 - '@module-federation/managers': 0.21.0 - '@module-federation/sdk': 0.21.0 - '@module-federation/third-party-dts-extractor': 0.21.0 - adm-zip: 0.6.1 - ansi-colors: 4.1.3 - axios: 1.20.0 - chalk: 3.0.0 - fs-extra: 9.1.0 - isomorphic-ws: 5.0.0(ws@8.21.3) - koa: 3.2.1 - lodash.clonedeepwith: 4.5.0 - log4js: 6.9.1 - node-schedule: 2.1.1 - rambda: 9.4.2 - typescript: 7.0.2 - ws: 8.21.3 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - - '@module-federation/dts-plugin@0.8.9(typescript@7.0.2)': - dependencies: - '@module-federation/error-codes': 0.8.9 - '@module-federation/managers': 0.8.9 - '@module-federation/sdk': 0.8.9 - '@module-federation/third-party-dts-extractor': 0.8.9 - adm-zip: 0.6.1 - ansi-colors: 4.1.3 - axios: 1.20.0 - chalk: 3.0.0 - fs-extra: 9.1.0 - isomorphic-ws: 5.0.0(ws@8.21.3) - koa: 2.16.4 - lodash.clonedeepwith: 4.5.0 - log4js: 6.9.1 - node-schedule: 2.1.1 - rambda: 9.4.2 - typescript: 7.0.2 - ws: 8.21.3 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - '@module-federation/dts-plugin@2.0.1(typescript@7.0.2)': dependencies: '@module-federation/error-codes': 2.0.1 @@ -12592,88 +11501,6 @@ snapshots: - bufferutil - utf-8-validate - '@module-federation/enhanced@0.15.0(@rspack/core@1.6.0(@swc/helpers@0.5.23))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@7.0.2)(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)))': - dependencies: - '@module-federation/bridge-react-webpack-plugin': 0.15.0 - '@module-federation/cli': 0.15.0(typescript@7.0.2) - '@module-federation/data-prefetch': 0.15.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@module-federation/dts-plugin': 0.15.0(typescript@7.0.2) - '@module-federation/error-codes': 0.15.0 - '@module-federation/inject-external-runtime-core-plugin': 0.15.0(@module-federation/runtime-tools@0.15.0) - '@module-federation/managers': 0.15.0 - '@module-federation/manifest': 0.15.0(typescript@7.0.2) - '@module-federation/rspack': 0.15.0(@rspack/core@1.6.0(@swc/helpers@0.5.23))(typescript@7.0.2) - '@module-federation/runtime-tools': 0.15.0 - '@module-federation/sdk': 0.15.0 - btoa: 1.2.1 - schema-utils: 4.3.3 - upath: 2.0.1 - optionalDependencies: - typescript: 7.0.2 - webpack: 5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)) - transitivePeerDependencies: - - '@rspack/core' - - bufferutil - - debug - - react - - react-dom - - supports-color - - utf-8-validate - - '@module-federation/enhanced@0.21.0(@rspack/core@1.6.0(@swc/helpers@0.5.23))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@7.0.2)(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)))': - dependencies: - '@module-federation/bridge-react-webpack-plugin': 0.21.0 - '@module-federation/cli': 0.21.0(typescript@7.0.2) - '@module-federation/data-prefetch': 0.21.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@module-federation/dts-plugin': 0.21.0(typescript@7.0.2) - '@module-federation/error-codes': 0.21.0 - '@module-federation/inject-external-runtime-core-plugin': 0.21.0(@module-federation/runtime-tools@0.21.0) - '@module-federation/managers': 0.21.0 - '@module-federation/manifest': 0.21.0(typescript@7.0.2) - '@module-federation/rspack': 0.21.0(@rspack/core@1.6.0(@swc/helpers@0.5.23))(typescript@7.0.2) - '@module-federation/runtime-tools': 0.21.0 - '@module-federation/sdk': 0.21.0 - btoa: 1.2.1 - schema-utils: 4.3.3 - upath: 2.0.1 - optionalDependencies: - typescript: 7.0.2 - webpack: 5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)) - transitivePeerDependencies: - - '@rspack/core' - - bufferutil - - debug - - react - - react-dom - - supports-color - - utf-8-validate - - '@module-federation/enhanced@0.8.9(@rspack/core@1.6.0(@swc/helpers@0.5.23))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@7.0.2)(webpack@5.105.4)': - dependencies: - '@module-federation/bridge-react-webpack-plugin': 0.8.9 - '@module-federation/data-prefetch': 0.8.9(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@module-federation/dts-plugin': 0.8.9(typescript@7.0.2) - '@module-federation/error-codes': 0.8.9 - '@module-federation/inject-external-runtime-core-plugin': 0.8.9(@module-federation/runtime-tools@0.8.9) - '@module-federation/managers': 0.8.9 - '@module-federation/manifest': 0.8.9(typescript@7.0.2) - '@module-federation/rspack': 0.8.9(@rspack/core@1.6.0(@swc/helpers@0.5.23))(typescript@7.0.2) - '@module-federation/runtime-tools': 0.8.9 - '@module-federation/sdk': 0.8.9 - btoa: 1.2.1 - upath: 2.0.1 - optionalDependencies: - typescript: 7.0.2 - webpack: 5.105.4 - transitivePeerDependencies: - - '@rspack/core' - - bufferutil - - debug - - react - - react-dom - - supports-color - - utf-8-validate - '@module-federation/enhanced@2.0.1(@rspack/core@1.6.0(@swc/helpers@0.5.23))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@7.0.2)(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)))': dependencies: '@module-federation/bridge-react-webpack-plugin': 2.0.1 @@ -12725,32 +11552,12 @@ snapshots: - bufferutil - utf-8-validate - '@module-federation/error-codes@0.13.1': {} - - '@module-federation/error-codes@0.15.0': {} - - '@module-federation/error-codes@0.21.0': {} - '@module-federation/error-codes@0.21.2': {} - '@module-federation/error-codes@0.8.9': {} - '@module-federation/error-codes@2.0.1': {} '@module-federation/error-codes@2.9.2': {} - '@module-federation/inject-external-runtime-core-plugin@0.15.0(@module-federation/runtime-tools@0.15.0)': - dependencies: - '@module-federation/runtime-tools': 0.15.0 - - '@module-federation/inject-external-runtime-core-plugin@0.21.0(@module-federation/runtime-tools@0.21.0)': - dependencies: - '@module-federation/runtime-tools': 0.21.0 - - '@module-federation/inject-external-runtime-core-plugin@0.8.9(@module-federation/runtime-tools@0.8.9)': - dependencies: - '@module-federation/runtime-tools': 0.8.9 - '@module-federation/inject-external-runtime-core-plugin@2.0.1(@module-federation/runtime-tools@2.0.1)': dependencies: '@module-federation/runtime-tools': 2.0.1 @@ -12759,78 +11566,15 @@ snapshots: dependencies: '@module-federation/runtime-tools': 2.9.2 - '@module-federation/managers@0.15.0': - dependencies: - '@module-federation/sdk': 0.15.0 - find-pkg: 2.0.0 - fs-extra: 9.1.0 - - '@module-federation/managers@0.21.0': - dependencies: - '@module-federation/sdk': 0.21.0 - find-pkg: 2.0.0 - fs-extra: 9.1.0 - - '@module-federation/managers@0.8.9': - dependencies: - '@module-federation/sdk': 0.8.9 - find-pkg: 2.0.0 - fs-extra: 9.1.0 - - '@module-federation/managers@2.0.1': - dependencies: - '@module-federation/sdk': 2.0.1 - find-pkg: 2.0.0 - fs-extra: 9.1.0 - - '@module-federation/managers@2.9.2': - dependencies: - '@module-federation/sdk': 2.9.2 - - '@module-federation/manifest@0.15.0(typescript@7.0.2)': - dependencies: - '@module-federation/dts-plugin': 0.15.0(typescript@7.0.2) - '@module-federation/managers': 0.15.0 - '@module-federation/sdk': 0.15.0 - chalk: 3.0.0 - find-pkg: 2.0.0 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - typescript - - utf-8-validate - - vue-tsc - - '@module-federation/manifest@0.21.0(typescript@7.0.2)': + '@module-federation/managers@2.0.1': dependencies: - '@module-federation/dts-plugin': 0.21.0(typescript@7.0.2) - '@module-federation/managers': 0.21.0 - '@module-federation/sdk': 0.21.0 - chalk: 3.0.0 + '@module-federation/sdk': 2.0.1 find-pkg: 2.0.0 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - typescript - - utf-8-validate - - vue-tsc + fs-extra: 9.1.0 - '@module-federation/manifest@0.8.9(typescript@7.0.2)': + '@module-federation/managers@2.9.2': dependencies: - '@module-federation/dts-plugin': 0.8.9(typescript@7.0.2) - '@module-federation/managers': 0.8.9 - '@module-federation/sdk': 0.8.9 - chalk: 3.0.0 - find-pkg: 2.0.0 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - typescript - - utf-8-validate - - vue-tsc + '@module-federation/sdk': 2.9.2 '@module-federation/manifest@2.0.1(typescript@7.0.2)': dependencies: @@ -12858,62 +11602,6 @@ snapshots: - utf-8-validate - vue-tsc - '@module-federation/rspack@0.15.0(@rspack/core@1.6.0(@swc/helpers@0.5.23))(typescript@7.0.2)': - dependencies: - '@module-federation/bridge-react-webpack-plugin': 0.15.0 - '@module-federation/dts-plugin': 0.15.0(typescript@7.0.2) - '@module-federation/inject-external-runtime-core-plugin': 0.15.0(@module-federation/runtime-tools@0.15.0) - '@module-federation/managers': 0.15.0 - '@module-federation/manifest': 0.15.0(typescript@7.0.2) - '@module-federation/runtime-tools': 0.15.0 - '@module-federation/sdk': 0.15.0 - '@rspack/core': 1.6.0(@swc/helpers@0.5.23) - btoa: 1.2.1 - optionalDependencies: - typescript: 7.0.2 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - - '@module-federation/rspack@0.21.0(@rspack/core@1.6.0(@swc/helpers@0.5.23))(typescript@7.0.2)': - dependencies: - '@module-federation/bridge-react-webpack-plugin': 0.21.0 - '@module-federation/dts-plugin': 0.21.0(typescript@7.0.2) - '@module-federation/inject-external-runtime-core-plugin': 0.21.0(@module-federation/runtime-tools@0.21.0) - '@module-federation/managers': 0.21.0 - '@module-federation/manifest': 0.21.0(typescript@7.0.2) - '@module-federation/runtime-tools': 0.21.0 - '@module-federation/sdk': 0.21.0 - '@rspack/core': 1.6.0(@swc/helpers@0.5.23) - btoa: 1.2.1 - optionalDependencies: - typescript: 7.0.2 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - - '@module-federation/rspack@0.8.9(@rspack/core@1.6.0(@swc/helpers@0.5.23))(typescript@7.0.2)': - dependencies: - '@module-federation/bridge-react-webpack-plugin': 0.8.9 - '@module-federation/dts-plugin': 0.8.9(typescript@7.0.2) - '@module-federation/inject-external-runtime-core-plugin': 0.8.9(@module-federation/runtime-tools@0.8.9) - '@module-federation/managers': 0.8.9 - '@module-federation/manifest': 0.8.9(typescript@7.0.2) - '@module-federation/runtime-tools': 0.8.9 - '@module-federation/sdk': 0.8.9 - '@rspack/core': 1.6.0(@swc/helpers@0.5.23) - optionalDependencies: - typescript: 7.0.2 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - '@module-federation/rspack@2.0.1(@rspack/core@1.6.0(@swc/helpers@0.5.23))(typescript@7.0.2)': dependencies: '@module-federation/bridge-react-webpack-plugin': 2.0.1 @@ -12949,31 +11637,11 @@ snapshots: - bufferutil - utf-8-validate - '@module-federation/runtime-core@0.13.1': - dependencies: - '@module-federation/error-codes': 0.13.1 - '@module-federation/sdk': 0.13.1 - - '@module-federation/runtime-core@0.15.0': - dependencies: - '@module-federation/error-codes': 0.15.0 - '@module-federation/sdk': 0.15.0 - - '@module-federation/runtime-core@0.21.0': - dependencies: - '@module-federation/error-codes': 0.21.0 - '@module-federation/sdk': 0.21.0 - '@module-federation/runtime-core@0.21.2': dependencies: '@module-federation/error-codes': 0.21.2 '@module-federation/sdk': 0.21.2 - '@module-federation/runtime-core@0.6.17': - dependencies: - '@module-federation/error-codes': 0.8.9 - '@module-federation/sdk': 0.8.9 - '@module-federation/runtime-core@2.0.1': dependencies: '@module-federation/error-codes': 2.0.1 @@ -12984,31 +11652,11 @@ snapshots: '@module-federation/error-codes': 2.9.2 '@module-federation/sdk': 2.9.2 - '@module-federation/runtime-tools@0.13.1': - dependencies: - '@module-federation/runtime': 0.13.1 - '@module-federation/webpack-bundler-runtime': 0.13.1 - - '@module-federation/runtime-tools@0.15.0': - dependencies: - '@module-federation/runtime': 0.15.0 - '@module-federation/webpack-bundler-runtime': 0.15.0 - - '@module-federation/runtime-tools@0.21.0': - dependencies: - '@module-federation/runtime': 0.21.0 - '@module-federation/webpack-bundler-runtime': 0.21.0 - '@module-federation/runtime-tools@0.21.2': dependencies: '@module-federation/runtime': 0.21.2 '@module-federation/webpack-bundler-runtime': 0.21.2 - '@module-federation/runtime-tools@0.8.9': - dependencies: - '@module-federation/runtime': 0.8.9 - '@module-federation/webpack-bundler-runtime': 0.8.9 - '@module-federation/runtime-tools@2.0.1': dependencies: '@module-federation/runtime': 2.0.1 @@ -13019,36 +11667,12 @@ snapshots: '@module-federation/runtime': 2.9.2 '@module-federation/webpack-bundler-runtime': 2.9.2 - '@module-federation/runtime@0.13.1': - dependencies: - '@module-federation/error-codes': 0.13.1 - '@module-federation/runtime-core': 0.13.1 - '@module-federation/sdk': 0.13.1 - - '@module-federation/runtime@0.15.0': - dependencies: - '@module-federation/error-codes': 0.15.0 - '@module-federation/runtime-core': 0.15.0 - '@module-federation/sdk': 0.15.0 - - '@module-federation/runtime@0.21.0': - dependencies: - '@module-federation/error-codes': 0.21.0 - '@module-federation/runtime-core': 0.21.0 - '@module-federation/sdk': 0.21.0 - '@module-federation/runtime@0.21.2': dependencies: '@module-federation/error-codes': 0.21.2 '@module-federation/runtime-core': 0.21.2 '@module-federation/sdk': 0.21.2 - '@module-federation/runtime@0.8.9': - dependencies: - '@module-federation/error-codes': 0.8.9 - '@module-federation/runtime-core': 0.6.17 - '@module-federation/sdk': 0.8.9 - '@module-federation/runtime@2.0.1': dependencies: '@module-federation/error-codes': 2.0.1 @@ -13061,41 +11685,13 @@ snapshots: '@module-federation/runtime-core': 2.9.2 '@module-federation/sdk': 2.9.2 - '@module-federation/sdk@0.13.1': {} - - '@module-federation/sdk@0.15.0': {} - - '@module-federation/sdk@0.21.0': {} - '@module-federation/sdk@0.21.2': {} - '@module-federation/sdk@0.6.10': {} - - '@module-federation/sdk@0.8.9': - dependencies: - isomorphic-rslog: 0.0.7 - '@module-federation/sdk@2.0.1': {} - '@module-federation/sdk@2.9.2': {} - - '@module-federation/third-party-dts-extractor@0.15.0': - dependencies: - find-pkg: 2.0.0 - fs-extra: 9.1.0 - resolve: 1.22.8 - - '@module-federation/third-party-dts-extractor@0.21.0': - dependencies: - find-pkg: 2.0.0 - fs-extra: 9.1.0 - resolve: 1.22.8 + '@module-federation/sdk@2.8.0': {} - '@module-federation/third-party-dts-extractor@0.8.9': - dependencies: - find-pkg: 2.0.0 - fs-extra: 9.1.0 - resolve: 1.22.8 + '@module-federation/sdk@2.9.2': {} '@module-federation/third-party-dts-extractor@2.0.1': dependencies: @@ -13105,31 +11701,11 @@ snapshots: '@module-federation/third-party-dts-extractor@2.9.2': {} - '@module-federation/webpack-bundler-runtime@0.13.1': - dependencies: - '@module-federation/runtime': 0.13.1 - '@module-federation/sdk': 0.13.1 - - '@module-federation/webpack-bundler-runtime@0.15.0': - dependencies: - '@module-federation/runtime': 0.15.0 - '@module-federation/sdk': 0.15.0 - - '@module-federation/webpack-bundler-runtime@0.21.0': - dependencies: - '@module-federation/runtime': 0.21.0 - '@module-federation/sdk': 0.21.0 - '@module-federation/webpack-bundler-runtime@0.21.2': dependencies: '@module-federation/runtime': 0.21.2 '@module-federation/sdk': 0.21.2 - '@module-federation/webpack-bundler-runtime@0.8.9': - dependencies: - '@module-federation/runtime': 0.8.9 - '@module-federation/sdk': 0.8.9 - '@module-federation/webpack-bundler-runtime@2.0.1': dependencies: '@module-federation/runtime': 2.0.1 @@ -13179,33 +11755,33 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 + '@oxc-project/types@0.153.0': {} + '@pinojs/redact@0.4.0': {} '@radix-ui/primitive@1.1.7': {} - '@radix-ui/react-collection@1.1.16(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-collection@1.1.16(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.2.17)(react@19.2.8) '@radix-ui/react-context': 1.2.2(@types/react@19.2.17)(react@19.2.8) - '@radix-ui/react-primitive': 2.1.11(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.11(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-slot': 1.4.0(@types/react@19.2.17)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.17 - '@types/react-dom': 17.0.26(@types/react@19.2.17) - '@radix-ui/react-collection@1.1.16(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-collection@1.1.16(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.2.8) '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.2.8) - '@radix-ui/react-primitive': 2.1.11(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.11(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-slot': 1.4.0(@types/react@19.3.0)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.3.0 - '@types/react-dom': 17.0.26(@types/react@19.3.0) '@radix-ui/react-compose-refs@1.1.5(@types/react@19.2.17)(react@19.2.8)': dependencies: @@ -13231,18 +11807,18 @@ snapshots: optionalDependencies: '@types/react': 19.3.0 - '@radix-ui/react-dialog@1.2.0(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-dialog@1.2.0(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.2.17)(react@19.2.8) '@radix-ui/react-context': 1.2.2(@types/react@19.2.17)(react@19.2.8) - '@radix-ui/react-dismissable-layer': 1.1.20(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-dismissable-layer': 1.1.20(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-focus-guards': 1.1.6(@types/react@19.2.17)(react@19.2.8) - '@radix-ui/react-focus-scope': 1.2.0(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-focus-scope': 1.2.0(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-id': 1.1.4(@types/react@19.2.17)(react@19.2.8) - '@radix-ui/react-portal': 1.1.18(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@radix-ui/react-presence': 1.1.11(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@radix-ui/react-primitive': 2.1.11(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-portal': 1.1.18(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-presence': 1.1.11(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.11(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-slot': 1.4.0(@types/react@19.2.17)(react@19.2.8) '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.2.17)(react@19.2.8) '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.2.17)(react@19.2.8) @@ -13252,20 +11828,19 @@ snapshots: react-remove-scroll: 2.7.2(@types/react@19.2.17)(react@19.2.8) optionalDependencies: '@types/react': 19.2.17 - '@types/react-dom': 17.0.26(@types/react@19.2.17) - '@radix-ui/react-dialog@1.2.0(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-dialog@1.2.0(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.2.8) '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.2.8) - '@radix-ui/react-dismissable-layer': 1.1.20(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-dismissable-layer': 1.1.20(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-focus-guards': 1.1.6(@types/react@19.3.0)(react@19.2.8) - '@radix-ui/react-focus-scope': 1.2.0(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-focus-scope': 1.2.0(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.2.8) - '@radix-ui/react-portal': 1.1.18(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@radix-ui/react-presence': 1.1.11(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@radix-ui/react-primitive': 2.1.11(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-portal': 1.1.18(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-presence': 1.1.11(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.11(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-slot': 1.4.0(@types/react@19.3.0)(react@19.2.8) '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.2.8) '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.2.8) @@ -13275,7 +11850,6 @@ snapshots: react-remove-scroll: 2.7.2(@types/react@19.3.0)(react@19.2.8) optionalDependencies: '@types/react': 19.3.0 - '@types/react-dom': 17.0.26(@types/react@19.3.0) '@radix-ui/react-direction@1.1.5(@types/react@19.2.17)(react@19.2.8)': dependencies: @@ -13289,31 +11863,29 @@ snapshots: optionalDependencies: '@types/react': 19.3.0 - '@radix-ui/react-dismissable-layer@1.1.20(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-dismissable-layer@1.1.20(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.2.17)(react@19.2.8) - '@radix-ui/react-primitive': 2.1.11(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.11(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.2.17)(react@19.2.8) '@radix-ui/react-use-effect-event': 0.0.5(@types/react@19.2.17)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.17 - '@types/react-dom': 17.0.26(@types/react@19.2.17) - '@radix-ui/react-dismissable-layer@1.1.20(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-dismissable-layer@1.1.20(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.2.8) - '@radix-ui/react-primitive': 2.1.11(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.11(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.2.8) '@radix-ui/react-use-effect-event': 0.0.5(@types/react@19.3.0)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.3.0 - '@types/react-dom': 17.0.26(@types/react@19.3.0) '@radix-ui/react-focus-guards@1.1.6(@types/react@19.2.17)(react@19.2.8)': dependencies: @@ -13327,27 +11899,25 @@ snapshots: optionalDependencies: '@types/react': 19.3.0 - '@radix-ui/react-focus-scope@1.2.0(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-focus-scope@1.2.0(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.2.17)(react@19.2.8) - '@radix-ui/react-primitive': 2.1.11(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.11(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.2.17)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.17 - '@types/react-dom': 17.0.26(@types/react@19.2.17) - '@radix-ui/react-focus-scope@1.2.0(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-focus-scope@1.2.0(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.2.8) - '@radix-ui/react-primitive': 2.1.11(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.11(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.3.0 - '@types/react-dom': 17.0.26(@types/react@19.3.0) '@radix-ui/react-id@1.1.4(@types/react@19.2.17)(react@19.2.8)': dependencies: @@ -13363,71 +11933,65 @@ snapshots: optionalDependencies: '@types/react': 19.3.0 - '@radix-ui/react-portal@1.1.18(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-portal@1.1.18(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@radix-ui/react-primitive': 2.1.11(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.11(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.2.17)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.17 - '@types/react-dom': 17.0.26(@types/react@19.2.17) - '@radix-ui/react-portal@1.1.18(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-portal@1.1.18(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@radix-ui/react-primitive': 2.1.11(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.11(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.3.0 - '@types/react-dom': 17.0.26(@types/react@19.3.0) - '@radix-ui/react-presence@1.1.11(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-presence@1.1.11(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.2.17)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.17 - '@types/react-dom': 17.0.26(@types/react@19.2.17) - '@radix-ui/react-presence@1.1.11(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-presence@1.1.11(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.3.0 - '@types/react-dom': 17.0.26(@types/react@19.3.0) - '@radix-ui/react-primitive@2.1.11(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-primitive@2.1.11(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-slot': 1.4.0(@types/react@19.2.17)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.17 - '@types/react-dom': 17.0.26(@types/react@19.2.17) - '@radix-ui/react-primitive@2.1.11(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-primitive@2.1.11(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-slot': 1.4.0(@types/react@19.3.0)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.3.0 - '@types/react-dom': 17.0.26(@types/react@19.3.0) - '@radix-ui/react-roving-focus@1.1.20(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-roving-focus@1.1.20(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 - '@radix-ui/react-collection': 1.1.16(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-collection': 1.1.16(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.2.17)(react@19.2.8) '@radix-ui/react-context': 1.2.2(@types/react@19.2.17)(react@19.2.8) '@radix-ui/react-direction': 1.1.5(@types/react@19.2.17)(react@19.2.8) '@radix-ui/react-id': 1.1.4(@types/react@19.2.17)(react@19.2.8) - '@radix-ui/react-primitive': 2.1.11(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.11(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.2.17)(react@19.2.8) '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.2.17)(react@19.2.8) '@radix-ui/react-use-is-hydrated': 0.1.3(@types/react@19.2.17)(react@19.2.8) @@ -13436,17 +12000,16 @@ snapshots: react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.17 - '@types/react-dom': 17.0.26(@types/react@19.2.17) - '@radix-ui/react-roving-focus@1.1.20(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-roving-focus@1.1.20(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 - '@radix-ui/react-collection': 1.1.16(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-collection': 1.1.16(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.2.8) '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.2.8) '@radix-ui/react-direction': 1.1.5(@types/react@19.3.0)(react@19.2.8) '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.2.8) - '@radix-ui/react-primitive': 2.1.11(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.11(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.2.8) '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.2.8) '@radix-ui/react-use-is-hydrated': 0.1.3(@types/react@19.3.0)(react@19.2.8) @@ -13455,7 +12018,6 @@ snapshots: react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.3.0 - '@types/react-dom': 17.0.26(@types/react@19.3.0) '@radix-ui/react-slot@1.4.0(@types/react@19.2.17)(react@19.2.8)': dependencies: @@ -13471,37 +12033,35 @@ snapshots: optionalDependencies: '@types/react': 19.3.0 - '@radix-ui/react-tabs@1.1.22(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-tabs@1.1.22(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 '@radix-ui/react-context': 1.2.2(@types/react@19.2.17)(react@19.2.8) '@radix-ui/react-direction': 1.1.5(@types/react@19.2.17)(react@19.2.8) '@radix-ui/react-id': 1.1.4(@types/react@19.2.17)(react@19.2.8) - '@radix-ui/react-presence': 1.1.11(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@radix-ui/react-primitive': 2.1.11(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@radix-ui/react-roving-focus': 1.1.20(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-presence': 1.1.11(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.11(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-roving-focus': 1.1.20(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.2.17)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.17 - '@types/react-dom': 17.0.26(@types/react@19.2.17) - '@radix-ui/react-tabs@1.1.22(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-tabs@1.1.22(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.2.8) '@radix-ui/react-direction': 1.1.5(@types/react@19.3.0)(react@19.2.8) '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.2.8) - '@radix-ui/react-presence': 1.1.11(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@radix-ui/react-primitive': 2.1.11(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@radix-ui/react-roving-focus': 1.1.20(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-presence': 1.1.11(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.11(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-roving-focus': 1.1.20(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.3.0 - '@types/react-dom': 17.0.26(@types/react@19.3.0) '@radix-ui/react-use-callback-ref@1.1.4(@types/react@19.2.17)(react@19.2.8)': dependencies: @@ -14076,126 +12636,88 @@ snapshots: '@rnx-kit/types-plugin-typescript@1.0.0': {} - '@rollup/rollup-android-arm-eabi@4.62.2': - optional: true - - '@rollup/rollup-android-arm64@4.62.2': - optional: true - - '@rollup/rollup-darwin-arm64@4.62.2': - optional: true - - '@rollup/rollup-darwin-x64@4.62.2': - optional: true - - '@rollup/rollup-freebsd-arm64@4.62.2': - optional: true - - '@rollup/rollup-freebsd-x64@4.62.2': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.62.2': - optional: true - - '@rollup/rollup-linux-arm-musleabihf@4.62.2': - optional: true - - '@rollup/rollup-linux-arm64-gnu@4.62.2': - optional: true - - '@rollup/rollup-linux-arm64-musl@4.62.2': - optional: true - - '@rollup/rollup-linux-loong64-gnu@4.62.2': + '@rolldown/binding-android-arm-eabi@1.2.13': optional: true - '@rollup/rollup-linux-loong64-musl@4.62.2': + '@rolldown/binding-android-arm64@1.2.13': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.62.2': + '@rolldown/binding-darwin-arm64@1.2.13': optional: true - '@rollup/rollup-linux-ppc64-musl@4.62.2': + '@rolldown/binding-darwin-x64@1.2.13': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.62.2': + '@rolldown/binding-freebsd-x64@1.2.13': optional: true - '@rollup/rollup-linux-riscv64-musl@4.62.2': + '@rolldown/binding-linux-arm-gnueabihf@1.2.13': optional: true - '@rollup/rollup-linux-s390x-gnu@4.62.2': + '@rolldown/binding-linux-arm64-gnu@1.2.13': optional: true - '@rollup/rollup-linux-x64-gnu@4.62.2': + '@rolldown/binding-linux-arm64-musl@1.2.13': optional: true - '@rollup/rollup-linux-x64-musl@4.62.2': + '@rolldown/binding-linux-ppc64-gnu@1.2.13': optional: true - '@rollup/rollup-openbsd-x64@4.62.2': + '@rolldown/binding-linux-s390x-gnu@1.2.13': optional: true - '@rollup/rollup-openharmony-arm64@4.62.2': + '@rolldown/binding-linux-x64-gnu@1.2.13': optional: true - '@rollup/rollup-win32-arm64-msvc@4.62.2': + '@rolldown/binding-linux-x64-musl@1.2.13': optional: true - '@rollup/rollup-win32-ia32-msvc@4.62.2': + '@rolldown/binding-openharmony-arm64@1.2.13': optional: true - '@rollup/rollup-win32-x64-gnu@4.62.2': + '@rolldown/binding-win32-arm64-msvc@1.2.13': optional: true - '@rollup/rollup-win32-x64-msvc@4.62.2': + '@rolldown/binding-win32-x64-msvc@1.2.13': optional: true - '@rsbuild/core@1.3.18': - dependencies: - '@rspack/core': 1.3.9(@swc/helpers@0.5.23) - '@rspack/lite-tapable': 1.0.1 - '@swc/helpers': 0.5.23 - core-js: 3.42.0 - jiti: 2.7.0 + '@rolldown/pluginutils@1.0.1': {} - '@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0)': + '@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)': dependencies: '@rspack/core': 2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23) '@swc/helpers': 0.5.23 - optionalDependencies: - core-js: 3.42.0 transitivePeerDependencies: - '@module-federation/runtime-tools' - '@rsbuild/plugin-check-syntax@1.6.1(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0))': + '@rsbuild/plugin-check-syntax@1.6.1(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2))': dependencies: - acorn: 8.17.0 + acorn: 8.19.0 browserslist-to-es-version: 1.4.2 htmlparser2: 10.0.0 picocolors: 1.1.1 source-map: 0.7.6 optionalDependencies: - '@rsbuild/core': 2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0) + '@rsbuild/core': 2.2.12(@module-federation/runtime-tools@2.9.2) - '@rsbuild/plugin-react@2.1.1(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0))(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))': + '@rsbuild/plugin-react@2.1.1(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2))(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))': dependencies: '@rspack/plugin-react-refresh': 2.0.2(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(react-refresh@0.19.0) react-refresh: 0.19.0 optionalDependencies: - '@rsbuild/core': 2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0) + '@rsbuild/core': 2.2.12(@module-federation/runtime-tools@2.9.2) transitivePeerDependencies: - '@rspack/core' '@rsdoctor/client@1.6.4': {} - '@rsdoctor/core@1.6.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0))(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)))': + '@rsdoctor/core@1.6.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2))(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23))': dependencies: - '@rsbuild/plugin-check-syntax': 1.6.1(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0)) - '@rsdoctor/graph': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) - '@rsdoctor/sdk': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) - '@rsdoctor/types': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) - '@rsdoctor/utils': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) + '@rsbuild/plugin-check-syntax': 1.6.1(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)) + '@rsdoctor/graph': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) + '@rsdoctor/sdk': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) + '@rsdoctor/types': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) + '@rsdoctor/utils': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) '@rspack/resolver': 0.2.8(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3) browserslist-load-config: 1.0.3 es-toolkit: 1.50.0 @@ -14213,9 +12735,9 @@ snapshots: - utf-8-validate - webpack - '@rsdoctor/core@1.6.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0))(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4)': + '@rsdoctor/core@1.6.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2))(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4)': dependencies: - '@rsbuild/plugin-check-syntax': 1.6.1(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0)) + '@rsbuild/plugin-check-syntax': 1.6.1(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)) '@rsdoctor/graph': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4) '@rsdoctor/sdk': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4) '@rsdoctor/types': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4) @@ -14237,10 +12759,10 @@ snapshots: - utf-8-validate - webpack - '@rsdoctor/graph@1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)))': + '@rsdoctor/graph@1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23))': dependencies: - '@rsdoctor/types': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) - '@rsdoctor/utils': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) + '@rsdoctor/types': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) + '@rsdoctor/utils': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) es-toolkit: 1.50.0 path-browserify: 1.0.1 source-map: 0.7.6 @@ -14259,13 +12781,13 @@ snapshots: - '@rspack/core' - webpack - '@rsdoctor/rspack-plugin@1.6.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0))(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)))': + '@rsdoctor/rspack-plugin@1.6.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2))(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23))': dependencies: - '@rsdoctor/core': 1.6.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0))(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) - '@rsdoctor/graph': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) - '@rsdoctor/sdk': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) - '@rsdoctor/types': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) - '@rsdoctor/utils': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) + '@rsdoctor/core': 1.6.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2))(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) + '@rsdoctor/graph': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) + '@rsdoctor/sdk': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) + '@rsdoctor/types': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) + '@rsdoctor/utils': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) optionalDependencies: '@rspack/core': 1.6.0(@swc/helpers@0.5.23) transitivePeerDependencies: @@ -14277,9 +12799,9 @@ snapshots: - utf-8-validate - webpack - '@rsdoctor/rspack-plugin@1.6.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0))(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4)': + '@rsdoctor/rspack-plugin@1.6.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2))(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4)': dependencies: - '@rsdoctor/core': 1.6.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0))(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4) + '@rsdoctor/core': 1.6.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2))(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4) '@rsdoctor/graph': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4) '@rsdoctor/sdk': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4) '@rsdoctor/types': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4) @@ -14295,12 +12817,12 @@ snapshots: - utf-8-validate - webpack - '@rsdoctor/sdk@1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)))': + '@rsdoctor/sdk@1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23))': dependencies: '@rsdoctor/client': 1.6.4 - '@rsdoctor/graph': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) - '@rsdoctor/types': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) - '@rsdoctor/utils': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) + '@rsdoctor/graph': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) + '@rsdoctor/types': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) + '@rsdoctor/utils': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) launch-editor: 2.14.1 safer-buffer: 2.1.2 socket.io: 4.8.1 @@ -14329,7 +12851,7 @@ snapshots: - utf-8-validate - webpack - '@rsdoctor/types@1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)))': + '@rsdoctor/types@1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23))': dependencies: '@types/connect': 3.4.38 '@types/estree': 1.0.5 @@ -14337,7 +12859,7 @@ snapshots: source-map: 0.7.6 optionalDependencies: '@rspack/core': 1.6.0(@swc/helpers@0.5.23) - webpack: 5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)) + webpack: 5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23) '@rsdoctor/types@1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4)': dependencies: @@ -14349,10 +12871,10 @@ snapshots: '@rspack/core': 1.6.0(@swc/helpers@0.5.23) webpack: 5.105.4 - '@rsdoctor/utils@1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)))': + '@rsdoctor/utils@1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23))': dependencies: '@babel/code-frame': 7.26.2 - '@rsdoctor/types': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) + '@rsdoctor/types': 1.6.4(@rspack/core@1.6.0(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) '@types/estree': 1.0.5 acorn: 8.17.0 acorn-import-attributes: 1.9.5(acorn@8.17.0) @@ -14391,16 +12913,15 @@ snapshots: - '@rspack/core' - webpack - '@rslib/core@0.6.9(typescript@7.0.2)': + '@rslib/core@1.0.3(@module-federation/runtime-tools@2.9.2)(typescript@7.0.2)': dependencies: - '@rsbuild/core': 1.3.18 - rsbuild-plugin-dts: 0.6.9(@rsbuild/core@1.3.18)(typescript@7.0.2) - tinyglobby: 0.2.17 + '@rsbuild/core': 2.2.12(@module-federation/runtime-tools@2.9.2) + rsbuild-plugin-dts: 1.0.3(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2))(typescript@7.0.2) optionalDependencies: typescript: 7.0.2 - - '@rspack/binding-darwin-arm64@1.3.9': - optional: true + transitivePeerDependencies: + - '@module-federation/runtime-tools' + - core-js '@rspack/binding-darwin-arm64@1.6.0': optional: true @@ -14408,27 +12929,18 @@ snapshots: '@rspack/binding-darwin-arm64@2.2.8': optional: true - '@rspack/binding-darwin-x64@1.3.9': - optional: true - '@rspack/binding-darwin-x64@1.6.0': optional: true '@rspack/binding-darwin-x64@2.2.8': optional: true - '@rspack/binding-linux-arm64-gnu@1.3.9': - optional: true - '@rspack/binding-linux-arm64-gnu@1.6.0': optional: true '@rspack/binding-linux-arm64-gnu@2.2.8': optional: true - '@rspack/binding-linux-arm64-musl@1.3.9': - optional: true - '@rspack/binding-linux-arm64-musl@1.6.0': optional: true @@ -14447,18 +12959,12 @@ snapshots: '@rspack/binding-linux-s390x-gnu@2.2.8': optional: true - '@rspack/binding-linux-x64-gnu@1.3.9': - optional: true - '@rspack/binding-linux-x64-gnu@1.6.0': optional: true '@rspack/binding-linux-x64-gnu@2.2.8': optional: true - '@rspack/binding-linux-x64-musl@1.3.9': - optional: true - '@rspack/binding-linux-x64-musl@1.6.0': optional: true @@ -14477,45 +12983,24 @@ snapshots: '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3) optional: true - '@rspack/binding-win32-arm64-msvc@1.3.9': - optional: true - '@rspack/binding-win32-arm64-msvc@1.6.0': optional: true '@rspack/binding-win32-arm64-msvc@2.2.8': optional: true - '@rspack/binding-win32-ia32-msvc@1.3.9': - optional: true - '@rspack/binding-win32-ia32-msvc@1.6.0': optional: true '@rspack/binding-win32-ia32-msvc@2.2.8': optional: true - '@rspack/binding-win32-x64-msvc@1.3.9': - optional: true - '@rspack/binding-win32-x64-msvc@1.6.0': optional: true '@rspack/binding-win32-x64-msvc@2.2.8': optional: true - '@rspack/binding@1.3.9': - optionalDependencies: - '@rspack/binding-darwin-arm64': 1.3.9 - '@rspack/binding-darwin-x64': 1.3.9 - '@rspack/binding-linux-arm64-gnu': 1.3.9 - '@rspack/binding-linux-arm64-musl': 1.3.9 - '@rspack/binding-linux-x64-gnu': 1.3.9 - '@rspack/binding-linux-x64-musl': 1.3.9 - '@rspack/binding-win32-arm64-msvc': 1.3.9 - '@rspack/binding-win32-ia32-msvc': 1.3.9 - '@rspack/binding-win32-x64-msvc': 1.3.9 - '@rspack/binding@1.6.0': optionalDependencies: '@rspack/binding-darwin-arm64': 1.6.0 @@ -14546,15 +13031,6 @@ snapshots: '@rspack/binding-win32-ia32-msvc': 2.2.8 '@rspack/binding-win32-x64-msvc': 2.2.8 - '@rspack/core@1.3.9(@swc/helpers@0.5.23)': - dependencies: - '@module-federation/runtime-tools': 0.13.1 - '@rspack/binding': 1.3.9 - '@rspack/lite-tapable': 1.0.1 - caniuse-lite: 1.0.30001806 - optionalDependencies: - '@swc/helpers': 0.5.23 - '@rspack/core@1.6.0(@swc/helpers@0.5.23)': dependencies: '@module-federation/runtime-tools': 0.21.2 @@ -14636,13 +13112,13 @@ snapshots: - '@emnapi/core' - '@emnapi/runtime' - '@rspress/core@2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(core-js@3.42.0)(micromark-util-types@2.0.2)(micromark@4.0.2)': + '@rspress/core@2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2)': dependencies: '@mdx-js/mdx': 3.1.1 '@mdx-js/react': 3.1.1(@types/react@19.3.0)(react@19.2.8) - '@rsbuild/core': 2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0) - '@rsbuild/plugin-react': 2.1.1(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0))(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23)) - '@rspress/shared': 2.0.23(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0) + '@rsbuild/core': 2.2.12(@module-federation/runtime-tools@2.9.2) + '@rsbuild/plugin-react': 2.1.1(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2))(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23)) + '@rspress/shared': 2.0.23(@module-federation/runtime-tools@2.9.2) '@shikijs/rehype': 4.5.0 '@types/mdast': 4.0.4 '@types/react': 19.3.0 @@ -14684,13 +13160,13 @@ snapshots: - micromark-util-types - supports-color - '@rspress/plugin-sitemap@2.0.18(@rspress/core@2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(core-js@3.42.0)(micromark-util-types@2.0.2)(micromark@4.0.2))': + '@rspress/plugin-sitemap@2.0.18(@rspress/core@2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2))': dependencies: - '@rspress/core': 2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(core-js@3.42.0)(micromark-util-types@2.0.2)(micromark@4.0.2) + '@rspress/core': 2.0.23(@module-federation/runtime-tools@2.9.2)(@rspack/core@2.2.8(@module-federation/runtime-tools@2.9.2)(@swc/helpers@0.5.23))(micromark-util-types@2.0.2)(micromark@4.0.2) - '@rspress/shared@2.0.23(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0)': + '@rspress/shared@2.0.23(@module-federation/runtime-tools@2.9.2)': dependencies: - '@rsbuild/core': 2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0) + '@rsbuild/core': 2.2.12(@module-federation/runtime-tools@2.9.2) '@shikijs/rehype': 4.5.0 '@types/react': 19.3.0 mdast-util-mdx-jsx: 3.2.0 @@ -14775,8 +13251,6 @@ snapshots: '@socket.io/component-emitter@3.1.2': {} - '@standard-schema/spec@1.1.0': {} - '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7 @@ -15022,7 +13496,7 @@ snapshots: '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 26.1.1 + '@types/node': 22.20.5 '@types/gradient-string@1.1.6': dependencies: @@ -15036,7 +13510,7 @@ snapshots: '@types/http-proxy@1.17.17': dependencies: - '@types/node': 26.1.1 + '@types/node': 22.20.5 '@types/istanbul-lib-coverage@2.0.6': {} @@ -15058,7 +13532,7 @@ snapshots: '@types/jsonwebtoken@9.0.10': dependencies: '@types/ms': 2.1.0 - '@types/node': 20.19.43 + '@types/node': 22.20.5 '@types/mdast@4.0.4': dependencies: @@ -15072,7 +13546,7 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@20.19.43': + '@types/node@22.20.5': dependencies: undici-types: 6.21.0 @@ -15082,15 +13556,6 @@ snapshots: '@types/prop-types@15.7.15': {} - '@types/react-dom@17.0.26(@types/react@19.2.17)': - dependencies: - '@types/react': 19.2.17 - - '@types/react-dom@17.0.26(@types/react@19.3.0)': - dependencies: - '@types/react': 19.3.0 - optional: true - '@types/react-test-renderer@19.3.0': dependencies: '@types/react': 18.3.31 @@ -15130,7 +13595,7 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 20.19.43 + '@types/node': 22.20.5 '@types/yargs-parser@21.0.3': {} @@ -15213,54 +13678,25 @@ snapshots: optionalDependencies: react: 19.2.8 - '@vitest/expect@4.1.11': - dependencies: - '@standard-schema/spec': 1.1.0 - '@types/chai': 5.2.3 - '@vitest/spy': 4.1.11 - '@vitest/utils': 4.1.11 - chai: 6.2.2 - tinyrainbow: 3.1.0 - - '@vitest/mocker@4.1.11(vite@7.3.6(@types/node@20.19.43)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.51.2)(yaml@2.9.0))': + '@vitest/mocker@5.0.3(vite@8.3.4(@types/node@22.20.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0))': dependencies: - '@vitest/spy': 4.1.11 + '@jridgewell/trace-mapping': 0.3.31 + '@vitest/spy': 5.0.3 estree-walker: 3.0.3 - magic-string: 0.30.21 + magic-string: 1.4.3 optionalDependencies: - vite: 7.3.6(@types/node@20.19.43)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.51.2)(yaml@2.9.0) + vite: 8.3.4(@types/node@22.20.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0) - '@vitest/mocker@4.1.11(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.51.2)(yaml@2.9.0))': + '@vitest/mocker@5.0.3(vite@8.3.4(@types/node@26.1.1)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0))': dependencies: - '@vitest/spy': 4.1.11 + '@jridgewell/trace-mapping': 0.3.31 + '@vitest/spy': 5.0.3 estree-walker: 3.0.3 - magic-string: 0.30.21 + magic-string: 1.4.3 optionalDependencies: - vite: 7.3.6(@types/node@26.1.1)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.51.2)(yaml@2.9.0) - - '@vitest/pretty-format@4.1.11': - dependencies: - tinyrainbow: 3.1.0 - - '@vitest/runner@4.1.11': - dependencies: - '@vitest/utils': 4.1.11 - pathe: 2.0.3 - - '@vitest/snapshot@4.1.11': - dependencies: - '@vitest/pretty-format': 4.1.11 - '@vitest/utils': 4.1.11 - magic-string: 0.30.21 - pathe: 2.0.3 - - '@vitest/spy@4.1.11': {} + vite: 8.3.4(@types/node@26.1.1)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0) - '@vitest/utils@4.1.11': - dependencies: - '@vitest/pretty-format': 4.1.11 - convert-source-map: 2.0.0 - tinyrainbow: 3.1.0 + '@vitest/spy@5.0.3': {} '@vscode/sudo-prompt@9.3.2': {} @@ -15372,13 +13808,13 @@ snapshots: dependencies: acorn: 8.17.0 - acorn-jsx@5.3.2(acorn@8.17.0): + acorn-jsx@5.3.2(acorn@8.19.0): dependencies: - acorn: 8.17.0 + acorn: 8.19.0 acorn-walk@8.3.5: dependencies: - acorn: 8.17.0 + acorn: 8.19.0 acorn@8.17.0: {} @@ -15446,6 +13882,8 @@ snapshots: ansi-styles@5.2.0: {} + ansi-styles@6.2.3: {} + any-promise@1.3.0: {} anymatch@3.1.3: @@ -15853,11 +14291,6 @@ snapshots: bytes@3.1.2: {} - cache-content-type@1.0.1: - dependencies: - mime-types: 2.1.35 - ylru: 1.4.0 - call-bind-apply-helpers@1.0.2: dependencies: es-errors: 1.3.0 @@ -15900,6 +14333,8 @@ snapshots: chalk@5.6.2: {} + chalk@6.0.1: {} + char-regex@1.0.2: {} character-entities-html4@2.1.0: {} @@ -15926,7 +14361,7 @@ snapshots: chrome-launcher@0.15.2: dependencies: - '@types/node': 26.1.1 + '@types/node': 22.20.5 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -15937,7 +14372,7 @@ snapshots: chromium-edge-launcher@0.3.0: dependencies: - '@types/node': 26.1.1 + '@types/node': 22.20.5 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -15985,6 +14420,12 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + cliui@9.0.1: + dependencies: + string-width: 7.2.0 + strip-ansi: 7.2.0 + wrap-ansi: 9.0.2 + clone-deep@4.0.1: dependencies: is-plain-object: 2.0.4 @@ -16086,10 +14527,6 @@ snapshots: transitivePeerDependencies: - supports-color - content-disposition@0.5.4: - dependencies: - safe-buffer: 5.2.1 - content-disposition@1.0.1: {} content-type@1.0.5: {} @@ -16115,8 +14552,6 @@ snapshots: dependencies: browserslist: 4.28.7 - core-js@3.42.0: {} - cors@2.8.6: dependencies: object-assign: 4.1.1 @@ -16142,13 +14577,13 @@ snapshots: optionalDependencies: typescript: 7.0.2 - create-jest@29.7.0(@types/node@20.19.43): + create-jest@29.7.0(@types/node@22.20.5): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.19.43) + jest-config: 29.7.0(@types/node@22.20.5) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -16244,7 +14679,7 @@ snapshots: default-browser-id@5.0.1: {} - default-browser@5.5.0: + default-browser@5.5.1: dependencies: bundle-name: 4.1.0 default-browser-id: 5.0.1 @@ -16334,6 +14769,8 @@ snapshots: emittery@0.13.1: {} + emoji-regex@10.6.0: {} + emoji-regex@8.0.0: {} encodeurl@1.0.2: {} @@ -16352,7 +14789,7 @@ snapshots: cors: 2.8.6 debug: 4.4.3 engine.io-parser: 5.2.3 - ws: 8.21.1 + ws: 8.21.3 transitivePeerDependencies: - bufferutil - supports-color @@ -16395,6 +14832,8 @@ snapshots: es-module-lexer@2.3.1: {} + es-module-lexer@2.3.2: {} + es-object-atoms@1.1.2: dependencies: es-errors: 1.3.0 @@ -16418,67 +14857,10 @@ snapshots: esast-util-from-js@2.0.1: dependencies: '@types/estree-jsx': 1.0.5 - acorn: 8.17.0 + acorn: 8.19.0 esast-util-from-estree: 2.0.0 vfile-message: 4.0.3 - esbuild@0.25.5: - optionalDependencies: - '@esbuild/aix-ppc64': 0.25.5 - '@esbuild/android-arm': 0.25.5 - '@esbuild/android-arm64': 0.25.5 - '@esbuild/android-x64': 0.25.5 - '@esbuild/darwin-arm64': 0.25.5 - '@esbuild/darwin-x64': 0.25.5 - '@esbuild/freebsd-arm64': 0.25.5 - '@esbuild/freebsd-x64': 0.25.5 - '@esbuild/linux-arm': 0.25.5 - '@esbuild/linux-arm64': 0.25.5 - '@esbuild/linux-ia32': 0.25.5 - '@esbuild/linux-loong64': 0.25.5 - '@esbuild/linux-mips64el': 0.25.5 - '@esbuild/linux-ppc64': 0.25.5 - '@esbuild/linux-riscv64': 0.25.5 - '@esbuild/linux-s390x': 0.25.5 - '@esbuild/linux-x64': 0.25.5 - '@esbuild/netbsd-arm64': 0.25.5 - '@esbuild/netbsd-x64': 0.25.5 - '@esbuild/openbsd-arm64': 0.25.5 - '@esbuild/openbsd-x64': 0.25.5 - '@esbuild/sunos-x64': 0.25.5 - '@esbuild/win32-arm64': 0.25.5 - '@esbuild/win32-ia32': 0.25.5 - '@esbuild/win32-x64': 0.25.5 - - esbuild@0.28.1: - optionalDependencies: - '@esbuild/aix-ppc64': 0.28.1 - '@esbuild/android-arm': 0.28.1 - '@esbuild/android-arm64': 0.28.1 - '@esbuild/android-x64': 0.28.1 - '@esbuild/darwin-arm64': 0.28.1 - '@esbuild/darwin-x64': 0.28.1 - '@esbuild/freebsd-arm64': 0.28.1 - '@esbuild/freebsd-x64': 0.28.1 - '@esbuild/linux-arm': 0.28.1 - '@esbuild/linux-arm64': 0.28.1 - '@esbuild/linux-ia32': 0.28.1 - '@esbuild/linux-loong64': 0.28.1 - '@esbuild/linux-mips64el': 0.28.1 - '@esbuild/linux-ppc64': 0.28.1 - '@esbuild/linux-riscv64': 0.28.1 - '@esbuild/linux-s390x': 0.28.1 - '@esbuild/linux-x64': 0.28.1 - '@esbuild/netbsd-arm64': 0.28.1 - '@esbuild/netbsd-x64': 0.28.1 - '@esbuild/openbsd-arm64': 0.28.1 - '@esbuild/openbsd-x64': 0.28.1 - '@esbuild/openharmony-arm64': 0.28.1 - '@esbuild/sunos-x64': 0.28.1 - '@esbuild/win32-arm64': 0.28.1 - '@esbuild/win32-ia32': 0.28.1 - '@esbuild/win32-x64': 0.28.1 - escalade@3.2.0: {} escape-html@1.0.3: {} @@ -16551,6 +14933,21 @@ snapshots: events@3.3.0: {} + execa@10.1.0: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 8.0.1 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 6.0.0 + pretty-ms: 9.3.1 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + which-command: 0.1.0 + yoctocolors: 2.2.0 + execa@5.1.1: dependencies: cross-spawn: 7.0.6 @@ -16563,21 +14960,6 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - execa@9.6.1: - dependencies: - '@sindresorhus/merge-streams': 4.0.0 - cross-spawn: 7.0.6 - figures: 6.1.0 - get-stream: 9.0.1 - human-signals: 8.0.1 - is-plain-obj: 4.1.0 - is-stream: 4.0.1 - npm-run-path: 6.0.0 - pretty-ms: 9.3.0 - signal-exit: 4.1.0 - strip-final-newline: 4.0.0 - yoctocolors: 2.1.2 - exit-hook@4.0.0: {} exit@0.1.2: {} @@ -16733,25 +15115,25 @@ snapshots: dependencies: react-native: 0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8) - expo-router@57.0.25(070bba2580d5a65057f5194baa7f9812): + expo-router@57.0.25(b78e73ef552e7de7587f9ac112282727): dependencies: - '@expo/log-box': 57.0.4(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) - '@expo/metro-runtime': 57.0.16(expo@57.0.27)(react-dom@19.2.8(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) + '@expo/log-box': 57.0.4(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) + '@expo/metro-runtime': 57.0.16(expo@57.0.27)(react-dom@19.2.8(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) '@expo/schema-utils': 57.0.2 - '@expo/ui': 57.0.22(@babel/core@7.29.7)(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(expo@57.0.27)(react-dom@19.2.8(react@19.2.8))(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) - '@radix-ui/react-slot': 1.4.0(@types/react@19.2.17)(react@19.2.8) - '@radix-ui/react-tabs': 1.1.22(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@react-native-masked-view/masked-view': 0.3.2(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) + '@expo/ui': 57.0.22(@babel/core@7.29.7)(@types/react@19.3.0)(expo@57.0.27)(react-dom@19.2.8(react@19.2.8))(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) + '@radix-ui/react-slot': 1.4.0(@types/react@19.3.0)(react@19.2.8) + '@radix-ui/react-tabs': 1.1.22(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@react-native-masked-view/masked-view': 0.3.2(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) client-only: 0.0.1 color: 4.2.3 debug: 4.4.3 escape-string-regexp: 4.0.0 - expo: 57.0.27(@babel/core@7.29.7)(@expo/metro-runtime@57.0.16)(expo-router@57.0.25)(react-dom@19.2.8(react@19.2.8))(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8)(typescript@7.0.2) - expo-constants: 57.0.21(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8)) - expo-glass-effect: 57.0.4(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) - expo-linking: 57.0.12(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) + expo: 57.0.27(@babel/core@7.29.7)(@expo/metro-runtime@57.0.16)(expo-router@57.0.25)(react-dom@19.2.8(react@19.2.8))(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8)(typescript@7.0.2) + expo-constants: 57.0.21(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8)) + expo-glass-effect: 57.0.4(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) + expo-linking: 57.0.12(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) expo-server: 57.0.3 - expo-symbols: 57.0.3(expo-font@57.0.4)(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) + expo-symbols: 57.0.3(expo-font@57.0.4)(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) fast-deep-equal: 3.1.3 invariant: 2.2.4 nanoid: 3.3.20 @@ -16759,19 +15141,19 @@ snapshots: react: 19.2.8 react-fast-compare: 3.2.2 react-is: 19.2.8 - react-native: 0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8) - react-native-drawer-layout: 4.2.11(react-native-gesture-handler@2.32.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(react-native-reanimated@4.5.3(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) - react-native-safe-area-context: 5.8.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) - react-native-screens: 4.26.2(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) + react-native: 0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8) + react-native-drawer-layout: 4.2.11(react-native-gesture-handler@2.32.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8))(react-native-reanimated@4.5.3(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) + react-native-safe-area-context: 5.8.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) + react-native-screens: 4.26.2(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) server-only: 0.0.1 sf-symbols-typescript: 2.2.0 shallowequal: 1.1.0 standard-navigation: 0.0.5 - vaul: 1.1.2(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + vaul: 1.1.2(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) optionalDependencies: react-dom: 19.2.8(react@19.2.8) - react-native-gesture-handler: 2.32.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) - react-native-reanimated: 4.5.3(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) + react-native-gesture-handler: 2.32.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) + react-native-reanimated: 4.5.3(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) transitivePeerDependencies: - '@babel/core' - '@types/react' @@ -16780,25 +15162,25 @@ snapshots: - react-native-worklets - supports-color - expo-router@57.0.25(66ea6cfd90df0a40c40648bd22be227d): + expo-router@57.0.25(e065c737c32861a7840897c5f802228a): dependencies: - '@expo/log-box': 57.0.4(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) - '@expo/metro-runtime': 57.0.16(expo@57.0.27)(react-dom@19.2.8(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) + '@expo/log-box': 57.0.4(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) + '@expo/metro-runtime': 57.0.16(expo@57.0.27)(react-dom@19.2.8(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) '@expo/schema-utils': 57.0.2 - '@expo/ui': 57.0.22(@babel/core@7.29.7)(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(expo@57.0.27)(react-dom@19.2.8(react@19.2.8))(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) - '@radix-ui/react-slot': 1.4.0(@types/react@19.3.0)(react@19.2.8) - '@radix-ui/react-tabs': 1.1.22(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@react-native-masked-view/masked-view': 0.3.2(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) + '@expo/ui': 57.0.22(@babel/core@7.29.7)(@types/react@19.2.17)(expo@57.0.27)(react-dom@19.2.8(react@19.2.8))(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) + '@radix-ui/react-slot': 1.4.0(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-tabs': 1.1.22(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@react-native-masked-view/masked-view': 0.3.2(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) client-only: 0.0.1 color: 4.2.3 debug: 4.4.3 escape-string-regexp: 4.0.0 - expo: 57.0.27(@babel/core@7.29.7)(@expo/metro-runtime@57.0.16)(expo-router@57.0.25)(react-dom@19.2.8(react@19.2.8))(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8)(typescript@7.0.2) - expo-constants: 57.0.21(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8)) - expo-glass-effect: 57.0.4(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) - expo-linking: 57.0.12(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) + expo: 57.0.27(@babel/core@7.29.7)(@expo/metro-runtime@57.0.16)(expo-router@57.0.25)(react-dom@19.2.8(react@19.2.8))(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8)(typescript@7.0.2) + expo-constants: 57.0.21(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8)) + expo-glass-effect: 57.0.4(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) + expo-linking: 57.0.12(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) expo-server: 57.0.3 - expo-symbols: 57.0.3(expo-font@57.0.4)(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) + expo-symbols: 57.0.3(expo-font@57.0.4)(expo@57.0.27)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) fast-deep-equal: 3.1.3 invariant: 2.2.4 nanoid: 3.3.20 @@ -16806,19 +15188,19 @@ snapshots: react: 19.2.8 react-fast-compare: 3.2.2 react-is: 19.2.8 - react-native: 0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8) - react-native-drawer-layout: 4.2.11(react-native-gesture-handler@2.32.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8))(react-native-reanimated@4.5.3(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) - react-native-safe-area-context: 5.8.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) - react-native-screens: 4.26.2(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) + react-native: 0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8) + react-native-drawer-layout: 4.2.11(react-native-gesture-handler@2.32.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(react-native-reanimated@4.5.3(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) + react-native-safe-area-context: 5.8.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) + react-native-screens: 4.26.2(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) server-only: 0.0.1 sf-symbols-typescript: 2.2.0 shallowequal: 1.1.0 standard-navigation: 0.0.5 - vaul: 1.1.2(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + vaul: 1.1.2(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) optionalDependencies: react-dom: 19.2.8(react@19.2.8) - react-native-gesture-handler: 2.32.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) - react-native-reanimated: 4.5.3(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.3.0)(react@19.2.8))(react@19.2.8) + react-native-gesture-handler: 2.32.0(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) + react-native-reanimated: 4.5.3(react-native-worklets@0.11.3(@babel/core@7.29.7)(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8))(react-native@0.86.3(@babel/core@7.29.7)(@react-native-community/cli@20.2.0(typescript@7.0.2))(@types/react@19.2.17)(react@19.2.8))(react@19.2.8) transitivePeerDependencies: - '@babel/core' - '@types/react' @@ -17022,9 +15404,9 @@ snapshots: dependencies: bser: 2.1.1 - fdir@6.5.0(picomatch@4.0.5): + fdir@6.5.0(picomatch@4.0.7): optionalDependencies: - picomatch: 4.0.5 + picomatch: 4.0.7 fetch-nodeshim@0.4.10: {} @@ -17175,8 +15557,6 @@ snapshots: function-bind@1.1.2: {} - generator-function@2.0.1: {} - gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} @@ -17655,14 +16035,6 @@ snapshots: is-generator-fn@2.1.0: {} - is-generator-function@1.1.2: - dependencies: - call-bound: 1.0.4 - generator-function: 2.0.1 - get-proto: 1.0.1 - has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 - is-glob@4.0.3: dependencies: is-extglob: 2.1.1 @@ -17671,6 +16043,8 @@ snapshots: is-in-ci@1.0.0: {} + is-in-ssh@1.0.0: {} + is-inside-container@1.0.0: dependencies: is-docker: 3.0.0 @@ -17687,13 +16061,6 @@ snapshots: is-plain-object@5.0.0: {} - is-regex@1.2.1: - dependencies: - call-bound: 1.0.4 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - hasown: 2.0.4 - is-stream@2.0.1: {} is-stream@4.0.1: {} @@ -17724,8 +16091,6 @@ snapshots: isobject@3.0.1: {} - isomorphic-rslog@0.0.7: {} - isomorphic-ws@5.0.0(ws@8.21.3): dependencies: ws: 8.21.3 @@ -17783,7 +16148,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 26.1.1 + '@types/node': 22.20.5 chalk: 4.1.2 co: 4.6.0 dedent: 1.7.2 @@ -17803,16 +16168,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@20.19.43): + jest-cli@29.7.0(@types/node@22.20.5): dependencies: '@jest/core': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.19.43) + create-jest: 29.7.0(@types/node@22.20.5) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@20.19.43) + jest-config: 29.7.0(@types/node@22.20.5) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.3 @@ -17822,37 +16187,7 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@20.19.43): - dependencies: - '@babel/core': 7.29.7 - '@jest/test-sequencer': 29.7.0 - '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.29.7) - chalk: 4.1.2 - ci-info: 3.9.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.7.0 - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - micromatch: 4.0.8 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - optionalDependencies: - '@types/node': 20.19.43 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - jest-config@29.7.0(@types/node@26.1.1): + jest-config@29.7.0(@types/node@22.20.5): dependencies: '@babel/core': 7.29.7 '@jest/test-sequencer': 29.7.0 @@ -17877,7 +16212,7 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 26.1.1 + '@types/node': 22.20.5 transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -17906,7 +16241,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 26.1.1 + '@types/node': 22.20.5 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -17916,7 +16251,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 26.1.1 + '@types/node': 22.20.5 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -17955,7 +16290,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 26.1.1 + '@types/node': 22.20.5 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -17990,7 +16325,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 26.1.1 + '@types/node': 22.20.5 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -18018,7 +16353,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 26.1.1 + '@types/node': 22.20.5 chalk: 4.1.2 cjs-module-lexer: 1.4.3 collect-v8-coverage: 1.0.3 @@ -18083,7 +16418,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 26.1.1 + '@types/node': 22.20.5 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -18103,12 +16438,12 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@20.19.43): + jest@29.7.0(@types/node@22.20.5): dependencies: '@jest/core': 29.7.0 '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@20.19.43) + jest-cli: 29.7.0(@types/node@22.20.5) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -18206,39 +16541,6 @@ snapshots: koa-compose@4.1.0: {} - koa-convert@2.0.0: - dependencies: - co: 4.6.0 - koa-compose: 4.1.0 - - koa@2.16.4: - dependencies: - accepts: 1.3.8 - cache-content-type: 1.0.1 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookies: 0.9.1 - debug: 4.4.3 - delegates: 1.0.0 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - fresh: 0.5.2 - http-assert: 1.5.0 - http-errors: 1.8.1 - is-generator-function: 1.1.2 - koa-compose: 4.1.0 - koa-convert: 2.0.0 - on-finished: 2.4.1 - only: 0.0.2 - parseurl: 1.3.3 - statuses: 1.5.0 - type-is: 1.6.18 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - koa@3.2.1: dependencies: accepts: 1.3.8 @@ -18430,8 +16732,6 @@ snapshots: lodash.throttle@4.1.1: {} - lodash@4.18.1: {} - log-symbols@2.2.0: dependencies: chalk: 2.4.2 @@ -18479,9 +16779,9 @@ snapshots: luxon@3.7.2: {} - magic-string@0.30.21: + magic-string@1.4.3: dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/sourcemap-codec': 1.6.0 make-dir@2.1.0: dependencies: @@ -18695,8 +16995,6 @@ snapshots: mdn-data@2.0.30: {} - media-typer@0.3.0: {} - media-typer@1.1.1: {} medium-zoom@1.1.0: {} @@ -18843,7 +17141,7 @@ snapshots: metro-minify-terser@0.84.5: dependencies: flow-enums-runtime: 0.0.6 - terser: 5.49.0 + terser: 5.51.2 metro-minify-terser@0.84.6: dependencies: @@ -19221,8 +17519,8 @@ snapshots: micromark-extension-mdxjs@3.0.0: dependencies: - acorn: 8.17.0 - acorn-jsx: 5.3.2(acorn@8.17.0) + acorn: 8.19.0 + acorn-jsx: 5.3.2(acorn@8.19.0) micromark-extension-mdx-expression: 3.0.1 micromark-extension-mdx-jsx: 3.0.2 micromark-extension-mdx-md: 2.0.0 @@ -19566,14 +17864,14 @@ snapshots: regex: 6.1.0 regex-recursion: 6.0.2 - only@0.0.2: {} - - open@10.2.0: + open@11.0.4: dependencies: - default-browser: 5.5.0 + default-browser: 5.5.1 define-lazy-prop: 3.0.0 + is-in-ssh: 1.0.0 is-inside-container: 1.0.0 - wsl-utils: 0.1.0 + powershell-utils: 0.2.1 + wsl-utils: 1.0.1 open@6.4.0: dependencies: @@ -19716,14 +18014,14 @@ snapshots: path-type@4.0.0: {} - pathe@2.0.3: {} - picocolors@1.1.1: {} picomatch@2.3.2: {} picomatch@4.0.5: {} + picomatch@4.0.7: {} + pify@2.3.0: {} pify@4.0.1: {} @@ -19801,7 +18099,7 @@ snapshots: postcss: 8.5.23 yaml: 2.9.0 - postcss-loader@8.2.1(@rspack/core@1.6.0(@swc/helpers@0.5.23))(postcss@8.5.23)(typescript@7.0.2)(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))): + postcss-loader@8.2.1(@rspack/core@1.6.0(@swc/helpers@0.5.23))(postcss@8.5.23)(typescript@7.0.2)(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)): dependencies: cosmiconfig: 9.0.2(typescript@7.0.2) jiti: 2.7.0 @@ -19809,7 +18107,7 @@ snapshots: semver: 7.8.5 optionalDependencies: '@rspack/core': 1.6.0(@swc/helpers@0.5.23) - webpack: 5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)) + webpack: 5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23) transitivePeerDependencies: - typescript @@ -19831,6 +18129,14 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.2 + postcss@8.5.29: + dependencies: + nanoid: 3.3.20 + picocolors: 1.1.1 + source-map-js: 1.2.2 + + powershell-utils@0.2.1: {} + preferred-pm@4.1.1: dependencies: find-up-simple: 1.0.1 @@ -19859,7 +18165,7 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 - pretty-ms@9.3.0: + pretty-ms@9.3.1: dependencies: parse-ms: 4.0.0 @@ -20353,10 +18659,10 @@ snapshots: estree-util-build-jsx: 3.0.1 vfile: 6.0.3 - recma-jsx@1.0.1(acorn@8.17.0): + recma-jsx@1.0.1(acorn@8.19.0): dependencies: - acorn: 8.17.0 - acorn-jsx: 5.3.2(acorn@8.17.0) + acorn: 8.19.0 + acorn-jsx: 5.3.2(acorn@8.19.0) estree-util-to-js: 2.0.0 recma-parse: 1.0.0 recma-stringify: 1.0.0 @@ -20552,53 +18858,37 @@ snapshots: rfdc@1.4.1: {} - rollup@4.62.2: + rolldown@1.2.13: dependencies: - '@types/estree': 1.0.9 + '@oxc-project/types': 0.153.0 + '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.62.2 - '@rollup/rollup-android-arm64': 4.62.2 - '@rollup/rollup-darwin-arm64': 4.62.2 - '@rollup/rollup-darwin-x64': 4.62.2 - '@rollup/rollup-freebsd-arm64': 4.62.2 - '@rollup/rollup-freebsd-x64': 4.62.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.62.2 - '@rollup/rollup-linux-arm-musleabihf': 4.62.2 - '@rollup/rollup-linux-arm64-gnu': 4.62.2 - '@rollup/rollup-linux-arm64-musl': 4.62.2 - '@rollup/rollup-linux-loong64-gnu': 4.62.2 - '@rollup/rollup-linux-loong64-musl': 4.62.2 - '@rollup/rollup-linux-ppc64-gnu': 4.62.2 - '@rollup/rollup-linux-ppc64-musl': 4.62.2 - '@rollup/rollup-linux-riscv64-gnu': 4.62.2 - '@rollup/rollup-linux-riscv64-musl': 4.62.2 - '@rollup/rollup-linux-s390x-gnu': 4.62.2 - '@rollup/rollup-linux-x64-gnu': 4.62.2 - '@rollup/rollup-linux-x64-musl': 4.62.2 - '@rollup/rollup-openbsd-x64': 4.62.2 - '@rollup/rollup-openharmony-arm64': 4.62.2 - '@rollup/rollup-win32-arm64-msvc': 4.62.2 - '@rollup/rollup-win32-ia32-msvc': 4.62.2 - '@rollup/rollup-win32-x64-gnu': 4.62.2 - '@rollup/rollup-win32-x64-msvc': 4.62.2 - fsevents: 2.3.3 - - rsbuild-plugin-dts@0.6.9(@rsbuild/core@1.3.18)(typescript@7.0.2): - dependencies: - '@ast-grep/napi': 0.37.0 - '@rsbuild/core': 1.3.18 - magic-string: 0.30.21 - picocolors: 1.1.1 - tinyglobby: 0.2.17 - tsconfig-paths: 4.2.0 + '@rolldown/binding-android-arm-eabi': 1.2.13 + '@rolldown/binding-android-arm64': 1.2.13 + '@rolldown/binding-darwin-arm64': 1.2.13 + '@rolldown/binding-darwin-x64': 1.2.13 + '@rolldown/binding-freebsd-x64': 1.2.13 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.13 + '@rolldown/binding-linux-arm64-gnu': 1.2.13 + '@rolldown/binding-linux-arm64-musl': 1.2.13 + '@rolldown/binding-linux-ppc64-gnu': 1.2.13 + '@rolldown/binding-linux-s390x-gnu': 1.2.13 + '@rolldown/binding-linux-x64-gnu': 1.2.13 + '@rolldown/binding-linux-x64-musl': 1.2.13 + '@rolldown/binding-openharmony-arm64': 1.2.13 + '@rolldown/binding-win32-arm64-msvc': 1.2.13 + '@rolldown/binding-win32-x64-msvc': 1.2.13 + + rsbuild-plugin-dts@1.0.3(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2))(typescript@7.0.2): + dependencies: + '@ast-grep/napi': 0.45.3 + '@rsbuild/core': 2.2.12(@module-federation/runtime-tools@2.9.2) optionalDependencies: typescript: 7.0.2 - rsbuild-plugin-open-graph@1.1.3(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0)): + rsbuild-plugin-open-graph@1.1.3(@rsbuild/core@2.2.12(@module-federation/runtime-tools@2.9.2)): optionalDependencies: - '@rsbuild/core': 2.2.12(@module-federation/runtime-tools@2.9.2)(core-js@3.42.0) - - rslog@1.3.2: {} + '@rsbuild/core': 2.2.12(@module-federation/runtime-tools@2.9.2) rslog@2.3.0: {} @@ -20616,12 +18906,6 @@ snapshots: safe-buffer@5.2.1: {} - safe-regex-test@1.1.0: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-regex: 1.2.1 - safe-regex2@5.1.1: dependencies: ret: 0.5.0 @@ -20758,8 +19042,6 @@ snapshots: side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 - siginfo@2.0.0: {} - signal-exit@3.0.7: {} signal-exit@4.1.0: {} @@ -20798,7 +19080,7 @@ snapshots: socket.io-adapter@2.5.8: dependencies: debug: 4.4.3 - ws: 8.21.1 + ws: 8.21.3 transitivePeerDependencies: - bufferutil - supports-color @@ -20866,8 +19148,6 @@ snapshots: dependencies: escape-string-regexp: 2.0.0 - stackback@0.0.2: {} - stackframe@1.3.4: {} stacktrace-parser@0.1.11: @@ -20909,6 +19189,17 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 + string-width@7.2.0: + dependencies: + emoji-regex: 10.6.0 + get-east-asian-width: 1.7.0 + strip-ansi: 7.2.0 + + string-width@8.3.0: + dependencies: + get-east-asian-width: 1.7.0 + strip-ansi: 7.2.0 + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 @@ -21036,30 +19327,34 @@ snapshots: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - terser-webpack-plugin@5.5.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))): + terser-webpack-plugin@5.6.1(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.49.0 - webpack: 5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)) + terser: 5.51.2 + webpack: 5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23) optionalDependencies: '@swc/core': 1.15.46(@swc/helpers@0.5.23) + postcss: 8.5.23 - terser-webpack-plugin@5.5.0(webpack@5.105.4): + terser-webpack-plugin@5.6.1(@swc/core@1.15.46(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.49.0 - webpack: 5.105.4 + terser: 5.51.2 + webpack: 5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)) + optionalDependencies: + '@swc/core': 1.15.46(@swc/helpers@0.5.23) - terser@5.49.0: + terser-webpack-plugin@5.6.1(webpack@5.105.4): dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.17.0 - commander: 2.20.3 - source-map-support: 0.5.21 + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + terser: 5.51.2 + webpack: 5.105.4 terser@5.51.2: dependencies: @@ -21086,13 +19381,13 @@ snapshots: dependencies: tslib: 2.8.1 - thread-loader@4.0.4(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))): + thread-loader@4.0.4(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)): dependencies: json-parse-better-errors: 1.0.2 loader-runner: 4.3.2 neo-async: 2.6.2 schema-utils: 4.3.3 - webpack: 5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)) + webpack: 5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23) thread-stream@4.2.0: dependencies: @@ -21102,24 +19397,22 @@ snapshots: throttleit@2.1.0: {} - tinybench@2.9.0: {} + tinybench@6.2.1: {} tinycolor2@1.6.0: {} - tinyexec@1.2.4: {} + tinyexec@1.3.1: {} tinyglobby@0.2.17: dependencies: - fdir: 6.5.0(picomatch@4.0.5) - picomatch: 4.0.5 + fdir: 6.5.0(picomatch@4.0.7) + picomatch: 4.0.7 tinygradient@1.1.5: dependencies: '@types/tinycolor2': 1.4.6 tinycolor2: 1.6.0 - tinyrainbow@3.1.0: {} - tmpl@1.0.5: {} to-regex-range@5.0.1: @@ -21146,12 +19439,6 @@ snapshots: ts-interface-checker@0.1.13: {} - tsconfig-paths@4.2.0: - dependencies: - json5: 2.2.3 - minimist: 1.2.8 - strip-bom: 3.0.0 - tslib@2.8.1: {} tsscmp@1.0.6: {} @@ -21175,11 +19462,6 @@ snapshots: type-fest@4.41.0: {} - type-is@1.6.18: - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - type-is@2.1.0: dependencies: content-type: 2.0.0 @@ -21347,18 +19629,18 @@ snapshots: vary@1.1.2: {} - vaul@1.1.2(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8): + vaul@1.1.2(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: - '@radix-ui/react-dialog': 1.2.0(@types/react-dom@17.0.26(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-dialog': 1.2.0(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) transitivePeerDependencies: - '@types/react' - '@types/react-dom' - vaul@1.1.2(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8): + vaul@1.1.2(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: - '@radix-ui/react-dialog': 1.2.0(@types/react-dom@17.0.26(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-dialog': 1.2.0(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) transitivePeerDependencies: @@ -21380,111 +19662,75 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite@7.3.6(@types/node@20.19.43)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.51.2)(yaml@2.9.0): + vite@8.3.4(@types/node@22.20.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0): dependencies: - esbuild: 0.28.1 - fdir: 6.5.0(picomatch@4.0.5) - picomatch: 4.0.5 - postcss: 8.5.23 - rollup: 4.62.2 + lightningcss: 1.33.0 + picomatch: 4.0.7 + postcss: 8.5.29 + rolldown: 1.2.13 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 20.19.43 + '@types/node': 22.20.5 fsevents: 2.3.3 jiti: 2.7.0 - lightningcss: 1.33.0 terser: 5.51.2 yaml: 2.9.0 - vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.51.2)(yaml@2.9.0): + vite@8.3.4(@types/node@26.1.1)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0): dependencies: - esbuild: 0.28.1 - fdir: 6.5.0(picomatch@4.0.5) - picomatch: 4.0.5 - postcss: 8.5.23 - rollup: 4.62.2 + lightningcss: 1.33.0 + picomatch: 4.0.7 + postcss: 8.5.29 + rolldown: 1.2.13 tinyglobby: 0.2.17 optionalDependencies: '@types/node': 26.1.1 fsevents: 2.3.3 jiti: 2.7.0 - lightningcss: 1.33.0 terser: 5.51.2 yaml: 2.9.0 - vitest@4.1.11(@types/node@20.19.43)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.51.2)(yaml@2.9.0): + vitest@5.0.3(@types/node@22.20.5)(vite@8.3.4(@types/node@22.20.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0)): dependencies: - '@vitest/expect': 4.1.11 - '@vitest/mocker': 4.1.11(vite@7.3.6(@types/node@20.19.43)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.51.2)(yaml@2.9.0)) - '@vitest/pretty-format': 4.1.11 - '@vitest/runner': 4.1.11 - '@vitest/snapshot': 4.1.11 - '@vitest/spy': 4.1.11 - '@vitest/utils': 4.1.11 - es-module-lexer: 2.3.1 + '@types/chai': 5.2.3 + '@vitest/mocker': 5.0.3(vite@8.3.4(@types/node@22.20.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0)) + chai: 6.2.2 + es-module-lexer: 2.3.2 expect-type: 1.4.0 - magic-string: 0.30.21 + magic-string: 1.4.3 obug: 2.1.4 - pathe: 2.0.3 - picomatch: 4.0.5 + picomatch: 4.0.7 std-env: 4.2.0 - tinybench: 2.9.0 - tinyexec: 1.2.4 + tinybench: 6.2.1 + tinyexec: 1.3.1 tinyglobby: 0.2.17 - tinyrainbow: 3.1.0 - vite: 7.3.6(@types/node@20.19.43)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.51.2)(yaml@2.9.0) - why-is-node-running: 2.3.0 + vite: 8.3.4(@types/node@22.20.5)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0) + why-is-node-running: 3.2.1 optionalDependencies: - '@types/node': 20.19.43 + '@types/node': 22.20.5 transitivePeerDependencies: - - jiti - - less - - lightningcss - msw - - sass - - sass-embedded - - stylus - - sugarss - - terser - - tsx - - yaml - vitest@4.1.11(@types/node@26.1.1)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.51.2)(yaml@2.9.0): + vitest@5.0.3(@types/node@26.1.1)(vite@8.3.4(@types/node@26.1.1)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0)): dependencies: - '@vitest/expect': 4.1.11 - '@vitest/mocker': 4.1.11(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.51.2)(yaml@2.9.0)) - '@vitest/pretty-format': 4.1.11 - '@vitest/runner': 4.1.11 - '@vitest/snapshot': 4.1.11 - '@vitest/spy': 4.1.11 - '@vitest/utils': 4.1.11 - es-module-lexer: 2.3.1 + '@types/chai': 5.2.3 + '@vitest/mocker': 5.0.3(vite@8.3.4(@types/node@26.1.1)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0)) + chai: 6.2.2 + es-module-lexer: 2.3.2 expect-type: 1.4.0 - magic-string: 0.30.21 + magic-string: 1.4.3 obug: 2.1.4 - pathe: 2.0.3 - picomatch: 4.0.5 + picomatch: 4.0.7 std-env: 4.2.0 - tinybench: 2.9.0 - tinyexec: 1.2.4 + tinybench: 6.2.1 + tinyexec: 1.3.1 tinyglobby: 0.2.17 - tinyrainbow: 3.1.0 - vite: 7.3.6(@types/node@26.1.1)(jiti@2.7.0)(lightningcss@1.33.0)(terser@5.51.2)(yaml@2.9.0) - why-is-node-running: 2.3.0 + vite: 8.3.4(@types/node@26.1.1)(jiti@2.7.0)(terser@5.51.2)(yaml@2.9.0) + why-is-node-running: 3.2.1 optionalDependencies: '@types/node': 26.1.1 transitivePeerDependencies: - - jiti - - less - - lightningcss - msw - - sass - - sass-embedded - - stylus - - sugarss - - terser - - tsx - - yaml vlq@0.2.3: {} @@ -21542,12 +19788,21 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.3 - terser-webpack-plugin: 5.5.0(webpack@5.105.4) + terser-webpack-plugin: 5.6.1(webpack@5.105.4) watchpack: 2.5.2 webpack-sources: 3.5.1 transitivePeerDependencies: + - '@minify-html/node' - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso - esbuild + - html-minifier-terser + - lightningcss + - postcss - uglify-js webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23)): @@ -21574,12 +19829,62 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.3 - terser-webpack-plugin: 5.5.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) + terser-webpack-plugin: 5.6.1(@swc/core@1.15.46(@swc/helpers@0.5.23))(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))) + watchpack: 2.5.2 + webpack-sources: 3.5.1 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - uglify-js + + webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23): + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.9 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.17.0 + acorn-import-phases: 1.0.4(acorn@8.17.0) + browserslist: 4.28.7 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.24.3 + es-module-lexer: 2.3.1 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.2 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 4.3.3 + tapable: 2.3.3 + terser-webpack-plugin: 5.6.1(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)(webpack@5.105.4(@swc/core@1.15.46(@swc/helpers@0.5.23))(postcss@8.5.23)) watchpack: 2.5.2 webpack-sources: 3.5.1 transitivePeerDependencies: + - '@minify-html/node' - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso - esbuild + - html-minifier-terser + - lightningcss + - postcss - uglify-js whatwg-encoding@2.0.0: @@ -21595,6 +19900,8 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 + which-command@0.1.0: {} + which-module@2.0.1: {} which-pm-runs@1.1.0: {} @@ -21611,10 +19918,7 @@ snapshots: dependencies: isexe: 2.0.0 - why-is-node-running@2.3.0: - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 + why-is-node-running@3.2.1: {} wildcard@2.0.1: {} @@ -21630,6 +19934,12 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 + wrap-ansi@9.0.2: + dependencies: + ansi-styles: 6.2.3 + string-width: 7.2.0 + strip-ansi: 7.2.0 + wrappy@1.0.2: {} write-file-atomic@4.0.2: @@ -21647,9 +19957,10 @@ snapshots: ws@8.21.3: {} - wsl-utils@0.1.0: + wsl-utils@1.0.1: dependencies: is-wsl: 3.1.1 + powershell-utils: 0.2.1 xcode@3.0.1: dependencies: @@ -21682,6 +19993,8 @@ snapshots: yargs-parser@21.1.1: {} + yargs-parser@22.0.0: {} + yargs@15.4.1: dependencies: cliui: 6.0.0 @@ -21706,13 +20019,20 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - ylru@1.4.0: {} + yargs@18.2.0: + dependencies: + cliui: 9.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + string-width: 8.3.0 + y18n: 5.0.8 + yargs-parser: 22.0.0 yocto-queue@0.1.0: {} yocto-queue@1.2.2: {} - yoctocolors@2.1.2: {} + yoctocolors@2.2.0: {} zod@3.25.76: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index e7b3b4548..44c7d912b 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -26,9 +26,6 @@ overrides: # Security fix for GHSA-w5hq-g745-h8pq. xcode pins uuid to ^7 and is # unmaintained; it only calls uuid.v4(), which is unaffected either way. "uuid@7": ^11.1.1 - # Held: vite 8 is rolldown-based; rolldown requires Node >=20.19, which - # would drop Node 18 from the supported test matrix. - "vite": ^7.3.1 # expo-router declares react-native-screens as a regular dependency, which # would otherwise resolve a second, newer copy than the apps' native one. "react-native-screens": "catalog:testers" @@ -43,17 +40,17 @@ catalog: "@babel/core": ^7.29.7 # Pinned: 1.6.2+ breaks MF v2 polyfill ordering; 1.6.4+ fails typecheck. "@rspack/core": 1.6.0 - "@rslib/core": ^0.6.3 + "@rslib/core": ^1.0.3 "@swc/helpers": ~0.5.17 - "@types/node": ^20.19.31 - # Pinned: 5.6+ silently skips minification (#1390). - "terser-webpack-plugin": 5.5.0 + "@types/node": ^22.20.5 + "terser-webpack-plugin": ^5.6.1 "typescript": ^7.0.2 # Held: 5.106+ removes a webpack internal needed by @module-federation/enhanced <2.4.0. "webpack": ~5.105.0 "react": "19.2.8" "react-native": "0.86.3" - "vitest": ^4.1.11 + "vite": ^8.3.4 + "vitest": ^5.0.3 catalogs: # Expo-only packages. Libraries shared with the other testers come from the diff --git a/tests/integration/package.json b/tests/integration/package.json index c098876ce..0c72e4e33 100644 --- a/tests/integration/package.json +++ b/tests/integration/package.json @@ -5,7 +5,7 @@ "private": true, "type": "module", "engines": { - "node": ">=22" + "node": ">=22.12.0" }, "scripts": { "test": "vitest run", @@ -15,8 +15,6 @@ "@babel/runtime": "^7.29.7", "@callstack/repack": "workspace:*", "@module-federation/enhanced": "2.0.1", - "@module-federation/enhanced-v15": "npm:@module-federation/enhanced@0.15.0", - "@module-federation/enhanced-v21": "npm:@module-federation/enhanced@0.21.0", "@react-native/babel-preset-current": "npm:@react-native/babel-preset@0.88.0-rc.3", "@react-native/babel-preset-legacy": "npm:@react-native/babel-preset@0.87.0", "@rspack/core": "catalog:", @@ -25,6 +23,7 @@ "hermes-parser": "0.36.0", "memfs": "^4.11.1", "typescript": "catalog:", + "vite": "catalog:", "vitest": "catalog:", "webpack": "catalog:", "webpack-virtual-modules": "^0.6.2" diff --git a/tests/integration/src/helpers.ts b/tests/integration/src/helpers.ts index ea231fe62..f75c69341 100644 --- a/tests/integration/src/helpers.ts +++ b/tests/integration/src/helpers.ts @@ -91,7 +91,7 @@ export function getReactNativeVirtualModules( 'node_modules/react-native/Libraries/Image/AssetRegistry.js': 'module.exports = { registerAsset: (spec) => spec };', 'node_modules/react-native/Libraries/Image/AssetSourceResolver.js': ` - module.exports = class AssetSourceResolver { + exports.default = class AssetSourceResolver { constructor(a, b, c) { this.asset = c; } diff --git a/tests/integration/src/plugins/NativeEntryPlugin.test.ts b/tests/integration/src/plugins/NativeEntryPlugin.test.ts index 5dc64768c..eca1825c5 100644 --- a/tests/integration/src/plugins/NativeEntryPlugin.test.ts +++ b/tests/integration/src/plugins/NativeEntryPlugin.test.ts @@ -4,22 +4,8 @@ import { plugins } from '@callstack/repack'; import type { Configuration } from '@rspack/core'; import { createFsFromVolume, Volume } from 'memfs'; import { describe, expect, inject, it } from 'vitest'; -// Webpack throws when multiple versions of @module-federation/enhanced register -// serializers with the same key. Patch ObjectMiddleware.register to allow -// re-registration since we externalize all MF modules and never use serialization. -// @ts-expect-error no types for internal webpack module -import ObjectMiddleware from 'webpack/lib/serialization/ObjectMiddleware'; import { createCompiler, createVirtualModulePlugin } from '../helpers.js'; -const _register = ObjectMiddleware.register.bind(ObjectMiddleware); -ObjectMiddleware.register = (...args: unknown[]) => { - try { - _register(...args); - } catch (e: any) { - if (!e.message?.includes('is already registered')) throw e; - } -}; - const __dirname = path.dirname(fileURLToPath(import.meta.url)); const REACT_NATIVE_PATH = path.join(__dirname, '__fixtures__', 'react-native'); const REPO_ROOT = path.resolve(__dirname, '..', '..', '..', '..'); @@ -301,47 +287,8 @@ describe('NativeEntryPlugin', () => { }); }); - describe('with Module Federation v1', () => { - it('should execute polyfills runtime module before MF v1 startup', async () => { - const { code } = await compileBundle( - { - './index.js': 'globalThis.__APP_ENTRY__ = true;', - './App.js': 'export default globalThis.__FEDERATED_EXPORT__ = true;', - }, - [ - new plugins.ModuleFederationPluginV1({ - name: 'testContainer', - exposes: { - './App': './App.js', - }, - shared: { - react: { singleton: true, eager: true }, - 'react-native': { singleton: true, eager: true }, - }, - reactNativeDeepImports: false, - }), - ] - ); - - // Polyfill modules were processed through the loader pipeline - expect(code).toContain('__POLYFILL_1__'); - expect(code).toContain('__POLYFILL_2__'); - expect(code).toContain('__INITIALIZE_CORE__'); - - // With all-eager shared modules, MF v1 uses inline startup (no deferred wrapper) - // Polyfills runtime module IIFE executes before inline startup entries - expectBundleOrder(code, [ - 'webpack/runtime/repack/polyfills', - 'Load entry module and return exports', - ]); - - expect(normalizeBundle(code)).toMatchSnapshot(); - }); - }); - + // Lowest supported @module-federation/enhanced version (peer range >=2.0.0). const MF_V2_VERSIONS = [ - { version: '0.15.0', pkg: '@module-federation/enhanced-v15' }, - { version: '0.21.0', pkg: '@module-federation/enhanced-v21' }, { version: '2.0.1', pkg: '@module-federation/enhanced' }, ]; diff --git a/tests/integration/src/plugins/__snapshots__/rspack/NativeEntryPlugin.test.ts.snap b/tests/integration/src/plugins/__snapshots__/rspack/NativeEntryPlugin.test.ts.snap index 410b2ec7b..023e5d0a3 100644 --- a/tests/integration/src/plugins/__snapshots__/rspack/NativeEntryPlugin.test.ts.snap +++ b/tests/integration/src/plugins/__snapshots__/rspack/NativeEntryPlugin.test.ts.snap @@ -1,1149 +1,6 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`NativeEntryPlugin > with Module Federation v1 > should execute polyfills runtime module before MF v1 startup 1`] = ` -"(() => { // webpackBootstrap -var __webpack_modules__ = ({ -"../../../../packages/repack/dist/modules/IncludeModules.js": -/*!******************************************************************!*\\ - !*** ../../../../packages/repack/dist/modules/IncludeModules.js ***! - \\******************************************************************/ -(function () { -/* - * This module is added as an entry module to prevent stripping of these React Native deep imports from the bundle. - * We use require.resolve from Rspack/Webpack to ensure these modules are included even if not directly used. - * This allows us to include the modules into the bundle without evaluating them. - * These modules are required by assetsLoader and should be shared as deep imports when using ModuleFederation. - */ - -/*require.resolve*/(Object(function webpackMissingModule() { var e = new Error("Cannot find module 'react-native/Libraries/Image/AssetRegistry'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())); -/*require.resolve*/(Object(function webpackMissingModule() { var e = new Error("Cannot find module 'react-native/Libraries/Image/AssetSourceResolver'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())); - -}), -"../../../../packages/repack/dist/modules/InitializeScriptManager.js": -/*!***************************************************************************!*\\ - !*** ../../../../packages/repack/dist/modules/InitializeScriptManager.js ***! - \\***************************************************************************/ -(function () { -throw new Error(" × Module parse failed:\\n ╰─▶ × JavaScript parse error: 'import', and 'export' cannot be used outside of module code\\n ╭─[1:0]\\n 1 │ import { ScriptManager } from './ScriptManager/ScriptManager.js';\\n · ──────\\n 2 │ ScriptManager.init();\\n ╰────\\n \\n help: \\n You may need an appropriate loader to handle this file type.\\n"); - - -}), -"./__fixtures__/react-native/Libraries/Core/InitializeCore.js": -/*!********************************************************************!*\\ - !*** ./__fixtures__/react-native/Libraries/Core/InitializeCore.js ***! - \\********************************************************************/ -(function () { -globalThis.__INITIALIZE_CORE__ = true; - - -}), -"./__fixtures__/react-native/polyfill1.js": -/*!************************************************!*\\ - !*** ./__fixtures__/react-native/polyfill1.js ***! - \\************************************************/ -(function () { -globalThis.__POLYFILL_1__ = true; - - -}), -"./__fixtures__/react-native/polyfill2.js": -/*!************************************************!*\\ - !*** ./__fixtures__/react-native/polyfill2.js ***! - \\************************************************/ -(function () { -globalThis.__POLYFILL_2__ = true; - - -}), -"./index.js": -/*!******************!*\\ - !*** ./index.js ***! - \\******************/ -(function (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { -"use strict"; -__webpack_require__.r(__webpack_exports__); -globalThis.__APP_ENTRY__ = true; - -}), - -}); -/************************************************************************/ -// The module cache -var __webpack_module_cache__ = {}; - -// The require function -function __webpack_require__(moduleId) { - -// Check if module is in cache -var cachedModule = __webpack_module_cache__[moduleId]; -if (cachedModule !== undefined) { -return cachedModule.exports; -} -// Create a new module (and put it into the cache) -var module = (__webpack_module_cache__[moduleId] = { -exports: {} -}); -// Execute the module function -__webpack_modules__[moduleId](module, module.exports, __webpack_require__); - -// Return the exports of the module -return module.exports; - -} - -// expose the modules object (__webpack_modules__) -__webpack_require__.m = __webpack_modules__; - -// expose the module cache -__webpack_require__.c = __webpack_module_cache__; - -/************************************************************************/ -// webpack/runtime/has_own_property -(() => { -__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -})(); -// webpack/runtime/make_namespace_object -(() => { -// define __esModule on exports -__webpack_require__.r = (exports) => { - if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { - Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); - } - Object.defineProperty(exports, '__esModule', { value: true }); -}; -})(); -// webpack/runtime/rspack_version -(() => { -__webpack_require__.rv = () => ("1.6.0") -})(); -// webpack/runtime/sharing -(() => { - -__webpack_require__.S = {}; -__webpack_require__.initializeSharingData = { scopeToSharingDataMapping: { }, uniqueName: "" }; -var initPromises = {}; -var initTokens = {}; -__webpack_require__.I = function(name, initScope) { - if (!initScope) initScope = []; - // handling circular init calls - var initToken = initTokens[name]; - if (!initToken) initToken = initTokens[name] = {}; - if (initScope.indexOf(initToken) >= 0) return; - initScope.push(initToken); - // only runs once - if (initPromises[name]) return initPromises[name]; - // creates a new share scope if needed - if (!__webpack_require__.o(__webpack_require__.S, name)) - __webpack_require__.S[name] = {}; - // runs all init snippets from all modules reachable - var scope = __webpack_require__.S[name]; - var warn = function (msg) { - if (typeof console !== "undefined" && console.warn) console.warn(msg); - }; - var uniqueName = __webpack_require__.initializeSharingData.uniqueName; - var register = function (name, version, factory, eager) { - var versions = (scope[name] = scope[name] || {}); - var activeVersion = versions[version]; - if ( - !activeVersion || - (!activeVersion.loaded && - (!eager != !activeVersion.eager - ? eager - : uniqueName > activeVersion.from)) - ) - versions[version] = { get: factory, from: uniqueName, eager: !!eager }; - }; - var initExternal = function (id) { - var handleError = function (err) { - warn("Initialization of sharing external failed: " + err); - }; - try { - var module = __webpack_require__(id); - if (!module) return; - var initFn = function (module) { - return ( - module && - module.init && - module.init(__webpack_require__.S[name], initScope) - ); - }; - if (module.then) return promises.push(module.then(initFn, handleError)); - var initResult = initFn(module); - if (initResult && initResult.then) - return promises.push(initResult["catch"](handleError)); - } catch (err) { - handleError(err); - } - }; - var promises = []; - var scopeToSharingDataMapping = __webpack_require__.initializeSharingData.scopeToSharingDataMapping; - if (scopeToSharingDataMapping[name]) { - scopeToSharingDataMapping[name].forEach(function (stage) { - if (typeof stage === "object") register(stage.name, stage.version, stage.factory, stage.eager); - else initExternal(stage) - }); - } - if (!promises.length) return (initPromises[name] = 1); - return (initPromises[name] = Promise.all(promises).then(function () { - return (initPromises[name] = 1); - })); -}; - - -})(); -// webpack/runtime/repack/polyfills -(() => { -__webpack_require__("./__fixtures__/react-native/polyfill1.js"); -__webpack_require__("./__fixtures__/react-native/polyfill2.js"); -})(); -// webpack/runtime/consumes_loading -(() => { - -__webpack_require__.consumesLoadingData = { chunkMapping: {}, moduleIdToConsumeDataMapping: {}, initialConsumes: [] }; -var splitAndConvert = function(str) { - return str.split(".").map(function(item) { - return +item == item ? +item : item; - }); -}; -var parseRange = function(str) { - // see https://docs.npmjs.com/misc/semver#range-grammar for grammar - var parsePartial = function(str) { - var match = /^([^-+]+)?(?:-([^+]+))?(?:\\+(.+))?$/.exec(str); - var ver = match[1] ? [0].concat(splitAndConvert(match[1])) : [0]; - if (match[2]) { - ver.length++; - ver.push.apply(ver, splitAndConvert(match[2])); - } - - // remove trailing any matchers - let last = ver[ver.length - 1]; - while ( - ver.length && - (last === undefined || /^[*xX]$/.test(/** @type {string} */ (last))) - ) { - ver.pop(); - last = ver[ver.length - 1]; - } - - return ver; - }; - var toFixed = function(range) { - if (range.length === 1) { - // Special case for "*" is "x.x.x" instead of "=" - return [0]; - } else if (range.length === 2) { - // Special case for "1" is "1.x.x" instead of "=1" - return [1].concat(range.slice(1)); - } else if (range.length === 3) { - // Special case for "1.2" is "1.2.x" instead of "=1.2" - return [2].concat(range.slice(1)); - } else { - return [range.length].concat(range.slice(1)); - } - }; - var negate = function(range) { - return [-range[0] - 1].concat(range.slice(1)); - }; - var parseSimple = function(str) { - // simple ::= primitive | partial | tilde | caret - // primitive ::= ( '<' | '>' | '>=' | '<=' | '=' | '!' ) ( ' ' ) * partial - // tilde ::= '~' ( ' ' ) * partial - // caret ::= '^' ( ' ' ) * partial - const match = /^(\\^|~|<=|<|>=|>|=|v|!)/.exec(str); - const start = match ? match[0] : ""; - const remainder = parsePartial( - start.length ? str.slice(start.length).trim() : str.trim() - ); - switch (start) { - case "^": - if (remainder.length > 1 && remainder[1] === 0) { - if (remainder.length > 2 && remainder[2] === 0) { - return [3].concat(remainder.slice(1)); - } - return [2].concat(remainder.slice(1)); - } - return [1].concat(remainder.slice(1)); - case "~": - return [2].concat(remainder.slice(1)); - case ">=": - return remainder; - case "=": - case "v": - case "": - return toFixed(remainder); - case "<": - return negate(remainder); - case ">": { - // and( >=, not( = ) ) => >=, =, not, and - const fixed = toFixed(remainder); - return [, fixed, 0, remainder, 2]; - } - case "<=": - // or( <, = ) => <, =, or - return [, toFixed(remainder), negate(remainder), 1]; - case "!": { - // not = - const fixed = toFixed(remainder); - return [, fixed, 0]; - } - default: - throw new Error("Unexpected start value"); - } - }; - var combine = function(items, fn) { - if (items.length === 1) return items[0]; - const arr = []; - for (const item of items.slice().reverse()) { - if (0 in item) { - arr.push(item); - } else { - arr.push.apply(arr, item.slice(1)); - } - } - return [,].concat(arr, items.slice(1).map(() => fn)); - }; - var parseRange = function(str) { - // range ::= hyphen | simple ( ' ' ( ' ' ) * simple ) * | '' - // hyphen ::= partial ( ' ' ) * ' - ' ( ' ' ) * partial - const items = str.split(/\\s+-\\s+/); - if (items.length === 1) { - str = str.trim(); - const items = []; - const r = /[-0-9A-Za-z]\\s+/g; - var start = 0; - var match; - while ((match = r.exec(str))) { - const end = match.index + 1; - items.push(parseSimple(str.slice(start, end).trim())); - start = end; - } - items.push(parseSimple(str.slice(start).trim())); - return combine(items, 2); - } - const a = parsePartial(items[0]); - const b = parsePartial(items[1]); - // >=a <=b => and( >=a, or( >=a, = a.length) return i < b.length && (typeof b[i])[0] != "u"; - - var aValue = a[i]; - var aType = (typeof aValue)[0]; - - // Handles first column in table - if (i >= b.length) return aType == "u"; - - var bValue = b[i]; - var bType = (typeof bValue)[0]; - - if (aType == bType) { - if (aType != "o" && aType != "u" && aValue != bValue) { - return aValue < bValue; - } - i++; - } else { - // Handles remaining cases - if (aType == "o" && bType == "n") return true; - return bType == "s" || aType == "u"; - } - } -} -var rangeToString = function(range) { - var fixCount = range[0]; - var str = ""; - if (range.length === 1) { - return "*"; - } else if (fixCount + 0.5) { - str += - fixCount == 0 - ? ">=" - : fixCount == -1 - ? "<" - : fixCount == 1 - ? "^" - : fixCount == 2 - ? "~" - : fixCount > 0 - ? "=" - : "!="; - var needDot = 1; - for (var i = 1; i < range.length; i++) { - var item = range[i]; - var t = (typeof item)[0]; - needDot--; - str += - t == "u" - ? // undefined: prerelease marker, add an "-" - "-" - : // number or string: add the item, set flag to add an "." between two of them - (needDot > 0 ? "." : "") + ((needDot = 2), item); - } - return str; - } else { - var stack = []; - for (var i = 1; i < range.length; i++) { - var item = range[i]; - stack.push( - item === 0 - ? "not(" + pop() + ")" - : item === 1 - ? "(" + pop() + " || " + pop() + ")" - : item === 2 - ? stack.pop() + " " + stack.pop() - : rangeToString(item) - ); - } - return pop(); - } - function pop() { - return stack.pop().replace(/^\\((.+)\\)$/, "$1"); - } -} -var satisfy = function(range, version) { - if (0 in range) { - version = parseVersion(version); - var fixCount = /** @type {number} */ (range[0]); - // when negated is set it swill set for < instead of >= - var negated = fixCount < 0; - if (negated) fixCount = -fixCount - 1; - for (var i = 0, j = 1, isEqual = true; ; j++, i++) { - // cspell:word nequal nequ - - // when isEqual = true: - // range version: EOA/object undefined number string - // EOA equal block big-ver big-ver - // undefined bigger next big-ver big-ver - // number smaller block cmp big-cmp - // fixed number smaller block cmp-fix differ - // string smaller block differ cmp - // fixed string smaller block small-cmp cmp-fix - - // when isEqual = false: - // range version: EOA/object undefined number string - // EOA nequal block next-ver next-ver - // undefined nequal block next-ver next-ver - // number nequal block next next - // fixed number nequal block next next (this never happens) - // string nequal block next next - // fixed string nequal block next next (this never happens) - - // EOA end of array - // equal (version is equal range): - // when !negated: return true, - // when negated: return false - // bigger (version is bigger as range): - // when fixed: return false, - // when !negated: return true, - // when negated: return false, - // smaller (version is smaller as range): - // when !negated: return false, - // when negated: return true - // nequal (version is not equal range (> resp <)): return true - // block (version is in different prerelease area): return false - // differ (version is different from fixed range (string vs. number)): return false - // next: continues to the next items - // next-ver: when fixed: return false, continues to the next item only for the version, sets isEqual=false - // big-ver: when fixed || negated: return false, continues to the next item only for the version, sets isEqual=false - // next-nequ: continues to the next items, sets isEqual=false - // cmp (negated === false): version < range => return false, version > range => next-nequ, else => next - // cmp (negated === true): version > range => return false, version < range => next-nequ, else => next - // cmp-fix: version == range => next, else => return false - // big-cmp: when negated => return false, else => next-nequ - // small-cmp: when negated => next-nequ, else => return false - - var rangeType = j < range.length ? (typeof range[j])[0] : ""; - - var versionValue; - var versionType; - - // Handles first column in both tables (end of version or object) - if ( - i >= version.length || - ((versionValue = version[i]), - (versionType = (typeof versionValue)[0]) == "o") - ) { - // Handles nequal - if (!isEqual) return true; - // Handles bigger - if (rangeType == "u") return j > fixCount && !negated; - // Handles equal and smaller: (range === EOA) XOR negated - return (rangeType == "") != negated; // equal + smaller - } - - // Handles second column in both tables (version = undefined) - if (versionType == "u") { - if (!isEqual || rangeType != "u") { - return false; - } - } - - // switch between first and second table - else if (isEqual) { - // Handle diagonal - if (rangeType == versionType) { - if (j <= fixCount) { - // Handles "cmp-fix" cases - if (versionValue != range[j]) { - return false; - } - } else { - // Handles "cmp" cases - if (negated ? versionValue > range[j] : versionValue < range[j]) { - return false; - } - if (versionValue != range[j]) isEqual = false; - } - } - - // Handle big-ver - else if (rangeType != "s" && rangeType != "n") { - if (negated || j <= fixCount) return false; - isEqual = false; - j--; - } - - // Handle differ, big-cmp and small-cmp - else if (j <= fixCount || versionType < rangeType != negated) { - return false; - } else { - isEqual = false; - } - } else { - // Handles all "next-ver" cases in the second table - if (rangeType != "s" && rangeType != "n") { - isEqual = false; - j--; - } - - // next is applied by default - } - } - } - /** @type {(boolean | number)[]} */ - var stack = []; - var p = stack.pop.bind(stack); - for (var i = 1; i < range.length; i++) { - var item = /** @type {SemVerRange | 0 | 1 | 2} */ (range[i]); - stack.push( - item == 1 - ? p() | p() - : item == 2 - ? p() & p() - : item - ? satisfy(item, version) - : !p() - ); - } - return !!p(); -} -var ensureExistence = function(scopeName, key) { - var scope = __webpack_require__.S[scopeName]; - if(!scope || !__webpack_require__.o(scope, key)) throw new Error("Shared module " + key + " doesn't exist in shared scope " + scopeName); - return scope; -}; -var findVersion = function(scope, key) { - var versions = scope[key]; - var key = Object.keys(versions).reduce(function(a, b) { - return !a || versionLt(a, b) ? b : a; - }, 0); - return key && versions[key] -}; -var findSingletonVersionKey = function(scope, key) { - var versions = scope[key]; - return Object.keys(versions).reduce(function(a, b) { - return !a || (!versions[a].loaded && versionLt(a, b)) ? b : a; - }, 0); -}; -var getInvalidSingletonVersionMessage = function(scope, key, version, requiredVersion) { - return "Unsatisfied version " + version + " from " + (version && scope[key][version].from) + " of shared singleton module " + key + " (required " + rangeToString(requiredVersion) + ")" -}; -var getSingleton = function(scope, scopeName, key, requiredVersion) { - var version = findSingletonVersionKey(scope, key); - return get(scope[key][version]); -}; -var getSingletonVersion = function(scope, scopeName, key, requiredVersion) { - var version = findSingletonVersionKey(scope, key); - if (!satisfy(requiredVersion, version)) warn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion)); - return get(scope[key][version]); -}; -var getStrictSingletonVersion = function(scope, scopeName, key, requiredVersion) { - var version = findSingletonVersionKey(scope, key); - if (!satisfy(requiredVersion, version)) throw new Error(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion)); - return get(scope[key][version]); -}; -var findValidVersion = function(scope, key, requiredVersion) { - var versions = scope[key]; - var key = Object.keys(versions).reduce(function(a, b) { - if (!satisfy(requiredVersion, b)) return a; - return !a || versionLt(a, b) ? b : a; - }, 0); - return key && versions[key] -}; -var getInvalidVersionMessage = function(scope, scopeName, key, requiredVersion) { - var versions = scope[key]; - return "No satisfying version (" + rangeToString(requiredVersion) + ") of shared module " + key + " found in shared scope " + scopeName + ".\\n" + - "Available versions: " + Object.keys(versions).map(function(key) { - return key + " from " + versions[key].from; - }).join(", "); -}; -var getValidVersion = function(scope, scopeName, key, requiredVersion) { - var entry = findValidVersion(scope, key, requiredVersion); - if(entry) return get(entry); - throw new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion)); -}; -var warn = function(msg) { - if (typeof console !== "undefined" && console.warn) console.warn(msg); -}; -var warnInvalidVersion = function(scope, scopeName, key, requiredVersion) { - warn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion)); -}; -var get = function(entry) { - entry.loaded = 1; - return entry.get() -}; -var init = function(fn) { return function(scopeName, a, b, c) { - var promise = __webpack_require__.I(scopeName); - if (promise && promise.then) return promise.then(fn.bind(fn, scopeName, __webpack_require__.S[scopeName], a, b, c)); - return fn(scopeName, __webpack_require__.S[scopeName], a, b, c); -}; }; - -var load = /*#__PURE__*/ init(function(scopeName, scope, key) { - ensureExistence(scopeName, key); - return get(findVersion(scope, key)); -}); -var loadFallback = /*#__PURE__*/ init(function(scopeName, scope, key, fallback) { - return scope && __webpack_require__.o(scope, key) ? get(findVersion(scope, key)) : fallback(); -}); -var loadVersionCheck = /*#__PURE__*/ init(function(scopeName, scope, key, version) { - ensureExistence(scopeName, key); - return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key)); -}); -var loadSingleton = /*#__PURE__*/ init(function(scopeName, scope, key) { - ensureExistence(scopeName, key); - return getSingleton(scope, scopeName, key); -}); -var loadSingletonVersionCheck = /*#__PURE__*/ init(function(scopeName, scope, key, version) { - ensureExistence(scopeName, key); - return getSingletonVersion(scope, scopeName, key, version); -}); -var loadStrictVersionCheck = /*#__PURE__*/ init(function(scopeName, scope, key, version) { - ensureExistence(scopeName, key); - return getValidVersion(scope, scopeName, key, version); -}); -var loadStrictSingletonVersionCheck = /*#__PURE__*/ init(function(scopeName, scope, key, version) { - ensureExistence(scopeName, key); - return getStrictSingletonVersion(scope, scopeName, key, version); -}); -var loadVersionCheckFallback = /*#__PURE__*/ init(function(scopeName, scope, key, version, fallback) { - if(!scope || !__webpack_require__.o(scope, key)) return fallback(); - return get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key)); -}); -var loadSingletonFallback = /*#__PURE__*/ init(function(scopeName, scope, key, fallback) { - if(!scope || !__webpack_require__.o(scope, key)) return fallback(); - return getSingleton(scope, scopeName, key); -}); -var loadSingletonVersionCheckFallback = /*#__PURE__*/ init(function(scopeName, scope, key, version, fallback) { - if(!scope || !__webpack_require__.o(scope, key)) return fallback(); - return getSingletonVersion(scope, scopeName, key, version); -}); -var loadStrictVersionCheckFallback = /*#__PURE__*/ init(function(scopeName, scope, key, version, fallback) { - var entry = scope && __webpack_require__.o(scope, key) && findValidVersion(scope, key, version); - return entry ? get(entry) : fallback(); -}); -var loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init(function(scopeName, scope, key, version, fallback) { - if(!scope || !__webpack_require__.o(scope, key)) return fallback(); - return getStrictSingletonVersion(scope, scopeName, key, version); -}); -var resolveHandler = function(data) { - var strict = false - var singleton = false - var versionCheck = false - var fallback = false - var args = [data.shareScope, data.shareKey]; - if (data.requiredVersion) { - if (data.strictVersion) strict = true; - if (data.singleton) singleton = true; - args.push(parseRange(data.requiredVersion)); - versionCheck = true - } else if (data.singleton) singleton = true; - if (data.fallback) { - fallback = true; - args.push(data.fallback); - } - if (strict && singleton && versionCheck && fallback) return function() { return loadStrictSingletonVersionCheckFallback.apply(null, args); } - if (strict && versionCheck && fallback) return function() { return loadStrictVersionCheckFallback.apply(null, args); } - if (singleton && versionCheck && fallback) return function() { return loadSingletonVersionCheckFallback.apply(null, args); } - if (strict && singleton && versionCheck) return function() { return loadStrictSingletonVersionCheck.apply(null, args); } - if (singleton && fallback) return function() { return loadSingletonFallback.apply(null, args); } - if (versionCheck && fallback) return function() { return loadVersionCheckFallback.apply(null, args); } - if (strict && versionCheck) return function() { return loadStrictVersionCheck.apply(null, args); } - if (singleton && versionCheck) return function() { return loadSingletonVersionCheck.apply(null, args); } - if (singleton) return function() { return loadSingleton.apply(null, args); } - if (versionCheck) return function() { return loadVersionCheck.apply(null, args); } - if (fallback) return function() { return loadFallback.apply(null, args); } - return function() { return load.apply(null, args); } -}; -var installedModules = {}; - -})(); -// webpack/runtime/rspack_unique_id -(() => { -__webpack_require__.ruid = "bundler=rspack@1.6.0"; - -})(); -/************************************************************************/ -// module factories are used so entry inlining is disabled -// startup -// Load entry module and return exports -__webpack_require__("./__fixtures__/react-native/polyfill1.js"); -__webpack_require__("./__fixtures__/react-native/polyfill2.js"); -__webpack_require__("./__fixtures__/react-native/Libraries/Core/InitializeCore.js"); -__webpack_require__("../../../../packages/repack/dist/modules/InitializeScriptManager.js"); -__webpack_require__("../../../../packages/repack/dist/modules/IncludeModules.js"); -var __webpack_exports__ = __webpack_require__("./index.js"); -})() -;" -`; - -exports[`NativeEntryPlugin > with Module Federation v2 ('0.15.0') > should execute polyfills runtime module before MF v2 federation runtime 1`] = ` -"(() => { // webpackBootstrap -var __webpack_modules__ = ({ -"@module-federation/runtime/rspack.js!=!data:text/javascript,import __module_federation_bundler_runtime__ from \\"/node_modules/.pnpm/@module-federation+webpack-bundler-runtime@0.15.0/node_modules/@module-federation/webpack-bundler-runtime/dist/index.cjs.cjs\\";const __module_federation_runtime_plugins__ = [];const __module_federation_remote_infos__ = {};const __module_federation_container_name__ = \\"testContainer\\";const __module_federation_share_strategy__ = \\"version-first\\";if((__webpack_require__.initializeSharingData||__webpack_require__.initializeExposesData)&&__webpack_require__.federation){var __webpack_require___remotesLoadingData,__webpack_require___remotesLoadingData1,__webpack_require___initializeSharingData,__webpack_require___consumesLoadingData,__webpack_require___consumesLoadingData1,__webpack_require___initializeExposesData,__webpack_require___consumesLoadingData2;const override=(obj,key,value)=>{if(!obj)return;if(obj[key])obj[key]=value};const merge=(obj,key,fn)=>{const value=fn();if(Array.isArray(value)){var _obj,_key;var _;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=[];obj[key].push(...value)}else if(typeof value===\\"object\\"&&value!==null){var _obj1,_key1;var _1;(_1=(_obj1=obj)[_key1=key])!==null&&_1!==void 0?_1:_obj1[_key1]={};Object.assign(obj[key],value)}};const early=(obj,key,initial)=>{var _obj,_key;var _;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=initial()};var __webpack_require___remotesLoadingData_chunkMapping;const remotesLoadingChunkMapping=(__webpack_require___remotesLoadingData_chunkMapping=(__webpack_require___remotesLoadingData=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData===void 0?void 0:__webpack_require___remotesLoadingData.chunkMapping)!==null&&__webpack_require___remotesLoadingData_chunkMapping!==void 0?__webpack_require___remotesLoadingData_chunkMapping:{};var __webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping;const remotesLoadingModuleIdToRemoteDataMapping=(__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping=(__webpack_require___remotesLoadingData1=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData1===void 0?void 0:__webpack_require___remotesLoadingData1.moduleIdToRemoteDataMapping)!==null&&__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping!==void 0?__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping:{};var __webpack_require___initializeSharingData_scopeToSharingDataMapping;const initializeSharingScopeToInitDataMapping=(__webpack_require___initializeSharingData_scopeToSharingDataMapping=(__webpack_require___initializeSharingData=__webpack_require__.initializeSharingData)===null||__webpack_require___initializeSharingData===void 0?void 0:__webpack_require___initializeSharingData.scopeToSharingDataMapping)!==null&&__webpack_require___initializeSharingData_scopeToSharingDataMapping!==void 0?__webpack_require___initializeSharingData_scopeToSharingDataMapping:{};var __webpack_require___consumesLoadingData_chunkMapping;const consumesLoadingChunkMapping=(__webpack_require___consumesLoadingData_chunkMapping=(__webpack_require___consumesLoadingData=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData===void 0?void 0:__webpack_require___consumesLoadingData.chunkMapping)!==null&&__webpack_require___consumesLoadingData_chunkMapping!==void 0?__webpack_require___consumesLoadingData_chunkMapping:{};var __webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping;const consumesLoadingModuleToConsumeDataMapping=(__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping=(__webpack_require___consumesLoadingData1=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData1===void 0?void 0:__webpack_require___consumesLoadingData1.moduleIdToConsumeDataMapping)!==null&&__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping!==void 0?__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping:{};const consumesLoadinginstalledModules={};const initializeSharingInitPromises=[];const initializeSharingInitTokens={};const containerShareScope=(__webpack_require___initializeExposesData=__webpack_require__.initializeExposesData)===null||__webpack_require___initializeExposesData===void 0?void 0:__webpack_require___initializeExposesData.shareScope;for(const key in __module_federation_bundler_runtime__){__webpack_require__.federation[key]=__module_federation_bundler_runtime__[key]}early(__webpack_require__.federation,\\"consumesLoadingModuleToHandlerMapping\\",()=>{const consumesLoadingModuleToHandlerMapping={};for(let[moduleId,data]of Object.entries(consumesLoadingModuleToConsumeDataMapping)){consumesLoadingModuleToHandlerMapping[moduleId]={getter:data.fallback,shareInfo:{shareConfig:{fixedDependencies:false,requiredVersion:data.requiredVersion,strictVersion:data.strictVersion,singleton:data.singleton,eager:data.eager},scope:[data.shareScope]},shareKey:data.shareKey}}return consumesLoadingModuleToHandlerMapping});early(__webpack_require__.federation,\\"initOptions\\",()=>({}));early(__webpack_require__.federation.initOptions,\\"name\\",()=>__module_federation_container_name__);early(__webpack_require__.federation.initOptions,\\"shareStrategy\\",()=>__module_federation_share_strategy__);early(__webpack_require__.federation.initOptions,\\"shared\\",()=>{const shared={};for(let[scope,stages]of Object.entries(initializeSharingScopeToInitDataMapping)){for(let stage of stages){if(typeof stage===\\"object\\"&&stage!==null){const{name,version,factory,eager,singleton,requiredVersion,strictVersion}=stage;const shareConfig={};const isValidValue=function(val){return typeof val!==\\"undefined\\"};if(isValidValue(singleton)){shareConfig.singleton=singleton}if(isValidValue(requiredVersion)){shareConfig.requiredVersion=requiredVersion}if(isValidValue(eager)){shareConfig.eager=eager}if(isValidValue(strictVersion)){shareConfig.strictVersion=strictVersion}const options={version,scope:[scope],shareConfig,get:factory};if(shared[name]){shared[name].push(options)}else{shared[name]=[options]}}}}return shared});merge(__webpack_require__.federation.initOptions,\\"remotes\\",()=>Object.values(__module_federation_remote_infos__).flat().filter(remote=>remote.externalType===\\"script\\"));merge(__webpack_require__.federation.initOptions,\\"plugins\\",()=>__module_federation_runtime_plugins__);early(__webpack_require__.federation,\\"bundlerRuntimeOptions\\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions,\\"remotes\\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"chunkMapping\\",()=>remotesLoadingChunkMapping);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"remoteInfos\\",()=>__module_federation_remote_infos__);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"idToExternalAndNameMapping\\",()=>{const remotesLoadingIdToExternalAndNameMappingMapping={};for(let[moduleId,data]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){remotesLoadingIdToExternalAndNameMappingMapping[moduleId]=[data.shareScope,data.name,data.externalModuleId,data.remoteName]}return remotesLoadingIdToExternalAndNameMappingMapping});early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"webpackRequire\\",()=>__webpack_require__);merge(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"idToRemoteMap\\",()=>{const idToRemoteMap={};for(let[id,remoteData]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){const info=__module_federation_remote_infos__[remoteData.remoteName];if(info)idToRemoteMap[id]=info}return idToRemoteMap});override(__webpack_require__,\\"S\\",__webpack_require__.federation.bundlerRuntime.S);if(__webpack_require__.federation.attachShareScopeMap){__webpack_require__.federation.attachShareScopeMap(__webpack_require__)}override(__webpack_require__.f,\\"remotes\\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.remotes({chunkId,promises,chunkMapping:remotesLoadingChunkMapping,idToExternalAndNameMapping:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:__webpack_require__}));override(__webpack_require__.f,\\"consumes\\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.consumes({chunkId,promises,chunkMapping:consumesLoadingChunkMapping,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping,installedModules:consumesLoadinginstalledModules,webpackRequire:__webpack_require__}));override(__webpack_require__,\\"I\\",(name,initScope)=>__webpack_require__.federation.bundlerRuntime.I({shareScopeName:name,initScope,initPromises:initializeSharingInitPromises,initTokens:initializeSharingInitTokens,webpackRequire:__webpack_require__}));override(__webpack_require__,\\"initContainer\\",(shareScope,initScope,remoteEntryInitOptions)=>__webpack_require__.federation.bundlerRuntime.initContainerEntry({shareScope,initScope,remoteEntryInitOptions,shareScopeKey:containerShareScope,webpackRequire:__webpack_require__}));override(__webpack_require__,\\"getContainer\\",(module1,getScope)=>{var moduleMap=__webpack_require__.initializeExposesData.moduleMap;__webpack_require__.R=getScope;getScope=Object.prototype.hasOwnProperty.call(moduleMap,module1)?moduleMap[module1]():Promise.resolve().then(()=>{throw new Error('Module \\"'+module1+'\\" does not exist in container.')});__webpack_require__.R=undefined;return getScope});__webpack_require__.federation.instance=__webpack_require__.federation.runtime.init(__webpack_require__.federation.initOptions);if((__webpack_require___consumesLoadingData2=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData2===void 0?void 0:__webpack_require___consumesLoadingData2.initialConsumes){__webpack_require__.federation.bundlerRuntime.installInitialConsumes({webpackRequire:__webpack_require__,installedModules:consumesLoadinginstalledModules,initialConsumes:__webpack_require__.consumesLoadingData.initialConsumes,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping})}}": -/*!*********************************************!*\\ - !*** external "globalThis.__MF_EXTERNAL__" ***! - \\*********************************************/ -(function (module) { -"use strict"; -module.exports = globalThis.__MF_EXTERNAL__; - -}), -"../../../../packages/repack/dist/modules/IncludeModules.js": -/*!******************************************************************!*\\ - !*** ../../../../packages/repack/dist/modules/IncludeModules.js ***! - \\******************************************************************/ -(function () { -/* - * This module is added as an entry module to prevent stripping of these React Native deep imports from the bundle. - * We use require.resolve from Rspack/Webpack to ensure these modules are included even if not directly used. - * This allows us to include the modules into the bundle without evaluating them. - * These modules are required by assetsLoader and should be shared as deep imports when using ModuleFederation. - */ - -/*require.resolve*/(Object(function webpackMissingModule() { var e = new Error("Cannot find module 'react-native/Libraries/Image/AssetRegistry'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())); -/*require.resolve*/(Object(function webpackMissingModule() { var e = new Error("Cannot find module 'react-native/Libraries/Image/AssetSourceResolver'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())); - -}), -"../../../../packages/repack/dist/modules/InitializeScriptManager.js": -/*!***************************************************************************!*\\ - !*** ../../../../packages/repack/dist/modules/InitializeScriptManager.js ***! - \\***************************************************************************/ -(function () { -throw new Error(" × Module parse failed:\\n ╰─▶ × JavaScript parse error: 'import', and 'export' cannot be used outside of module code\\n ╭─[1:0]\\n 1 │ import { ScriptManager } from './ScriptManager/ScriptManager.js';\\n · ──────\\n 2 │ ScriptManager.init();\\n ╰────\\n \\n help: \\n You may need an appropriate loader to handle this file type.\\n"); - - -}), -"./__fixtures__/react-native/Libraries/Core/InitializeCore.js": -/*!********************************************************************!*\\ - !*** ./__fixtures__/react-native/Libraries/Core/InitializeCore.js ***! - \\********************************************************************/ -(function () { -globalThis.__INITIALIZE_CORE__ = true; - - -}), -"./__fixtures__/react-native/polyfill1.js": -/*!************************************************!*\\ - !*** ./__fixtures__/react-native/polyfill1.js ***! - \\************************************************/ -(function () { -globalThis.__POLYFILL_1__ = true; - - -}), -"./__fixtures__/react-native/polyfill2.js": -/*!************************************************!*\\ - !*** ./__fixtures__/react-native/polyfill2.js ***! - \\************************************************/ -(function () { -globalThis.__POLYFILL_2__ = true; - - -}), -"./index.js": -/*!******************!*\\ - !*** ./index.js ***! - \\******************/ -(function (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { -"use strict"; -__webpack_require__.r(__webpack_exports__); -globalThis.__APP_ENTRY__ = true; - -}), - -}); -/************************************************************************/ -// The module cache -var __webpack_module_cache__ = {}; - -// The require function -function __webpack_require__(moduleId) { - -// Check if module is in cache -var cachedModule = __webpack_module_cache__[moduleId]; -if (cachedModule !== undefined) { -return cachedModule.exports; -} -// Create a new module (and put it into the cache) -var module = (__webpack_module_cache__[moduleId] = { -exports: {} -}); -// Execute the module function -__webpack_modules__[moduleId](module, module.exports, __webpack_require__); - -// Return the exports of the module -return module.exports; - -} - -// expose the modules object (__webpack_modules__) -__webpack_require__.m = __webpack_modules__; - -// expose the module cache -__webpack_require__.c = __webpack_module_cache__; - -// the startup function -__webpack_require__.x = () => { -// Load entry module and return exports -__webpack_require__("./__fixtures__/react-native/polyfill1.js"); -__webpack_require__("./__fixtures__/react-native/polyfill2.js"); -__webpack_require__("./__fixtures__/react-native/Libraries/Core/InitializeCore.js"); -__webpack_require__("../../../../packages/repack/dist/modules/InitializeScriptManager.js"); -__webpack_require__("../../../../packages/repack/dist/modules/IncludeModules.js"); -var __webpack_exports__ = __webpack_require__("./index.js"); -return __webpack_exports__ -}; - -/************************************************************************/ -// module_federation/runtime -(() => { - -if(!__webpack_require__.federation){ - __webpack_require__.federation = { - -chunkMatcher: function(chunkId) { - return true; -}, -rootOutputDir: "", - - }; -} - -})(); -// webpack/runtime/embed_federation_runtime -(() => { -var prevStartup = __webpack_require__.x; -var hasRun = false; -__webpack_require__.x = function() { - if (!hasRun) { - hasRun = true; - __webpack_require__("@module-federation/runtime/rspack.js!=!data:text/javascript,import __module_federation_bundler_runtime__ from \\"/node_modules/.pnpm/@module-federation+webpack-bundler-runtime@0.15.0/node_modules/@module-federation/webpack-bundler-runtime/dist/index.cjs.cjs\\";const __module_federation_runtime_plugins__ = [];const __module_federation_remote_infos__ = {};const __module_federation_container_name__ = \\"testContainer\\";const __module_federation_share_strategy__ = \\"version-first\\";if((__webpack_require__.initializeSharingData||__webpack_require__.initializeExposesData)&&__webpack_require__.federation){var __webpack_require___remotesLoadingData,__webpack_require___remotesLoadingData1,__webpack_require___initializeSharingData,__webpack_require___consumesLoadingData,__webpack_require___consumesLoadingData1,__webpack_require___initializeExposesData,__webpack_require___consumesLoadingData2;const override=(obj,key,value)=>{if(!obj)return;if(obj[key])obj[key]=value};const merge=(obj,key,fn)=>{const value=fn();if(Array.isArray(value)){var _obj,_key;var _;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=[];obj[key].push(...value)}else if(typeof value===\\"object\\"&&value!==null){var _obj1,_key1;var _1;(_1=(_obj1=obj)[_key1=key])!==null&&_1!==void 0?_1:_obj1[_key1]={};Object.assign(obj[key],value)}};const early=(obj,key,initial)=>{var _obj,_key;var _;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=initial()};var __webpack_require___remotesLoadingData_chunkMapping;const remotesLoadingChunkMapping=(__webpack_require___remotesLoadingData_chunkMapping=(__webpack_require___remotesLoadingData=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData===void 0?void 0:__webpack_require___remotesLoadingData.chunkMapping)!==null&&__webpack_require___remotesLoadingData_chunkMapping!==void 0?__webpack_require___remotesLoadingData_chunkMapping:{};var __webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping;const remotesLoadingModuleIdToRemoteDataMapping=(__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping=(__webpack_require___remotesLoadingData1=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData1===void 0?void 0:__webpack_require___remotesLoadingData1.moduleIdToRemoteDataMapping)!==null&&__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping!==void 0?__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping:{};var __webpack_require___initializeSharingData_scopeToSharingDataMapping;const initializeSharingScopeToInitDataMapping=(__webpack_require___initializeSharingData_scopeToSharingDataMapping=(__webpack_require___initializeSharingData=__webpack_require__.initializeSharingData)===null||__webpack_require___initializeSharingData===void 0?void 0:__webpack_require___initializeSharingData.scopeToSharingDataMapping)!==null&&__webpack_require___initializeSharingData_scopeToSharingDataMapping!==void 0?__webpack_require___initializeSharingData_scopeToSharingDataMapping:{};var __webpack_require___consumesLoadingData_chunkMapping;const consumesLoadingChunkMapping=(__webpack_require___consumesLoadingData_chunkMapping=(__webpack_require___consumesLoadingData=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData===void 0?void 0:__webpack_require___consumesLoadingData.chunkMapping)!==null&&__webpack_require___consumesLoadingData_chunkMapping!==void 0?__webpack_require___consumesLoadingData_chunkMapping:{};var __webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping;const consumesLoadingModuleToConsumeDataMapping=(__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping=(__webpack_require___consumesLoadingData1=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData1===void 0?void 0:__webpack_require___consumesLoadingData1.moduleIdToConsumeDataMapping)!==null&&__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping!==void 0?__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping:{};const consumesLoadinginstalledModules={};const initializeSharingInitPromises=[];const initializeSharingInitTokens={};const containerShareScope=(__webpack_require___initializeExposesData=__webpack_require__.initializeExposesData)===null||__webpack_require___initializeExposesData===void 0?void 0:__webpack_require___initializeExposesData.shareScope;for(const key in __module_federation_bundler_runtime__){__webpack_require__.federation[key]=__module_federation_bundler_runtime__[key]}early(__webpack_require__.federation,\\"consumesLoadingModuleToHandlerMapping\\",()=>{const consumesLoadingModuleToHandlerMapping={};for(let[moduleId,data]of Object.entries(consumesLoadingModuleToConsumeDataMapping)){consumesLoadingModuleToHandlerMapping[moduleId]={getter:data.fallback,shareInfo:{shareConfig:{fixedDependencies:false,requiredVersion:data.requiredVersion,strictVersion:data.strictVersion,singleton:data.singleton,eager:data.eager},scope:[data.shareScope]},shareKey:data.shareKey}}return consumesLoadingModuleToHandlerMapping});early(__webpack_require__.federation,\\"initOptions\\",()=>({}));early(__webpack_require__.federation.initOptions,\\"name\\",()=>__module_federation_container_name__);early(__webpack_require__.federation.initOptions,\\"shareStrategy\\",()=>__module_federation_share_strategy__);early(__webpack_require__.federation.initOptions,\\"shared\\",()=>{const shared={};for(let[scope,stages]of Object.entries(initializeSharingScopeToInitDataMapping)){for(let stage of stages){if(typeof stage===\\"object\\"&&stage!==null){const{name,version,factory,eager,singleton,requiredVersion,strictVersion}=stage;const shareConfig={};const isValidValue=function(val){return typeof val!==\\"undefined\\"};if(isValidValue(singleton)){shareConfig.singleton=singleton}if(isValidValue(requiredVersion)){shareConfig.requiredVersion=requiredVersion}if(isValidValue(eager)){shareConfig.eager=eager}if(isValidValue(strictVersion)){shareConfig.strictVersion=strictVersion}const options={version,scope:[scope],shareConfig,get:factory};if(shared[name]){shared[name].push(options)}else{shared[name]=[options]}}}}return shared});merge(__webpack_require__.federation.initOptions,\\"remotes\\",()=>Object.values(__module_federation_remote_infos__).flat().filter(remote=>remote.externalType===\\"script\\"));merge(__webpack_require__.federation.initOptions,\\"plugins\\",()=>__module_federation_runtime_plugins__);early(__webpack_require__.federation,\\"bundlerRuntimeOptions\\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions,\\"remotes\\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"chunkMapping\\",()=>remotesLoadingChunkMapping);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"remoteInfos\\",()=>__module_federation_remote_infos__);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"idToExternalAndNameMapping\\",()=>{const remotesLoadingIdToExternalAndNameMappingMapping={};for(let[moduleId,data]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){remotesLoadingIdToExternalAndNameMappingMapping[moduleId]=[data.shareScope,data.name,data.externalModuleId,data.remoteName]}return remotesLoadingIdToExternalAndNameMappingMapping});early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"webpackRequire\\",()=>__webpack_require__);merge(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"idToRemoteMap\\",()=>{const idToRemoteMap={};for(let[id,remoteData]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){const info=__module_federation_remote_infos__[remoteData.remoteName];if(info)idToRemoteMap[id]=info}return idToRemoteMap});override(__webpack_require__,\\"S\\",__webpack_require__.federation.bundlerRuntime.S);if(__webpack_require__.federation.attachShareScopeMap){__webpack_require__.federation.attachShareScopeMap(__webpack_require__)}override(__webpack_require__.f,\\"remotes\\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.remotes({chunkId,promises,chunkMapping:remotesLoadingChunkMapping,idToExternalAndNameMapping:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:__webpack_require__}));override(__webpack_require__.f,\\"consumes\\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.consumes({chunkId,promises,chunkMapping:consumesLoadingChunkMapping,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping,installedModules:consumesLoadinginstalledModules,webpackRequire:__webpack_require__}));override(__webpack_require__,\\"I\\",(name,initScope)=>__webpack_require__.federation.bundlerRuntime.I({shareScopeName:name,initScope,initPromises:initializeSharingInitPromises,initTokens:initializeSharingInitTokens,webpackRequire:__webpack_require__}));override(__webpack_require__,\\"initContainer\\",(shareScope,initScope,remoteEntryInitOptions)=>__webpack_require__.federation.bundlerRuntime.initContainerEntry({shareScope,initScope,remoteEntryInitOptions,shareScopeKey:containerShareScope,webpackRequire:__webpack_require__}));override(__webpack_require__,\\"getContainer\\",(module1,getScope)=>{var moduleMap=__webpack_require__.initializeExposesData.moduleMap;__webpack_require__.R=getScope;getScope=Object.prototype.hasOwnProperty.call(moduleMap,module1)?moduleMap[module1]():Promise.resolve().then(()=>{throw new Error('Module \\"'+module1+'\\" does not exist in container.')});__webpack_require__.R=undefined;return getScope});__webpack_require__.federation.instance=__webpack_require__.federation.runtime.init(__webpack_require__.federation.initOptions);if((__webpack_require___consumesLoadingData2=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData2===void 0?void 0:__webpack_require___consumesLoadingData2.initialConsumes){__webpack_require__.federation.bundlerRuntime.installInitialConsumes({webpackRequire:__webpack_require__,installedModules:consumesLoadinginstalledModules,initialConsumes:__webpack_require__.consumesLoadingData.initialConsumes,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping})}}") - } - if (typeof prevStartup === 'function') { - return prevStartup(); - } else { - console.warn('[MF] Invalid prevStartup'); - } -}; -})(); -// webpack/runtime/has_own_property -(() => { -__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -})(); -// webpack/runtime/make_namespace_object -(() => { -// define __esModule on exports -__webpack_require__.r = (exports) => { - if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { - Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); - } - Object.defineProperty(exports, '__esModule', { value: true }); -}; -})(); -// webpack/runtime/rspack_version -(() => { -__webpack_require__.rv = () => ("1.6.0") -})(); -// webpack/runtime/sharing -(() => { - -__webpack_require__.S = {}; -__webpack_require__.initializeSharingData = { scopeToSharingDataMapping: { }, uniqueName: "" }; -__webpack_require__.I = __webpack_require__.I || function() { throw new Error("should have __webpack_require__.I") } - -})(); -// webpack/runtime/repack/polyfills -(() => { -__webpack_require__("./__fixtures__/react-native/polyfill1.js"); -__webpack_require__("./__fixtures__/react-native/polyfill2.js"); -})(); -// webpack/runtime/consumes_loading -(() => { - -__webpack_require__.consumesLoadingData = { chunkMapping: {}, moduleIdToConsumeDataMapping: {}, initialConsumes: [] }; - -})(); -// webpack/runtime/rspack_unique_id -(() => { -__webpack_require__.ruid = "bundler=rspack@1.6.0"; - -})(); -/************************************************************************/ -// module factories are used so entry inlining is disabled -// run startup -var __webpack_exports__ = __webpack_require__.x(); -})() -;" -`; - -exports[`NativeEntryPlugin > with Module Federation v2 ('0.21.0') > should execute polyfills runtime module before MF v2 federation runtime 1`] = ` -"(() => { // webpackBootstrap -var __webpack_modules__ = ({ -"@module-federation/runtime/rspack.js!=!data:text/javascript,import __module_federation_bundler_runtime__ from \\"/node_modules/.pnpm/@module-federation+webpack-bundler-runtime@0.21.0/node_modules/@module-federation/webpack-bundler-runtime/dist/index.cjs.cjs\\";const __module_federation_runtime_plugins__ = [];const __module_federation_remote_infos__ = {};const __module_federation_container_name__ = \\"testContainer\\";const __module_federation_share_strategy__ = \\"version-first\\";if((__webpack_require__.initializeSharingData||__webpack_require__.initializeExposesData)&&__webpack_require__.federation){var __webpack_require___remotesLoadingData,__webpack_require___remotesLoadingData1,__webpack_require___initializeSharingData,__webpack_require___consumesLoadingData,__webpack_require___consumesLoadingData1,__webpack_require___initializeExposesData,__webpack_require___consumesLoadingData2;const override=(obj,key,value)=>{if(!obj)return;if(obj[key])obj[key]=value};const merge=(obj,key,fn)=>{const value=fn();if(Array.isArray(value)){var _obj,_key;var _;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=[];obj[key].push(...value)}else if(typeof value===\\"object\\"&&value!==null){var _obj1,_key1;var _1;(_1=(_obj1=obj)[_key1=key])!==null&&_1!==void 0?_1:_obj1[_key1]={};Object.assign(obj[key],value)}};const early=(obj,key,initial)=>{var _obj,_key;var _;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=initial()};var __webpack_require___remotesLoadingData_chunkMapping;const remotesLoadingChunkMapping=(__webpack_require___remotesLoadingData_chunkMapping=(__webpack_require___remotesLoadingData=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData===void 0?void 0:__webpack_require___remotesLoadingData.chunkMapping)!==null&&__webpack_require___remotesLoadingData_chunkMapping!==void 0?__webpack_require___remotesLoadingData_chunkMapping:{};var __webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping;const remotesLoadingModuleIdToRemoteDataMapping=(__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping=(__webpack_require___remotesLoadingData1=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData1===void 0?void 0:__webpack_require___remotesLoadingData1.moduleIdToRemoteDataMapping)!==null&&__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping!==void 0?__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping:{};var __webpack_require___initializeSharingData_scopeToSharingDataMapping;const initializeSharingScopeToInitDataMapping=(__webpack_require___initializeSharingData_scopeToSharingDataMapping=(__webpack_require___initializeSharingData=__webpack_require__.initializeSharingData)===null||__webpack_require___initializeSharingData===void 0?void 0:__webpack_require___initializeSharingData.scopeToSharingDataMapping)!==null&&__webpack_require___initializeSharingData_scopeToSharingDataMapping!==void 0?__webpack_require___initializeSharingData_scopeToSharingDataMapping:{};var __webpack_require___consumesLoadingData_chunkMapping;const consumesLoadingChunkMapping=(__webpack_require___consumesLoadingData_chunkMapping=(__webpack_require___consumesLoadingData=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData===void 0?void 0:__webpack_require___consumesLoadingData.chunkMapping)!==null&&__webpack_require___consumesLoadingData_chunkMapping!==void 0?__webpack_require___consumesLoadingData_chunkMapping:{};var __webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping;const consumesLoadingModuleToConsumeDataMapping=(__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping=(__webpack_require___consumesLoadingData1=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData1===void 0?void 0:__webpack_require___consumesLoadingData1.moduleIdToConsumeDataMapping)!==null&&__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping!==void 0?__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping:{};const consumesLoadinginstalledModules={};const initializeSharingInitPromises=[];const initializeSharingInitTokens={};const containerShareScope=(__webpack_require___initializeExposesData=__webpack_require__.initializeExposesData)===null||__webpack_require___initializeExposesData===void 0?void 0:__webpack_require___initializeExposesData.shareScope;for(const key in __module_federation_bundler_runtime__){__webpack_require__.federation[key]=__module_federation_bundler_runtime__[key]}early(__webpack_require__.federation,\\"consumesLoadingModuleToHandlerMapping\\",()=>{const consumesLoadingModuleToHandlerMapping={};for(let[moduleId,data]of Object.entries(consumesLoadingModuleToConsumeDataMapping)){consumesLoadingModuleToHandlerMapping[moduleId]={getter:data.fallback,shareInfo:{shareConfig:{fixedDependencies:false,requiredVersion:data.requiredVersion,strictVersion:data.strictVersion,singleton:data.singleton,eager:data.eager},scope:[data.shareScope]},shareKey:data.shareKey}}return consumesLoadingModuleToHandlerMapping});early(__webpack_require__.federation,\\"initOptions\\",()=>({}));early(__webpack_require__.federation.initOptions,\\"name\\",()=>__module_federation_container_name__);early(__webpack_require__.federation.initOptions,\\"shareStrategy\\",()=>__module_federation_share_strategy__);early(__webpack_require__.federation.initOptions,\\"shared\\",()=>{const shared={};for(let[scope,stages]of Object.entries(initializeSharingScopeToInitDataMapping)){for(let stage of stages){if(typeof stage===\\"object\\"&&stage!==null){const{name,version,factory,eager,singleton,requiredVersion,strictVersion}=stage;const shareConfig={};const isValidValue=function(val){return typeof val!==\\"undefined\\"};if(isValidValue(singleton)){shareConfig.singleton=singleton}if(isValidValue(requiredVersion)){shareConfig.requiredVersion=requiredVersion}if(isValidValue(eager)){shareConfig.eager=eager}if(isValidValue(strictVersion)){shareConfig.strictVersion=strictVersion}const options={version,scope:[scope],shareConfig,get:factory};if(shared[name]){shared[name].push(options)}else{shared[name]=[options]}}}}return shared});merge(__webpack_require__.federation.initOptions,\\"remotes\\",()=>Object.values(__module_federation_remote_infos__).flat().filter(remote=>remote.externalType===\\"script\\"));merge(__webpack_require__.federation.initOptions,\\"plugins\\",()=>__module_federation_runtime_plugins__);early(__webpack_require__.federation,\\"bundlerRuntimeOptions\\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions,\\"remotes\\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"chunkMapping\\",()=>remotesLoadingChunkMapping);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"remoteInfos\\",()=>__module_federation_remote_infos__);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"idToExternalAndNameMapping\\",()=>{const remotesLoadingIdToExternalAndNameMappingMapping={};for(let[moduleId,data]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){remotesLoadingIdToExternalAndNameMappingMapping[moduleId]=[data.shareScope,data.name,data.externalModuleId,data.remoteName]}return remotesLoadingIdToExternalAndNameMappingMapping});early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"webpackRequire\\",()=>__webpack_require__);merge(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"idToRemoteMap\\",()=>{const idToRemoteMap={};for(let[id,remoteData]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){const info=__module_federation_remote_infos__[remoteData.remoteName];if(info)idToRemoteMap[id]=info}return idToRemoteMap});override(__webpack_require__,\\"S\\",__webpack_require__.federation.bundlerRuntime.S);if(__webpack_require__.federation.attachShareScopeMap){__webpack_require__.federation.attachShareScopeMap(__webpack_require__)}override(__webpack_require__.f,\\"remotes\\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.remotes({chunkId,promises,chunkMapping:remotesLoadingChunkMapping,idToExternalAndNameMapping:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:__webpack_require__}));override(__webpack_require__.f,\\"consumes\\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.consumes({chunkId,promises,chunkMapping:consumesLoadingChunkMapping,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping,installedModules:consumesLoadinginstalledModules,webpackRequire:__webpack_require__}));override(__webpack_require__,\\"I\\",(name,initScope)=>__webpack_require__.federation.bundlerRuntime.I({shareScopeName:name,initScope,initPromises:initializeSharingInitPromises,initTokens:initializeSharingInitTokens,webpackRequire:__webpack_require__}));override(__webpack_require__,\\"initContainer\\",(shareScope,initScope,remoteEntryInitOptions)=>__webpack_require__.federation.bundlerRuntime.initContainerEntry({shareScope,initScope,remoteEntryInitOptions,shareScopeKey:containerShareScope,webpackRequire:__webpack_require__}));override(__webpack_require__,\\"getContainer\\",(module1,getScope)=>{var moduleMap=__webpack_require__.initializeExposesData.moduleMap;__webpack_require__.R=getScope;getScope=Object.prototype.hasOwnProperty.call(moduleMap,module1)?moduleMap[module1]():Promise.resolve().then(()=>{throw new Error('Module \\"'+module1+'\\" does not exist in container.')});__webpack_require__.R=undefined;return getScope});__webpack_require__.federation.instance=__webpack_require__.federation.runtime.init(__webpack_require__.federation.initOptions);if((__webpack_require___consumesLoadingData2=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData2===void 0?void 0:__webpack_require___consumesLoadingData2.initialConsumes){__webpack_require__.federation.bundlerRuntime.installInitialConsumes({webpackRequire:__webpack_require__,installedModules:consumesLoadinginstalledModules,initialConsumes:__webpack_require__.consumesLoadingData.initialConsumes,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping})}}": -/*!*********************************************!*\\ - !*** external "globalThis.__MF_EXTERNAL__" ***! - \\*********************************************/ -(function (module) { -"use strict"; -module.exports = globalThis.__MF_EXTERNAL__; - -}), -"../../../../packages/repack/dist/modules/IncludeModules.js": -/*!******************************************************************!*\\ - !*** ../../../../packages/repack/dist/modules/IncludeModules.js ***! - \\******************************************************************/ -(function () { -/* - * This module is added as an entry module to prevent stripping of these React Native deep imports from the bundle. - * We use require.resolve from Rspack/Webpack to ensure these modules are included even if not directly used. - * This allows us to include the modules into the bundle without evaluating them. - * These modules are required by assetsLoader and should be shared as deep imports when using ModuleFederation. - */ - -/*require.resolve*/(Object(function webpackMissingModule() { var e = new Error("Cannot find module 'react-native/Libraries/Image/AssetRegistry'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())); -/*require.resolve*/(Object(function webpackMissingModule() { var e = new Error("Cannot find module 'react-native/Libraries/Image/AssetSourceResolver'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())); - -}), -"../../../../packages/repack/dist/modules/InitializeScriptManager.js": -/*!***************************************************************************!*\\ - !*** ../../../../packages/repack/dist/modules/InitializeScriptManager.js ***! - \\***************************************************************************/ -(function () { -throw new Error(" × Module parse failed:\\n ╰─▶ × JavaScript parse error: 'import', and 'export' cannot be used outside of module code\\n ╭─[1:0]\\n 1 │ import { ScriptManager } from './ScriptManager/ScriptManager.js';\\n · ──────\\n 2 │ ScriptManager.init();\\n ╰────\\n \\n help: \\n You may need an appropriate loader to handle this file type.\\n"); - - -}), -"./__fixtures__/react-native/Libraries/Core/InitializeCore.js": -/*!********************************************************************!*\\ - !*** ./__fixtures__/react-native/Libraries/Core/InitializeCore.js ***! - \\********************************************************************/ -(function () { -globalThis.__INITIALIZE_CORE__ = true; - - -}), -"./__fixtures__/react-native/polyfill1.js": -/*!************************************************!*\\ - !*** ./__fixtures__/react-native/polyfill1.js ***! - \\************************************************/ -(function () { -globalThis.__POLYFILL_1__ = true; - - -}), -"./__fixtures__/react-native/polyfill2.js": -/*!************************************************!*\\ - !*** ./__fixtures__/react-native/polyfill2.js ***! - \\************************************************/ -(function () { -globalThis.__POLYFILL_2__ = true; - - -}), -"./index.js": -/*!******************!*\\ - !*** ./index.js ***! - \\******************/ -(function (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { -"use strict"; -__webpack_require__.r(__webpack_exports__); -globalThis.__APP_ENTRY__ = true; - -}), - -}); -/************************************************************************/ -// The module cache -var __webpack_module_cache__ = {}; - -// The require function -function __webpack_require__(moduleId) { - -// Check if module is in cache -var cachedModule = __webpack_module_cache__[moduleId]; -if (cachedModule !== undefined) { -return cachedModule.exports; -} -// Create a new module (and put it into the cache) -var module = (__webpack_module_cache__[moduleId] = { -exports: {} -}); -// Execute the module function -__webpack_modules__[moduleId](module, module.exports, __webpack_require__); - -// Return the exports of the module -return module.exports; - -} - -// expose the modules object (__webpack_modules__) -__webpack_require__.m = __webpack_modules__; - -// expose the module cache -__webpack_require__.c = __webpack_module_cache__; - -// the startup function -__webpack_require__.x = () => { -// Load entry module and return exports -__webpack_require__("./__fixtures__/react-native/polyfill1.js"); -__webpack_require__("./__fixtures__/react-native/polyfill2.js"); -__webpack_require__("./__fixtures__/react-native/Libraries/Core/InitializeCore.js"); -__webpack_require__("../../../../packages/repack/dist/modules/InitializeScriptManager.js"); -__webpack_require__("../../../../packages/repack/dist/modules/IncludeModules.js"); -var __webpack_exports__ = __webpack_require__("./index.js"); -return __webpack_exports__ -}; - -/************************************************************************/ -// module_federation/runtime -(() => { - -if(!__webpack_require__.federation){ - __webpack_require__.federation = { - -chunkMatcher: function(chunkId) { - return true; -}, -rootOutputDir: "", - - }; -} - -})(); -// webpack/runtime/embed_federation_runtime -(() => { -var prevStartup = __webpack_require__.x; -var hasRun = false; -__webpack_require__.x = function() { - if (!hasRun) { - hasRun = true; - __webpack_require__("@module-federation/runtime/rspack.js!=!data:text/javascript,import __module_federation_bundler_runtime__ from \\"/node_modules/.pnpm/@module-federation+webpack-bundler-runtime@0.21.0/node_modules/@module-federation/webpack-bundler-runtime/dist/index.cjs.cjs\\";const __module_federation_runtime_plugins__ = [];const __module_federation_remote_infos__ = {};const __module_federation_container_name__ = \\"testContainer\\";const __module_federation_share_strategy__ = \\"version-first\\";if((__webpack_require__.initializeSharingData||__webpack_require__.initializeExposesData)&&__webpack_require__.federation){var __webpack_require___remotesLoadingData,__webpack_require___remotesLoadingData1,__webpack_require___initializeSharingData,__webpack_require___consumesLoadingData,__webpack_require___consumesLoadingData1,__webpack_require___initializeExposesData,__webpack_require___consumesLoadingData2;const override=(obj,key,value)=>{if(!obj)return;if(obj[key])obj[key]=value};const merge=(obj,key,fn)=>{const value=fn();if(Array.isArray(value)){var _obj,_key;var _;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=[];obj[key].push(...value)}else if(typeof value===\\"object\\"&&value!==null){var _obj1,_key1;var _1;(_1=(_obj1=obj)[_key1=key])!==null&&_1!==void 0?_1:_obj1[_key1]={};Object.assign(obj[key],value)}};const early=(obj,key,initial)=>{var _obj,_key;var _;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=initial()};var __webpack_require___remotesLoadingData_chunkMapping;const remotesLoadingChunkMapping=(__webpack_require___remotesLoadingData_chunkMapping=(__webpack_require___remotesLoadingData=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData===void 0?void 0:__webpack_require___remotesLoadingData.chunkMapping)!==null&&__webpack_require___remotesLoadingData_chunkMapping!==void 0?__webpack_require___remotesLoadingData_chunkMapping:{};var __webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping;const remotesLoadingModuleIdToRemoteDataMapping=(__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping=(__webpack_require___remotesLoadingData1=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData1===void 0?void 0:__webpack_require___remotesLoadingData1.moduleIdToRemoteDataMapping)!==null&&__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping!==void 0?__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping:{};var __webpack_require___initializeSharingData_scopeToSharingDataMapping;const initializeSharingScopeToInitDataMapping=(__webpack_require___initializeSharingData_scopeToSharingDataMapping=(__webpack_require___initializeSharingData=__webpack_require__.initializeSharingData)===null||__webpack_require___initializeSharingData===void 0?void 0:__webpack_require___initializeSharingData.scopeToSharingDataMapping)!==null&&__webpack_require___initializeSharingData_scopeToSharingDataMapping!==void 0?__webpack_require___initializeSharingData_scopeToSharingDataMapping:{};var __webpack_require___consumesLoadingData_chunkMapping;const consumesLoadingChunkMapping=(__webpack_require___consumesLoadingData_chunkMapping=(__webpack_require___consumesLoadingData=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData===void 0?void 0:__webpack_require___consumesLoadingData.chunkMapping)!==null&&__webpack_require___consumesLoadingData_chunkMapping!==void 0?__webpack_require___consumesLoadingData_chunkMapping:{};var __webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping;const consumesLoadingModuleToConsumeDataMapping=(__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping=(__webpack_require___consumesLoadingData1=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData1===void 0?void 0:__webpack_require___consumesLoadingData1.moduleIdToConsumeDataMapping)!==null&&__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping!==void 0?__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping:{};const consumesLoadinginstalledModules={};const initializeSharingInitPromises=[];const initializeSharingInitTokens={};const containerShareScope=(__webpack_require___initializeExposesData=__webpack_require__.initializeExposesData)===null||__webpack_require___initializeExposesData===void 0?void 0:__webpack_require___initializeExposesData.shareScope;for(const key in __module_federation_bundler_runtime__){__webpack_require__.federation[key]=__module_federation_bundler_runtime__[key]}early(__webpack_require__.federation,\\"consumesLoadingModuleToHandlerMapping\\",()=>{const consumesLoadingModuleToHandlerMapping={};for(let[moduleId,data]of Object.entries(consumesLoadingModuleToConsumeDataMapping)){consumesLoadingModuleToHandlerMapping[moduleId]={getter:data.fallback,shareInfo:{shareConfig:{fixedDependencies:false,requiredVersion:data.requiredVersion,strictVersion:data.strictVersion,singleton:data.singleton,eager:data.eager},scope:[data.shareScope]},shareKey:data.shareKey}}return consumesLoadingModuleToHandlerMapping});early(__webpack_require__.federation,\\"initOptions\\",()=>({}));early(__webpack_require__.federation.initOptions,\\"name\\",()=>__module_federation_container_name__);early(__webpack_require__.federation.initOptions,\\"shareStrategy\\",()=>__module_federation_share_strategy__);early(__webpack_require__.federation.initOptions,\\"shared\\",()=>{const shared={};for(let[scope,stages]of Object.entries(initializeSharingScopeToInitDataMapping)){for(let stage of stages){if(typeof stage===\\"object\\"&&stage!==null){const{name,version,factory,eager,singleton,requiredVersion,strictVersion}=stage;const shareConfig={};const isValidValue=function(val){return typeof val!==\\"undefined\\"};if(isValidValue(singleton)){shareConfig.singleton=singleton}if(isValidValue(requiredVersion)){shareConfig.requiredVersion=requiredVersion}if(isValidValue(eager)){shareConfig.eager=eager}if(isValidValue(strictVersion)){shareConfig.strictVersion=strictVersion}const options={version,scope:[scope],shareConfig,get:factory};if(shared[name]){shared[name].push(options)}else{shared[name]=[options]}}}}return shared});merge(__webpack_require__.federation.initOptions,\\"remotes\\",()=>Object.values(__module_federation_remote_infos__).flat().filter(remote=>remote.externalType===\\"script\\"));merge(__webpack_require__.federation.initOptions,\\"plugins\\",()=>__module_federation_runtime_plugins__);early(__webpack_require__.federation,\\"bundlerRuntimeOptions\\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions,\\"remotes\\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"chunkMapping\\",()=>remotesLoadingChunkMapping);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"remoteInfos\\",()=>__module_federation_remote_infos__);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"idToExternalAndNameMapping\\",()=>{const remotesLoadingIdToExternalAndNameMappingMapping={};for(let[moduleId,data]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){remotesLoadingIdToExternalAndNameMappingMapping[moduleId]=[data.shareScope,data.name,data.externalModuleId,data.remoteName]}return remotesLoadingIdToExternalAndNameMappingMapping});early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"webpackRequire\\",()=>__webpack_require__);merge(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"idToRemoteMap\\",()=>{const idToRemoteMap={};for(let[id,remoteData]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){const info=__module_federation_remote_infos__[remoteData.remoteName];if(info)idToRemoteMap[id]=info}return idToRemoteMap});override(__webpack_require__,\\"S\\",__webpack_require__.federation.bundlerRuntime.S);if(__webpack_require__.federation.attachShareScopeMap){__webpack_require__.federation.attachShareScopeMap(__webpack_require__)}override(__webpack_require__.f,\\"remotes\\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.remotes({chunkId,promises,chunkMapping:remotesLoadingChunkMapping,idToExternalAndNameMapping:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:__webpack_require__}));override(__webpack_require__.f,\\"consumes\\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.consumes({chunkId,promises,chunkMapping:consumesLoadingChunkMapping,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping,installedModules:consumesLoadinginstalledModules,webpackRequire:__webpack_require__}));override(__webpack_require__,\\"I\\",(name,initScope)=>__webpack_require__.federation.bundlerRuntime.I({shareScopeName:name,initScope,initPromises:initializeSharingInitPromises,initTokens:initializeSharingInitTokens,webpackRequire:__webpack_require__}));override(__webpack_require__,\\"initContainer\\",(shareScope,initScope,remoteEntryInitOptions)=>__webpack_require__.federation.bundlerRuntime.initContainerEntry({shareScope,initScope,remoteEntryInitOptions,shareScopeKey:containerShareScope,webpackRequire:__webpack_require__}));override(__webpack_require__,\\"getContainer\\",(module1,getScope)=>{var moduleMap=__webpack_require__.initializeExposesData.moduleMap;__webpack_require__.R=getScope;getScope=Object.prototype.hasOwnProperty.call(moduleMap,module1)?moduleMap[module1]():Promise.resolve().then(()=>{throw new Error('Module \\"'+module1+'\\" does not exist in container.')});__webpack_require__.R=undefined;return getScope});__webpack_require__.federation.instance=__webpack_require__.federation.runtime.init(__webpack_require__.federation.initOptions);if((__webpack_require___consumesLoadingData2=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData2===void 0?void 0:__webpack_require___consumesLoadingData2.initialConsumes){__webpack_require__.federation.bundlerRuntime.installInitialConsumes({webpackRequire:__webpack_require__,installedModules:consumesLoadinginstalledModules,initialConsumes:__webpack_require__.consumesLoadingData.initialConsumes,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping})}}") - } - if (typeof prevStartup === 'function') { - return prevStartup(); - } else { - console.warn('[MF] Invalid prevStartup'); - } -}; -})(); -// webpack/runtime/has_own_property -(() => { -__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -})(); -// webpack/runtime/make_namespace_object -(() => { -// define __esModule on exports -__webpack_require__.r = (exports) => { - if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { - Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); - } - Object.defineProperty(exports, '__esModule', { value: true }); -}; -})(); -// webpack/runtime/rspack_version -(() => { -__webpack_require__.rv = () => ("1.6.0") -})(); -// webpack/runtime/sharing -(() => { - -__webpack_require__.S = {}; -__webpack_require__.initializeSharingData = { scopeToSharingDataMapping: { }, uniqueName: "" }; -__webpack_require__.I = __webpack_require__.I || function() { throw new Error("should have __webpack_require__.I") } - -})(); -// webpack/runtime/repack/polyfills -(() => { -__webpack_require__("./__fixtures__/react-native/polyfill1.js"); -__webpack_require__("./__fixtures__/react-native/polyfill2.js"); -})(); -// webpack/runtime/consumes_loading -(() => { - -__webpack_require__.consumesLoadingData = { chunkMapping: {}, moduleIdToConsumeDataMapping: {}, initialConsumes: [] }; - -})(); -// webpack/runtime/rspack_unique_id -(() => { -__webpack_require__.ruid = "bundler=rspack@1.6.0"; - -})(); -/************************************************************************/ -// module factories are used so entry inlining is disabled -// run startup -var __webpack_exports__ = __webpack_require__.x(); -})() -;" -`; - -exports[`NativeEntryPlugin > with Module Federation v2 ('2.0.1') > should execute polyfills runtime module before MF v2 federation runtime 1`] = ` +exports[`NativeEntryPlugin > with Module Federation v2 (2.0.1) > should execute polyfills runtime module before MF v2 federation runtime 1`] = ` "(() => { // webpackBootstrap var __webpack_modules__ = ({ "@module-federation/runtime/rspack.js!=!data:text/javascript,import __module_federation_bundler_runtime__ from \\"/node_modules/.pnpm/@module-federation+webpack-bundler-runtime@2.0.1/node_modules/@module-federation/webpack-bundler-runtime/dist/index.cjs.cjs\\";const __module_federation_runtime_plugins__ = [];const __module_federation_remote_infos__ = {};const __module_federation_container_name__ = \\"testContainer\\";const __module_federation_share_strategy__ = \\"version-first\\";if((__webpack_require__.initializeSharingData||__webpack_require__.initializeExposesData)&&__webpack_require__.federation){var __webpack_require___remotesLoadingData,__webpack_require___remotesLoadingData1,__webpack_require___initializeSharingData,__webpack_require___consumesLoadingData,__webpack_require___consumesLoadingData1,__webpack_require___initializeExposesData,__webpack_require___consumesLoadingData2;const override=(obj,key,value)=>{if(!obj)return;if(obj[key])obj[key]=value};const merge=(obj,key,fn)=>{const value=fn();if(Array.isArray(value)){var _obj,_key;var _;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=[];obj[key].push(...value)}else if(typeof value===\\"object\\"&&value!==null){var _obj1,_key1;var _1;(_1=(_obj1=obj)[_key1=key])!==null&&_1!==void 0?_1:_obj1[_key1]={};Object.assign(obj[key],value)}};const early=(obj,key,initial)=>{var _obj,_key;var _;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=initial()};var __webpack_require___remotesLoadingData_chunkMapping;const remotesLoadingChunkMapping=(__webpack_require___remotesLoadingData_chunkMapping=(__webpack_require___remotesLoadingData=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData===void 0?void 0:__webpack_require___remotesLoadingData.chunkMapping)!==null&&__webpack_require___remotesLoadingData_chunkMapping!==void 0?__webpack_require___remotesLoadingData_chunkMapping:{};var __webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping;const remotesLoadingModuleIdToRemoteDataMapping=(__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping=(__webpack_require___remotesLoadingData1=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData1===void 0?void 0:__webpack_require___remotesLoadingData1.moduleIdToRemoteDataMapping)!==null&&__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping!==void 0?__webpack_require___remotesLoadingData_moduleIdToRemoteDataMapping:{};var __webpack_require___initializeSharingData_scopeToSharingDataMapping;const initializeSharingScopeToInitDataMapping=(__webpack_require___initializeSharingData_scopeToSharingDataMapping=(__webpack_require___initializeSharingData=__webpack_require__.initializeSharingData)===null||__webpack_require___initializeSharingData===void 0?void 0:__webpack_require___initializeSharingData.scopeToSharingDataMapping)!==null&&__webpack_require___initializeSharingData_scopeToSharingDataMapping!==void 0?__webpack_require___initializeSharingData_scopeToSharingDataMapping:{};var __webpack_require___consumesLoadingData_chunkMapping;const consumesLoadingChunkMapping=(__webpack_require___consumesLoadingData_chunkMapping=(__webpack_require___consumesLoadingData=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData===void 0?void 0:__webpack_require___consumesLoadingData.chunkMapping)!==null&&__webpack_require___consumesLoadingData_chunkMapping!==void 0?__webpack_require___consumesLoadingData_chunkMapping:{};var __webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping;const consumesLoadingModuleToConsumeDataMapping=(__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping=(__webpack_require___consumesLoadingData1=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData1===void 0?void 0:__webpack_require___consumesLoadingData1.moduleIdToConsumeDataMapping)!==null&&__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping!==void 0?__webpack_require___consumesLoadingData_moduleIdToConsumeDataMapping:{};const consumesLoadinginstalledModules={};const initializeSharingInitPromises=[];const initializeSharingInitTokens={};const containerShareScope=(__webpack_require___initializeExposesData=__webpack_require__.initializeExposesData)===null||__webpack_require___initializeExposesData===void 0?void 0:__webpack_require___initializeExposesData.shareScope;for(const key in __module_federation_bundler_runtime__){__webpack_require__.federation[key]=__module_federation_bundler_runtime__[key]}early(__webpack_require__.federation,\\"consumesLoadingModuleToHandlerMapping\\",()=>{const consumesLoadingModuleToHandlerMapping={};for(let[moduleId,data]of Object.entries(consumesLoadingModuleToConsumeDataMapping)){consumesLoadingModuleToHandlerMapping[moduleId]={getter:data.fallback,shareInfo:{shareConfig:{fixedDependencies:false,requiredVersion:data.requiredVersion,strictVersion:data.strictVersion,singleton:data.singleton,eager:data.eager},scope:[data.shareScope]},shareKey:data.shareKey}}return consumesLoadingModuleToHandlerMapping});early(__webpack_require__.federation,\\"initOptions\\",()=>({}));early(__webpack_require__.federation.initOptions,\\"name\\",()=>__module_federation_container_name__);early(__webpack_require__.federation.initOptions,\\"shareStrategy\\",()=>__module_federation_share_strategy__);early(__webpack_require__.federation.initOptions,\\"shared\\",()=>{const shared={};for(let[scope,stages]of Object.entries(initializeSharingScopeToInitDataMapping)){for(let stage of stages){if(typeof stage===\\"object\\"&&stage!==null){const{name,version,factory,eager,singleton,requiredVersion,strictVersion}=stage;const shareConfig={};const isValidValue=function(val){return typeof val!==\\"undefined\\"};if(isValidValue(singleton)){shareConfig.singleton=singleton}if(isValidValue(requiredVersion)){shareConfig.requiredVersion=requiredVersion}if(isValidValue(eager)){shareConfig.eager=eager}if(isValidValue(strictVersion)){shareConfig.strictVersion=strictVersion}const options={version,scope:[scope],shareConfig,get:factory};if(shared[name]){shared[name].push(options)}else{shared[name]=[options]}}}}return shared});merge(__webpack_require__.federation.initOptions,\\"remotes\\",()=>Object.values(__module_federation_remote_infos__).flat().filter(remote=>remote.externalType===\\"script\\"));merge(__webpack_require__.federation.initOptions,\\"plugins\\",()=>__module_federation_runtime_plugins__);early(__webpack_require__.federation,\\"bundlerRuntimeOptions\\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions,\\"remotes\\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"chunkMapping\\",()=>remotesLoadingChunkMapping);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"remoteInfos\\",()=>__module_federation_remote_infos__);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"idToExternalAndNameMapping\\",()=>{const remotesLoadingIdToExternalAndNameMappingMapping={};for(let[moduleId,data]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){remotesLoadingIdToExternalAndNameMappingMapping[moduleId]=[data.shareScope,data.name,data.externalModuleId,data.remoteName]}return remotesLoadingIdToExternalAndNameMappingMapping});early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"webpackRequire\\",()=>__webpack_require__);merge(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\\"idToRemoteMap\\",()=>{const idToRemoteMap={};for(let[id,remoteData]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){const info=__module_federation_remote_infos__[remoteData.remoteName];if(info)idToRemoteMap[id]=info}return idToRemoteMap});override(__webpack_require__,\\"S\\",__webpack_require__.federation.bundlerRuntime.S);if(__webpack_require__.federation.attachShareScopeMap){__webpack_require__.federation.attachShareScopeMap(__webpack_require__)}override(__webpack_require__.f,\\"remotes\\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.remotes({chunkId,promises,chunkMapping:remotesLoadingChunkMapping,idToExternalAndNameMapping:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:__webpack_require__}));override(__webpack_require__.f,\\"consumes\\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.consumes({chunkId,promises,chunkMapping:consumesLoadingChunkMapping,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping,installedModules:consumesLoadinginstalledModules,webpackRequire:__webpack_require__}));override(__webpack_require__,\\"I\\",(name,initScope)=>__webpack_require__.federation.bundlerRuntime.I({shareScopeName:name,initScope,initPromises:initializeSharingInitPromises,initTokens:initializeSharingInitTokens,webpackRequire:__webpack_require__}));override(__webpack_require__,\\"initContainer\\",(shareScope,initScope,remoteEntryInitOptions)=>__webpack_require__.federation.bundlerRuntime.initContainerEntry({shareScope,initScope,remoteEntryInitOptions,shareScopeKey:containerShareScope,webpackRequire:__webpack_require__}));override(__webpack_require__,\\"getContainer\\",(module1,getScope)=>{var moduleMap=__webpack_require__.initializeExposesData.moduleMap;__webpack_require__.R=getScope;getScope=Object.prototype.hasOwnProperty.call(moduleMap,module1)?moduleMap[module1]():Promise.resolve().then(()=>{throw new Error('Module \\"'+module1+'\\" does not exist in container.')});__webpack_require__.R=undefined;return getScope});__webpack_require__.federation.instance=__webpack_require__.federation.runtime.init(__webpack_require__.federation.initOptions);if((__webpack_require___consumesLoadingData2=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData2===void 0?void 0:__webpack_require___consumesLoadingData2.initialConsumes){__webpack_require__.federation.bundlerRuntime.installInitialConsumes({webpackRequire:__webpack_require__,installedModules:consumesLoadinginstalledModules,initialConsumes:__webpack_require__.consumesLoadingData.initialConsumes,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping})}}": diff --git a/tests/integration/src/plugins/__snapshots__/webpack/NativeEntryPlugin.test.ts.snap b/tests/integration/src/plugins/__snapshots__/webpack/NativeEntryPlugin.test.ts.snap index 1271284b3..b588326a2 100644 --- a/tests/integration/src/plugins/__snapshots__/webpack/NativeEntryPlugin.test.ts.snap +++ b/tests/integration/src/plugins/__snapshots__/webpack/NativeEntryPlugin.test.ts.snap @@ -1,859 +1,6 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`NativeEntryPlugin > with Module Federation v1 > should execute polyfills runtime module before MF v1 startup 1`] = ` -"/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ "../../../../packages/repack/dist/modules/IncludeModules.js" -/*!******************************************************************!*\\ - !*** ../../../../packages/repack/dist/modules/IncludeModules.js ***! - \\******************************************************************/ -() { - -/* - * This module is added as an entry module to prevent stripping of these React Native deep imports from the bundle. - * We use require.resolve from Rspack/Webpack to ensure these modules are included even if not directly used. - * This allows us to include the modules into the bundle without evaluating them. - * These modules are required by assetsLoader and should be shared as deep imports when using ModuleFederation. - */ - -/*require.resolve*/(Object(function webpackMissingModule() { var e = new Error("Cannot find module 'react-native/Libraries/Image/AssetRegistry'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())); -/*require.resolve*/(Object(function webpackMissingModule() { var e = new Error("Cannot find module 'react-native/Libraries/Image/AssetSourceResolver'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())); - -/***/ }, - -/***/ "../../../../packages/repack/dist/modules/InitializeScriptManager.js" -/*!***************************************************************************!*\\ - !*** ../../../../packages/repack/dist/modules/InitializeScriptManager.js ***! - \\***************************************************************************/ -() { - -throw new Error("Module parse failed: 'import' and 'export' may appear only with 'sourceType: module' (1:0)\\nYou may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders\\n> import { ScriptManager } from './ScriptManager/ScriptManager.js';\\n| ScriptManager.init();"); - -/***/ }, - -/***/ "./__fixtures__/react-native/Libraries/Core/InitializeCore.js" -/*!********************************************************************!*\\ - !*** ./__fixtures__/react-native/Libraries/Core/InitializeCore.js ***! - \\********************************************************************/ -() { - -globalThis.__INITIALIZE_CORE__ = true; - - -/***/ }, - -/***/ "./__fixtures__/react-native/polyfill1.js" -/*!************************************************!*\\ - !*** ./__fixtures__/react-native/polyfill1.js ***! - \\************************************************/ -() { - -globalThis.__POLYFILL_1__ = true; - - -/***/ }, - -/***/ "./__fixtures__/react-native/polyfill2.js" -/*!************************************************!*\\ - !*** ./__fixtures__/react-native/polyfill2.js ***! - \\************************************************/ -() { - -globalThis.__POLYFILL_2__ = true; - - -/***/ }, - -/***/ "./index.js" -/*!******************!*\\ - !*** ./index.js ***! - \\******************/ -(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -globalThis.__APP_ENTRY__ = true; - -/***/ } - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ if (!(moduleId in __webpack_modules__)) { -/******/ delete __webpack_module_cache__[moduleId]; -/******/ var e = new Error("Cannot find module '" + moduleId + "'"); -/******/ e.code = 'MODULE_NOT_FOUND'; -/******/ throw e; -/******/ } -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = __webpack_module_cache__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/sharing */ -/******/ (() => { -/******/ __webpack_require__.S = {}; -/******/ var initPromises = {}; -/******/ var initTokens = {}; -/******/ __webpack_require__.I = (name, initScope) => { -/******/ if(!initScope) initScope = []; -/******/ // handling circular init calls -/******/ var initToken = initTokens[name]; -/******/ if(!initToken) initToken = initTokens[name] = {}; -/******/ if(initScope.indexOf(initToken) >= 0) return; -/******/ initScope.push(initToken); -/******/ // only runs once -/******/ if(initPromises[name]) return initPromises[name]; -/******/ // creates a new share scope if needed -/******/ if(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {}; -/******/ // runs all init snippets from all modules reachable -/******/ var scope = __webpack_require__.S[name]; -/******/ var warn = (msg) => { -/******/ if (typeof console !== "undefined" && console.warn) console.warn(msg); -/******/ }; -/******/ var uniqueName = undefined; -/******/ var register = (name, version, factory, eager) => { -/******/ var versions = scope[name] = scope[name] || {}; -/******/ var activeVersion = versions[version]; -/******/ if(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager }; -/******/ }; -/******/ var initExternal = (id) => { -/******/ var handleError = (err) => (warn("Initialization of sharing external failed: " + err)); -/******/ try { -/******/ var module = __webpack_require__(id); -/******/ if(!module) return; -/******/ var initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope)) -/******/ if(module.then) return promises.push(module.then(initFn, handleError)); -/******/ var initResult = initFn(module); -/******/ if(initResult && initResult.then) return promises.push(initResult['catch'](handleError)); -/******/ } catch(err) { handleError(err); } -/******/ } -/******/ var promises = []; -/******/ switch(name) { -/******/ } -/******/ if(!promises.length) return initPromises[name] = 1; -/******/ return initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1)); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/repack/polyfills */ -/******/ (() => { -/******/ __webpack_require__("./__fixtures__/react-native/polyfill1.js"); -/******/ __webpack_require__("./__fixtures__/react-native/polyfill2.js"); -/******/ })(); -/******/ -/************************************************************************/ -/******/ -/******/ // module factories are used so entry inlining is disabled -/******/ // startup -/******/ // Load entry module and return exports -/******/ __webpack_require__("./__fixtures__/react-native/polyfill1.js"); -/******/ __webpack_require__("./__fixtures__/react-native/polyfill2.js"); -/******/ __webpack_require__("./__fixtures__/react-native/Libraries/Core/InitializeCore.js"); -/******/ __webpack_require__("../../../../packages/repack/dist/modules/InitializeScriptManager.js"); -/******/ __webpack_require__("../../../../packages/repack/dist/modules/IncludeModules.js"); -/******/ var __webpack_exports__ = __webpack_require__("./index.js"); -/******/ -/******/ })() -;" -`; - -exports[`NativeEntryPlugin > with Module Federation v2 ('0.15.0') > should execute polyfills runtime module before MF v2 federation runtime 1`] = ` -"/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ "/node_modules/.pnpm/@module-federation+webpack-bundler-runtime@0.15.0/node_modules/@module-federation/webpack-bundler-runtime/dist/index.esm.js" -/*!*********************************************!*\\ - !*** external "globalThis.__MF_EXTERNAL__" ***! - \\*********************************************/ -(module) { - -"use strict"; -module.exports = globalThis.__MF_EXTERNAL__; - -/***/ }, - -/***/ "../../../../packages/repack/dist/modules/IncludeModules.js" -/*!******************************************************************!*\\ - !*** ../../../../packages/repack/dist/modules/IncludeModules.js ***! - \\******************************************************************/ -() { - -/* - * This module is added as an entry module to prevent stripping of these React Native deep imports from the bundle. - * We use require.resolve from Rspack/Webpack to ensure these modules are included even if not directly used. - * This allows us to include the modules into the bundle without evaluating them. - * These modules are required by assetsLoader and should be shared as deep imports when using ModuleFederation. - */ - -/*require.resolve*/(Object(function webpackMissingModule() { var e = new Error("Cannot find module 'react-native/Libraries/Image/AssetRegistry'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())); -/*require.resolve*/(Object(function webpackMissingModule() { var e = new Error("Cannot find module 'react-native/Libraries/Image/AssetSourceResolver'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())); - -/***/ }, - -/***/ "../../../../packages/repack/dist/modules/InitializeScriptManager.js" -/*!***************************************************************************!*\\ - !*** ../../../../packages/repack/dist/modules/InitializeScriptManager.js ***! - \\***************************************************************************/ -() { - -throw new Error("Module parse failed: 'import' and 'export' may appear only with 'sourceType: module' (1:0)\\nYou may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders\\n> import { ScriptManager } from './ScriptManager/ScriptManager.js';\\n| ScriptManager.init();"); - -/***/ }, - -/***/ "./__fixtures__/react-native/Libraries/Core/InitializeCore.js" -/*!********************************************************************!*\\ - !*** ./__fixtures__/react-native/Libraries/Core/InitializeCore.js ***! - \\********************************************************************/ -() { - -globalThis.__INITIALIZE_CORE__ = true; - - -/***/ }, - -/***/ "./__fixtures__/react-native/polyfill1.js" -/*!************************************************!*\\ - !*** ./__fixtures__/react-native/polyfill1.js ***! - \\************************************************/ -() { - -globalThis.__POLYFILL_1__ = true; - - -/***/ }, - -/***/ "./__fixtures__/react-native/polyfill2.js" -/*!************************************************!*\\ - !*** ./__fixtures__/react-native/polyfill2.js ***! - \\************************************************/ -() { - -globalThis.__POLYFILL_2__ = true; - - -/***/ }, - -/***/ "../../node_modules/.federation/entry.HASH.js" -/*!********************************************************************************!*\\ - !*** ../../node_modules/.federation/entry.HASH.js ***! - \\********************************************************************************/ -(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _rootDir__node_modules_pnpm_module_federation_webpack_bundler_runtime_0_15_0_node_modules_module_federation_webpack_bundler_runtime_dist_index_esm_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/.pnpm/@module-federation+webpack-bundler-runtime@0.15.0/node_modules/@module-federation/webpack-bundler-runtime/dist/index.esm.js */ "/node_modules/.pnpm/@module-federation+webpack-bundler-runtime@0.15.0/node_modules/@module-federation/webpack-bundler-runtime/dist/index.esm.js"); - - -if(!__webpack_require__.federation.runtime){ - var prevFederation = __webpack_require__.federation; - __webpack_require__.federation = {} - for(var key in _rootDir__node_modules_pnpm_module_federation_webpack_bundler_runtime_0_15_0_node_modules_module_federation_webpack_bundler_runtime_dist_index_esm_js__WEBPACK_IMPORTED_MODULE_0__){ - __webpack_require__.federation[key] = _rootDir__node_modules_pnpm_module_federation_webpack_bundler_runtime_0_15_0_node_modules_module_federation_webpack_bundler_runtime_dist_index_esm_js__WEBPACK_IMPORTED_MODULE_0__[key]; - } - for(var key in prevFederation){ - __webpack_require__.federation[key] = prevFederation[key]; - } -} -if(!__webpack_require__.federation.instance){ - - __webpack_require__.federation.instance = __webpack_require__.federation.runtime.init(__webpack_require__.federation.initOptions); - if(__webpack_require__.federation.attachShareScopeMap){ - __webpack_require__.federation.attachShareScopeMap(__webpack_require__) - } - if(__webpack_require__.federation.installInitialConsumes){ - __webpack_require__.federation.installInitialConsumes() - } - - if(!__webpack_require__.federation.isMFRemote && __webpack_require__.federation.prefetch){ - __webpack_require__.federation.prefetch() - } -} - -/***/ }, - -/***/ "./index.js" -/*!******************!*\\ - !*** ./index.js ***! - \\******************/ -(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -globalThis.__APP_ENTRY__ = true; - -/***/ } - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ var execOptions = { id: moduleId, module: module, factory: __webpack_modules__[moduleId], require: __webpack_require__ }; -/******/ __webpack_require__.i.forEach(function(handler) { handler(execOptions); }); -/******/ if (!execOptions.factory) { -/******/ delete __webpack_module_cache__[moduleId]; -/******/ var e = new Error("Cannot find module '" + moduleId + "'"); -/******/ e.code = 'MODULE_NOT_FOUND'; -/******/ throw e; -/******/ } -/******/ module = execOptions.module; -/******/ execOptions.factory.call(module.exports, module, module.exports, execOptions.require); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = __webpack_module_cache__; -/******/ -/******/ // expose the module execution interceptor -/******/ __webpack_require__.i = []; -/******/ -/******/ // the startup function -/******/ __webpack_require__.x = x => {}; -/************************************************************************/ -/******/ /* webpack/runtime/federation runtime */ -/******/ (() => { -/******/ if(!__webpack_require__.federation){ -/******/ __webpack_require__.federation = { -/******/ initOptions: {"name":"testContainer","remotes":[],"shareStrategy":"version-first"}, -/******/ chunkMatcher: function(chunkId) {return false}, -/******/ rootOutputDir: "", -/******/ initialConsumes: undefined, -/******/ bundlerRuntimeOptions: {} -/******/ }; -/******/ } -/******/ })(); -/******/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/sharing */ -/******/ (() => { -/******/ __webpack_require__.S = {}; -/******/ var initPromises = {}; -/******/ var initTokens = {}; -/******/ __webpack_require__.I = (name, initScope) => { -/******/ if(!initScope) initScope = []; -/******/ // handling circular init calls -/******/ var initToken = initTokens[name]; -/******/ if(!initToken) initToken = initTokens[name] = {}; -/******/ if(initScope.indexOf(initToken) >= 0) return; -/******/ initScope.push(initToken); -/******/ // only runs once -/******/ if(initPromises[name]) return initPromises[name]; -/******/ // creates a new share scope if needed -/******/ if(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {}; -/******/ // runs all init snippets from all modules reachable -/******/ var scope = __webpack_require__.S[name]; -/******/ var warn = (msg) => { -/******/ if (typeof console !== "undefined" && console.warn) console.warn(msg); -/******/ }; -/******/ var uniqueName = undefined; -/******/ var register = (name, version, factory, eager) => { -/******/ var versions = scope[name] = scope[name] || {}; -/******/ var activeVersion = versions[version]; -/******/ if(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager }; -/******/ }; -/******/ var initExternal = (id) => { -/******/ var handleError = (err) => (warn("Initialization of sharing external failed: " + err)); -/******/ try { -/******/ var module = __webpack_require__(id); -/******/ if(!module) return; -/******/ var initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope)) -/******/ if(module.then) return promises.push(module.then(initFn, handleError)); -/******/ var initResult = initFn(module); -/******/ if(initResult && initResult.then) return promises.push(initResult['catch'](handleError)); -/******/ } catch(err) { handleError(err); } -/******/ } -/******/ var promises = []; -/******/ switch(name) { -/******/ } -/******/ if(!promises.length) return initPromises[name] = 1; -/******/ return initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1)); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/sharing */ -/******/ (() => { -/******/ __webpack_require__.federation.initOptions.shared = {} -/******/ __webpack_require__.S = {}; -/******/ var initPromises = {}; -/******/ var initTokens = {}; -/******/ __webpack_require__.I = (name, initScope) => { -/******/ return __webpack_require__.federation.bundlerRuntime.I({ shareScopeName: name, -/******/ webpackRequire: __webpack_require__, -/******/ initPromises: initPromises, -/******/ initTokens: initTokens, -/******/ initScope: initScope, -/******/ }) -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/repack/polyfills */ -/******/ (() => { -/******/ __webpack_require__("./__fixtures__/react-native/polyfill1.js"); -/******/ __webpack_require__("./__fixtures__/react-native/polyfill2.js"); -/******/ })(); -/******/ -/******/ /* webpack/runtime/embed/federation */ -/******/ (() => { -/******/ var oldStartup = __webpack_require__.x; -/******/ var hasRun = false; -/******/ __webpack_require__.x = () => { -/******/ if (!hasRun) { -/******/ hasRun = true; -/******/ __webpack_require__(/*! ../../node_modules/.federation/entry.HASH.js */ "../../node_modules/.federation/entry.HASH.js"); -/******/ } -/******/ return oldStartup(); -/******/ }; -/******/ })(); -/******/ -/************************************************************************/ -/******/ // run runtime startup -/******/ __webpack_require__.x(); -/******/ // module factories are used so entry inlining is disabled -/******/ // startup -/******/ // Load entry module and return exports -/******/ __webpack_require__("./__fixtures__/react-native/polyfill1.js"); -/******/ __webpack_require__("./__fixtures__/react-native/polyfill2.js"); -/******/ __webpack_require__("./__fixtures__/react-native/Libraries/Core/InitializeCore.js"); -/******/ __webpack_require__("../../../../packages/repack/dist/modules/InitializeScriptManager.js"); -/******/ __webpack_require__("../../../../packages/repack/dist/modules/IncludeModules.js"); -/******/ var __webpack_exports__ = __webpack_require__("./index.js"); -/******/ -/******/ })() -;" -`; - -exports[`NativeEntryPlugin > with Module Federation v2 ('0.21.0') > should execute polyfills runtime module before MF v2 federation runtime 1`] = ` -"/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ "/node_modules/.pnpm/@module-federation+webpack-bundler-runtime@0.21.0/node_modules/@module-federation/webpack-bundler-runtime/dist/index.esm.js" -/*!*********************************************!*\\ - !*** external "globalThis.__MF_EXTERNAL__" ***! - \\*********************************************/ -(module) { - -"use strict"; -module.exports = globalThis.__MF_EXTERNAL__; - -/***/ }, - -/***/ "../../../../packages/repack/dist/modules/IncludeModules.js" -/*!******************************************************************!*\\ - !*** ../../../../packages/repack/dist/modules/IncludeModules.js ***! - \\******************************************************************/ -() { - -/* - * This module is added as an entry module to prevent stripping of these React Native deep imports from the bundle. - * We use require.resolve from Rspack/Webpack to ensure these modules are included even if not directly used. - * This allows us to include the modules into the bundle without evaluating them. - * These modules are required by assetsLoader and should be shared as deep imports when using ModuleFederation. - */ - -/*require.resolve*/(Object(function webpackMissingModule() { var e = new Error("Cannot find module 'react-native/Libraries/Image/AssetRegistry'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())); -/*require.resolve*/(Object(function webpackMissingModule() { var e = new Error("Cannot find module 'react-native/Libraries/Image/AssetSourceResolver'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())); - -/***/ }, - -/***/ "../../../../packages/repack/dist/modules/InitializeScriptManager.js" -/*!***************************************************************************!*\\ - !*** ../../../../packages/repack/dist/modules/InitializeScriptManager.js ***! - \\***************************************************************************/ -() { - -throw new Error("Module parse failed: 'import' and 'export' may appear only with 'sourceType: module' (1:0)\\nYou may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders\\n> import { ScriptManager } from './ScriptManager/ScriptManager.js';\\n| ScriptManager.init();"); - -/***/ }, - -/***/ "./__fixtures__/react-native/Libraries/Core/InitializeCore.js" -/*!********************************************************************!*\\ - !*** ./__fixtures__/react-native/Libraries/Core/InitializeCore.js ***! - \\********************************************************************/ -() { - -globalThis.__INITIALIZE_CORE__ = true; - - -/***/ }, - -/***/ "./__fixtures__/react-native/polyfill1.js" -/*!************************************************!*\\ - !*** ./__fixtures__/react-native/polyfill1.js ***! - \\************************************************/ -() { - -globalThis.__POLYFILL_1__ = true; - - -/***/ }, - -/***/ "./__fixtures__/react-native/polyfill2.js" -/*!************************************************!*\\ - !*** ./__fixtures__/react-native/polyfill2.js ***! - \\************************************************/ -() { - -globalThis.__POLYFILL_2__ = true; - - -/***/ }, - -/***/ "../../node_modules/.federation/entry.HASH.js" -/*!********************************************************************************!*\\ - !*** ../../node_modules/.federation/entry.HASH.js ***! - \\********************************************************************************/ -(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _rootDir__node_modules_pnpm_module_federation_webpack_bundler_runtime_0_21_0_node_modules_module_federation_webpack_bundler_runtime_dist_index_esm_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/.pnpm/@module-federation+webpack-bundler-runtime@0.21.0/node_modules/@module-federation/webpack-bundler-runtime/dist/index.esm.js */ "/node_modules/.pnpm/@module-federation+webpack-bundler-runtime@0.21.0/node_modules/@module-federation/webpack-bundler-runtime/dist/index.esm.js"); - - -if(!__webpack_require__.federation.runtime){ - var prevFederation = __webpack_require__.federation; - __webpack_require__.federation = {} - for(var key in _rootDir__node_modules_pnpm_module_federation_webpack_bundler_runtime_0_21_0_node_modules_module_federation_webpack_bundler_runtime_dist_index_esm_js__WEBPACK_IMPORTED_MODULE_0__){ - __webpack_require__.federation[key] = _rootDir__node_modules_pnpm_module_federation_webpack_bundler_runtime_0_21_0_node_modules_module_federation_webpack_bundler_runtime_dist_index_esm_js__WEBPACK_IMPORTED_MODULE_0__[key]; - } - for(var key in prevFederation){ - __webpack_require__.federation[key] = prevFederation[key]; - } -} -if(!__webpack_require__.federation.instance){ - - __webpack_require__.federation.instance = __webpack_require__.federation.runtime.init(__webpack_require__.federation.initOptions); - if(__webpack_require__.federation.attachShareScopeMap){ - __webpack_require__.federation.attachShareScopeMap(__webpack_require__) - } - if(__webpack_require__.federation.installInitialConsumes){ - __webpack_require__.federation.installInitialConsumes() - } - - if(!__webpack_require__.federation.isMFRemote && __webpack_require__.federation.prefetch){ - __webpack_require__.federation.prefetch() - } -} - -/***/ }, - -/***/ "./index.js" -/*!******************!*\\ - !*** ./index.js ***! - \\******************/ -(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -globalThis.__APP_ENTRY__ = true; - -/***/ } - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ var execOptions = { id: moduleId, module: module, factory: __webpack_modules__[moduleId], require: __webpack_require__ }; -/******/ __webpack_require__.i.forEach(function(handler) { handler(execOptions); }); -/******/ if (!execOptions.factory) { -/******/ delete __webpack_module_cache__[moduleId]; -/******/ var e = new Error("Cannot find module '" + moduleId + "'"); -/******/ e.code = 'MODULE_NOT_FOUND'; -/******/ throw e; -/******/ } -/******/ module = execOptions.module; -/******/ execOptions.factory.call(module.exports, module, module.exports, execOptions.require); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = __webpack_module_cache__; -/******/ -/******/ // expose the module execution interceptor -/******/ __webpack_require__.i = []; -/******/ -/******/ // the startup function -/******/ __webpack_require__.x = x => {}; -/************************************************************************/ -/******/ /* webpack/runtime/federation runtime */ -/******/ (() => { -/******/ if(!__webpack_require__.federation){ -/******/ __webpack_require__.federation = { -/******/ initOptions: {"name":"testContainer","remotes":[],"shareStrategy":"version-first"}, -/******/ chunkMatcher: function(chunkId) {return false}, -/******/ rootOutputDir: "", -/******/ bundlerRuntimeOptions: { remotes: { remoteInfos: {}, webpackRequire: __webpack_require__,idToRemoteMap: {}, chunkMapping: {},idToExternalAndNameMapping: {} } } -/******/ }; -/******/ __webpack_require__.consumesLoadingData = {} -/******/ __webpack_require__.remotesLoadingData = {} -/******/ } -/******/ })(); -/******/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/sharing */ -/******/ (() => { -/******/ __webpack_require__.S = {}; -/******/ var initPromises = {}; -/******/ var initTokens = {}; -/******/ __webpack_require__.I = (name, initScope) => { -/******/ if(!initScope) initScope = []; -/******/ // handling circular init calls -/******/ var initToken = initTokens[name]; -/******/ if(!initToken) initToken = initTokens[name] = {}; -/******/ if(initScope.indexOf(initToken) >= 0) return; -/******/ initScope.push(initToken); -/******/ // only runs once -/******/ if(initPromises[name]) return initPromises[name]; -/******/ // creates a new share scope if needed -/******/ if(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {}; -/******/ // runs all init snippets from all modules reachable -/******/ var scope = __webpack_require__.S[name]; -/******/ var warn = (msg) => { -/******/ if (typeof console !== "undefined" && console.warn) console.warn(msg); -/******/ }; -/******/ var uniqueName = undefined; -/******/ var register = (name, version, factory, eager) => { -/******/ var versions = scope[name] = scope[name] || {}; -/******/ var activeVersion = versions[version]; -/******/ if(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager }; -/******/ }; -/******/ var initExternal = (id) => { -/******/ var handleError = (err) => (warn("Initialization of sharing external failed: " + err)); -/******/ try { -/******/ var module = __webpack_require__(id); -/******/ if(!module) return; -/******/ var initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope)) -/******/ if(module.then) return promises.push(module.then(initFn, handleError)); -/******/ var initResult = initFn(module); -/******/ if(initResult && initResult.then) return promises.push(initResult['catch'](handleError)); -/******/ } catch(err) { handleError(err); } -/******/ } -/******/ var promises = []; -/******/ switch(name) { -/******/ } -/******/ if(!promises.length) return initPromises[name] = 1; -/******/ return initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1)); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/sharing */ -/******/ (() => { -/******/ __webpack_require__.federation.initOptions.shared = {} -/******/ __webpack_require__.S = {}; -/******/ var initPromises = {}; -/******/ var initTokens = {}; -/******/ __webpack_require__.I = (name, initScope) => { -/******/ return __webpack_require__.federation.bundlerRuntime.I({ shareScopeName: name, -/******/ webpackRequire: __webpack_require__, -/******/ initPromises: initPromises, -/******/ initTokens: initTokens, -/******/ initScope: initScope, -/******/ }) -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/repack/polyfills */ -/******/ (() => { -/******/ __webpack_require__("./__fixtures__/react-native/polyfill1.js"); -/******/ __webpack_require__("./__fixtures__/react-native/polyfill2.js"); -/******/ })(); -/******/ -/******/ /* webpack/runtime/embed/federation */ -/******/ (() => { -/******/ var prevStartup = __webpack_require__.x; -/******/ var hasRun = false; -/******/ __webpack_require__.x = () => { -/******/ if (!hasRun) { -/******/ hasRun = true; -/******/ __webpack_require__(/*! ../../node_modules/.federation/entry.HASH.js */ "../../node_modules/.federation/entry.HASH.js"); -/******/ } -/******/ if (typeof prevStartup === 'function') { -/******/ return prevStartup(); -/******/ } else { -/******/ console.warn('[Module Federation] prevStartup is not a function, skipping startup execution'); -/******/ } -/******/ }; -/******/ })(); -/******/ -/************************************************************************/ -/******/ // run runtime startup -/******/ __webpack_require__.x(); -/******/ // module factories are used so entry inlining is disabled -/******/ // startup -/******/ // Load entry module and return exports -/******/ __webpack_require__("./__fixtures__/react-native/polyfill1.js"); -/******/ __webpack_require__("./__fixtures__/react-native/polyfill2.js"); -/******/ __webpack_require__("./__fixtures__/react-native/Libraries/Core/InitializeCore.js"); -/******/ __webpack_require__("../../../../packages/repack/dist/modules/InitializeScriptManager.js"); -/******/ __webpack_require__("../../../../packages/repack/dist/modules/IncludeModules.js"); -/******/ var __webpack_exports__ = __webpack_require__("./index.js"); -/******/ -/******/ })() -;" -`; - -exports[`NativeEntryPlugin > with Module Federation v2 ('2.0.1') > should execute polyfills runtime module before MF v2 federation runtime 1`] = ` +exports[`NativeEntryPlugin > with Module Federation v2 (2.0.1) > should execute polyfills runtime module before MF v2 federation runtime 1`] = ` "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ diff --git a/tests/metro-compat/package.json b/tests/metro-compat/package.json index 8559a642f..c35ef7097 100644 --- a/tests/metro-compat/package.json +++ b/tests/metro-compat/package.json @@ -7,7 +7,7 @@ "private": true, "engineStrict": true, "engines": { - "node": ">=20" + "node": ">=22.12.0" }, "scripts": { "test": "jest --noStackTrace", diff --git a/tests/resolver-cases/package.json b/tests/resolver-cases/package.json index 71d351458..f50f4ec73 100644 --- a/tests/resolver-cases/package.json +++ b/tests/resolver-cases/package.json @@ -13,6 +13,7 @@ "enhanced-resolve": "^5.18.1", "memfs": "^4.11.1", "typescript": "catalog:", + "vite": "catalog:", "vitest": "catalog:" } } diff --git a/tsconfig.base.json b/tsconfig.base.json index 7fe8ed21e..4ce7dcd1a 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2021", + "target": "ES2023", "module": "nodenext", "moduleResolution": "nodenext", "strict": true, diff --git a/website/src/latest/api/cli/bundle.mdx b/website/src/latest/api/cli/bundle.mdx index a8fecc25e..d2ecd97c1 100644 --- a/website/src/latest/api/cli/bundle.mdx +++ b/website/src/latest/api/cli/bundle.mdx @@ -138,13 +138,6 @@ Path to a bundler config file, e.g rspack.config.js. Select the bundler explicitly. Without this option, Re.Pack infers the bundler from the `--config` filename, then checks the standard Rspack and webpack config filenames, and defaults to Rspack. -### `--webpackConfig` - -- Type: `string` -- Deprecated: Use [`--config`](#--config) instead - -Path to a bundler config file, e.g webpack.config.js. - ### `-h`, `--help` Display help for command. diff --git a/website/src/latest/api/cli/start.mdx b/website/src/latest/api/cli/start.mdx index 95aa0d258..404481ee3 100644 --- a/website/src/latest/api/cli/start.mdx +++ b/website/src/latest/api/cli/start.mdx @@ -116,13 +116,6 @@ Path to a bundler config file, e.g webpack.config.js. Select the bundler explicitly. Without this option, Re.Pack infers the bundler from the `--config` filename, then checks the standard Rspack and webpack config filenames, and defaults to Rspack. -### `--webpackConfig` - -- Type: `path` -- Deprecated: Use [`--config`](#--config) instead - -Path to a bundler config file, e.g webpack.config.js. - ### `-h`, `--help` Display help for command. diff --git a/website/src/latest/api/plugins/_meta.json b/website/src/latest/api/plugins/_meta.json index 3d3c3ddad..43eca7e18 100644 --- a/website/src/latest/api/plugins/_meta.json +++ b/website/src/latest/api/plugins/_meta.json @@ -4,11 +4,6 @@ "name": "repack", "label": "RepackPlugin" }, - { - "type": "file", - "name": "module-federation-v1", - "label": "ModuleFederationPluginV1" - }, { "type": "file", "name": "module-federation-v2", diff --git a/website/src/latest/api/plugins/code-signing.md b/website/src/latest/api/plugins/code-signing.md index 4cca3cfff..b70b70fd1 100644 --- a/website/src/latest/api/plugins/code-signing.md +++ b/website/src/latest/api/plugins/code-signing.md @@ -198,24 +198,16 @@ Integrity verification can be set (through `verifyScriptSignature`) to one of th Go to `index.js` and modify your `ScriptManager` setup like this: -```js title="index.js" {17} -import { ScriptManager, Federated } from "@callstack/repack/client"; +```js title="index.js" {9} +import { Platform } from "react-native"; +import { ScriptManager } from "@callstack/repack/client"; -const containers = { - MiniApp: "http://localhost:9000/[name][ext]", -}; - -ScriptManager.shared.addResolver(async (scriptId, caller) => { - const resolveURL = Federated.createURLResolver({ containers }); - - const url = resolveURL(scriptId, caller); - if (url) { - return { - url, - query: { platform: Platform.OS }, - verifyScriptSignature: __DEV__ ? "off" : "strict", - }; - } +ScriptManager.shared.addResolver(async (scriptId) => { + return { + url: `https://cdn.example.com/${Platform.OS}/${scriptId}.chunk.bundle`, + query: { platform: Platform.OS }, + verifyScriptSignature: __DEV__ ? "off" : "strict", + }; }); ``` @@ -224,19 +216,11 @@ ScriptManager.shared.addResolver(async (scriptId, caller) => { If different teams sign different bundles, the resolver can provide a script-specific public key at runtime. When `publicKey` is present, Re.Pack uses it for verification. When it is omitted, Re.Pack falls back to the key embedded in the app under `RepackPublicKey`. ```js title="index.js" -import { ScriptManager, Federated } from "@callstack/repack/client"; - -const containers = { - MiniApp: "https://cdn.example.com/[name][ext]", -}; - -ScriptManager.shared.addResolver(async (scriptId, caller) => { - const resolveURL = Federated.createURLResolver({ containers }); - const url = resolveURL(scriptId, caller); +import { Platform } from "react-native"; +import { ScriptManager } from "@callstack/repack/client"; - if (!url) { - return; - } +ScriptManager.shared.addResolver(async (scriptId) => { + const url = `https://cdn.example.com/${Platform.OS}/${scriptId}.chunk.bundle`; const metadata = await fetch( `https://api.example.com/miniapps/${scriptId}/bundle-metadata` diff --git a/website/src/latest/api/plugins/module-federation-v1.mdx b/website/src/latest/api/plugins/module-federation-v1.mdx deleted file mode 100644 index 036e97cd1..000000000 --- a/website/src/latest/api/plugins/module-federation-v1.mdx +++ /dev/null @@ -1,98 +0,0 @@ -# ModuleFederationPluginV1 - -:::caution Deprecated -This plugin is deprecated and maintained only for compatibility reasons. - -You should be using [Module Federation Plugin V2](/api/plugins/module-federation-v2) -which provides enhanced features like dynamic type hinting, manifest support and Federation Runtime - learn more in the [Module Federation 2.0 documentation](https://module-federation.io/guide/start/index.html#-what-is-module-federation-20). -::: - -This plugin is designed to configure Module Federation. It's an enhanced version of the standard Module Federation plugin that's specifically tailored for React Native environments. - -:::info About configuration options - -This documentation describes only Re.Pack-specific configuration options. - -For the complete configuration reference, please use the official bundler specific documentation: -- [Rspack's ModuleFederationPlugin](https://rspack.rs/plugins/module-federation-plugin-v1) -- [Webpack's ModuleFederationPlugin](https://webpack.js.org/plugins/module-federation-plugin/) - -::: - -## Usage - -```js title="rspack.config.cjs" -const Repack = require("@callstack/repack"); - -module.exports = { - output: { - // set uniqueName explicitly to make HMR works - uniqueName: 'host', - }, - plugins: [ - new Repack.plugins.ModuleFederationPluginV1({ - // options - }), - ], -}; -``` - -## Configuration - -### reactNativeDeepImports - -- Type: `boolean` -- Default: `true` - -Enable or disable adding React Native deep imports to shared dependencies. When enabled, the plugin will automatically add: - -- `react-native/` for deep imports from React Native core -- `@react-native/` for deep imports from official React Native packages - -This ensures proper sharing of deep imports and single instances of things like `assetsRegistry`. - -:::info What are deep imports? -Deep imports are when you import from a specific subdirectory or file within a package rather than the package's main entry point. For example: - -```js -// Deep import from React Native core -import { PixelRatio } from "react-native/Libraries/Utilities/PixelRatio"; - -// Deep import from React Native package -import { something } from "@react-native/assets-registry"; -``` - -React Native uses deep imports extensively in its internal implementation. The `reactNativeDeepImports` option ensures these imports are properly shared between federated modules. - -This feature solves a common Module Federation issue where deep imports create separate instances in host and remote apps - see this [Stack Overflow discussion](https://stackoverflow.com/questions/65636979/wp5-module-federation-sharing-deep-imports) for the original problem. -::: - -## Examples - -### Host Configuration - -```js -new Repack.plugins.ModuleFederationPluginV1({ - name: "host", - shared: { - react: { singleton: true, eager: true }, - "react-native": { singleton: true, eager: true }, - }, -}); -``` - -### Remote Configuration - -```js -new Repack.plugins.ModuleFederationPluginV1({ - name: "module1", - exposes: { - "./entry": "./src/entry.js", - }, - shared: { - react: { singleton: true, eager: false }, - "react-native": { singleton: true, eager: false }, - }, -}); -``` - diff --git a/website/src/latest/api/plugins/module-federation-v2.mdx b/website/src/latest/api/plugins/module-federation-v2.mdx index 8eec43407..a7bee557a 100644 --- a/website/src/latest/api/plugins/module-federation-v2.mdx +++ b/website/src/latest/api/plugins/module-federation-v2.mdx @@ -9,6 +9,10 @@ This documentation describes only Re.Pack-specific configuration options. For th All standard Module Federation 2.0 options are supported in addition to the options described below. ::: +:::tip Alias +Since Re.Pack 6, `Repack.plugins.ModuleFederationPlugin` is an alias of `ModuleFederationPluginV2`. +::: + ## Mobile MF Quirks @@ -25,7 +29,7 @@ The plugin extends the standard Module Federation 2.0 plugin with functionality ## Installation -First, install the official `@module-federation/enhanced` package which is required by Re.Pack: +First, install the official `@module-federation/enhanced` package (version 2.0 or newer) which is required by Re.Pack: import { PackageManagerTabs } from '@theme'; diff --git a/website/src/latest/api/utils/get-resolve-options.md b/website/src/latest/api/utils/get-resolve-options.md index a41c03396..b3e14a6f4 100644 --- a/website/src/latest/api/utils/get-resolve-options.md +++ b/website/src/latest/api/utils/get-resolve-options.md @@ -28,12 +28,12 @@ Target application platform (e.g. `ios` or `android`). ### options.enablePackageExports - Type: `boolean` -- Default: `false` +- Default: `true` Whether to enable Package Exports support. When enabled, uses the `exports` field in `package.json` instead of main fields. :::warning -React Native 0.88 requires `enablePackageExports: true` in your Re.Pack resolver configuration. Its `react-native/setup-env` and `react-native/react-private-interface` entry points, as well as `@react-native/asset-utils`, use package exports. +React Native 0.88 requires package exports, so don't set `enablePackageExports: false` there. Its `react-native/setup-env` and `react-native/react-private-interface` entry points, as well as `@react-native/asset-utils`, use package exports. Enabling package exports can change how existing dependencies resolve. For more details, please refer to the [Module Resolution guide](/docs/features/module-resolution). ::: diff --git a/website/src/latest/docs/features/module-federation.md b/website/src/latest/docs/features/module-federation.md index 625ce9f5f..f676d266a 100644 --- a/website/src/latest/docs/features/module-federation.md +++ b/website/src/latest/docs/features/module-federation.md @@ -153,9 +153,9 @@ npx react-native start --port 8082 ## Migrating from V1 -`ModuleFederationPluginV1` will be removed in the next major. To move to V2: +`ModuleFederationPluginV1` and the `Federated` helpers were removed in Re.Pack 6. To move to V2: -1. Install `@module-federation/enhanced` and replace `ModuleFederationPluginV1` with `ModuleFederationPluginV2` in every config. +1. Install `@module-federation/enhanced` (2.0 or newer) and replace `ModuleFederationPluginV1` with `ModuleFederationPluginV2` in every config. 2. Point remotes to the manifest instead of the container bundle: ```diff diff --git a/website/src/latest/docs/features/module-resolution.md b/website/src/latest/docs/features/module-resolution.md index bb7a56af7..5be389c29 100644 --- a/website/src/latest/docs/features/module-resolution.md +++ b/website/src/latest/docs/features/module-resolution.md @@ -22,9 +22,7 @@ import * as Repack from "@callstack/repack"; export default (env) => { return { resolve: { - ...Repack.getResolveOptions(env.platform, { - enablePackageExports: true, - }), + ...Repack.getResolveOptions(env.platform), }, }; }; @@ -105,7 +103,7 @@ Main fields are `package.json` properties that point to a package's entry file. ::: -When resolving a package's entry point, Re.Pack checks these fields in `package.json` in order: +When a package has no `exports` field, or [package exports](#package-exports-conditional-exports) are disabled, Re.Pack resolves its entry point by checking these fields in `package.json` in order: 1. `react-native` — React Native-specific entry point 2. `browser` — Browser-compatible entry point @@ -146,15 +144,15 @@ Modern packages use the `exports` field in `package.json` to define entry points :::caution -Package exports support is **disabled by default** (`enablePackageExports: false`) to maintain backwards compatibility with existing React Native projects. React Native 0.87 requires it for `@react-native/asset-utils`, and 0.88 also for `react-native/setup-env` and `react-native/react-private-interface`. Enable it explicitly for React Native 0.87 and newer, or whenever your dependencies require it. The configuration templates used by `@callstack/repack-init` enable it. +Package exports support is **enabled by default** (`enablePackageExports: true`), matching Metro's default since React Native 0.79. React Native 0.87 requires it for `@react-native/asset-utils`, and 0.88 also for `react-native/setup-env` and `react-native/react-private-interface`, so only disable it if your React Native version and dependencies don't need it. ::: -### Enabling package exports +### Disabling package exports ```ts Repack.getResolveOptions({ - enablePackageExports: true, + enablePackageExports: false, }); ``` @@ -277,7 +275,7 @@ export default (env) => { 1. **Check the package's `package.json`** — Look at `main`, `react-native`, `browser`, and `exports` fields 2. **Verify platform extensions** — Ensure platform-specific files use correct naming (`.ios.js`, not `.iOS.js`) -3. **Check `enablePackageExports`** — Some modern packages require this to be `true` +3. **Check `enablePackageExports`** — Some modern packages require this to be `true` (the default) ### Platform-specific files not being picked up @@ -287,7 +285,7 @@ export default (env) => { ### Package exports compatibility issues -When enabling `enablePackageExports`, some packages may resolve differently: +With `enablePackageExports` enabled, some packages may resolve differently than with main fields only: 1. **Compare with Metro** — Test the same import in a Metro-bundled project 2. **Check condition order** — The `react-native` condition should take precedence diff --git a/website/src/latest/docs/features/reanimated.mdx b/website/src/latest/docs/features/reanimated.mdx index 6a5a03e8a..0be10f997 100644 --- a/website/src/latest/docs/features/reanimated.mdx +++ b/website/src/latest/docs/features/reanimated.mdx @@ -24,9 +24,9 @@ To add Reanimated support to your Re.Pack project with Rspack, install the plugi -## Usage with Reanimated 4+ +## Usage -For Reanimated 4 and above, the worklet transformation is handled by the `react-native-worklets/plugin` babel plugin. +The plugin requires Reanimated 4 or newer, where the worklet transformation is handled by the `react-native-worklets/plugin` babel plugin. Install the worklets package: @@ -62,33 +62,3 @@ module.exports = { ``` This will disable adding now redundant `babel-loader` rules, and defer the transformation to Babel through `babel-swc-loader`. - - -## Usage with Reanimated 3 - -First add the `react-native-reanimated` babel plugin to your `babel.config.js`: - -```js title="babel.config.js" -module.exports = { - presets: ["module:@react-native/babel-preset"], - plugins: [ - "react-native-reanimated/plugin", - ], -}; -``` - -Then apply the `ReanimatedPlugin` with the unstable_disableTransform option set to `true`. - -```js title="rspack.config.cjs" -const Repack = require("@callstack/repack"); -const { ReanimatedPlugin } = require("@callstack/repack-plugin-reanimated"); - -module.exports = { - plugins: [ - new Repack.RepackPlugin(), - new ReanimatedPlugin({ - unstable_disableTransform: true, - }), - ], -}; -``` diff --git a/website/src/latest/docs/getting-started/quick-start.mdx b/website/src/latest/docs/getting-started/quick-start.mdx index cfb325eb2..ad6efb54e 100644 --- a/website/src/latest/docs/getting-started/quick-start.mdx +++ b/website/src/latest/docs/getting-started/quick-start.mdx @@ -11,13 +11,9 @@ If you're already familiar with JavaScript, React Native and webpack, then you'l ## Minimum requirements -- Node >= 18 (we recommend 22 or newer) - -:::note On React Native Version - -The absolute minimum required version of React Native is 0.74.0, which contains fixes enabling proper SWC transpilation. While versions lower than 0.74 might work, they will most likely only function with Webpack. - -::: +- Node >= 22.12 (we recommend 24 or newer) +- React Native >= 0.82 (New Architecture) +- `@module-federation/enhanced` >= 2.0 (only when using Module Federation) :::info Version Support Policy diff --git a/website/src/latest/docs/migration-guides/_meta.json b/website/src/latest/docs/migration-guides/_meta.json index 1b19855b6..5be6da17b 100644 --- a/website/src/latest/docs/migration-guides/_meta.json +++ b/website/src/latest/docs/migration-guides/_meta.json @@ -1 +1 @@ -["metro", "repack-v4", "rspack"] +["metro", "repack-v5", "repack-v4", "rspack"] diff --git a/website/src/latest/docs/migration-guides/metro.mdx b/website/src/latest/docs/migration-guides/metro.mdx index 3e2ff5e0e..6f8f75906 100644 --- a/website/src/latest/docs/migration-guides/metro.mdx +++ b/website/src/latest/docs/migration-guides/metro.mdx @@ -31,22 +31,13 @@ Once the dependencies are installed, you need to tell React Native Community CLI Add the following content to `react-native.config.js` (or create it if it doesn't exist): - - - ```js title="react-native.config.js" - module.exports = { - commands: require('@callstack/repack/commands/rspack'), - }; - ``` - - - ```js title="react-native.config.js" - module.exports = { - commands: require('@callstack/repack/commands/webpack'), - }; - ``` - - +```js title="react-native.config.js" +module.exports = { + commands: require('@callstack/repack/commands'), +}; +``` + +Re.Pack picks Rspack or webpack based on your config file name (`rspack.config.*` or `webpack.config.*`). Use the [`--bundler`](/api/cli/start#--bundler) option to select one explicitly. This will allow you to use Re.Pack when running `react-native start` and `react-native bundle` commands. diff --git a/website/src/latest/docs/migration-guides/repack-v5.mdx b/website/src/latest/docs/migration-guides/repack-v5.mdx new file mode 100644 index 000000000..b5efea586 --- /dev/null +++ b/website/src/latest/docs/migration-guides/repack-v5.mdx @@ -0,0 +1,104 @@ +# Migrating from Re.Pack 5 + +Re.Pack 6 raises the minimum supported versions of Node.js, React Native, Module Federation and Reanimated, and removes APIs that were deprecated in Re.Pack 5. + +## Update dependencies in `package.json` + +```diff +{ + "devDependencies": { +- "@callstack/repack": "5.x.x" ++ "@callstack/repack": "^6.0.0" + } +} +``` + +Update the Re.Pack plugins you use (`@callstack/repack-plugin-*`) to the same major version. + +## Minimum supported versions + +| Dependency | Re.Pack 5 | Re.Pack 6 | +| ----------------------------- | ----------- | --------- | +| Node.js | `>=18` | `>=22.12` | +| React Native | `>=0.74` | `>=0.82` | +| `@module-federation/enhanced` | `>=0.6.10` | `>=2.0.0` | +| `react-native-reanimated` | `>=3` | `>=4` | + +## The legacy architecture is no longer supported + +React Native 0.82 removed the legacy architecture, so Re.Pack's native module is now built only as a TurboModule. If your app still sets `newArchEnabled=false`, migrate it to the [New Architecture](https://reactnative.dev/architecture/landing-page) before upgrading. + +## Package exports are enabled by default + +`getResolveOptions()` now sets `enablePackageExports` to `true` by default, matching Metro's default since React Native 0.79. Configs that already pass `enablePackageExports: true` don't need changes. If your project relies on main-field resolution, opt out explicitly: + +```diff + resolve: { +- ...Repack.getResolveOptions(), ++ ...Repack.getResolveOptions({ enablePackageExports: false }), + }, +``` + +See [Module Resolution](/docs/features/module-resolution#package-exports-conditional-exports) for how package exports change resolution. + +## Module Federation V1 was removed + +`ModuleFederationPluginV1` is no longer available, and `Repack.plugins.ModuleFederationPlugin` now points to [`ModuleFederationPluginV2`](/api/plugins/module-federation-v2). Follow [Migrating from V1](/docs/features/module-federation#migrating-from-v1) to move your configs to Module Federation 2.0. + +The `Federated` helpers, which only worked with V1, were removed as well: + +- `Federated.SHARED_REACT`, `Federated.SHARED_REACT_NATIVE` and `Federated.createRemote` from `@callstack/repack` +- `Federated.createURLResolver` and `Federated.importModule` from `@callstack/repack/client` + +## Removed deprecated APIs + +### `ChunksToHermesBytecodePlugin` + +Use `HermesBytecodePlugin` instead. The options are the same. + +```diff +- new Repack.plugins.ChunksToHermesBytecodePlugin({ ... }) ++ new Repack.plugins.HermesBytecodePlugin({ ... }) +``` + +### `getPublicPath` + +Remove the call. Re.Pack configures `output.publicPath` out of the box. + +```diff + output: { +- publicPath: Repack.getPublicPath({ platform, devServer }), + }, +``` + +### `--webpackConfig` CLI option + +Use [`--config`](/api/cli/start#--config) instead. + +```diff +- react-native start --webpackConfig webpack.config.js ++ react-native start --config webpack.config.js +``` + +### `@callstack/repack/commands/rspack` and `@callstack/repack/commands/webpack` + +Use the unified commands. They pick the bundler based on the config file name, or the [`--bundler`](/api/cli/start#--bundler) option. + +```diff title="react-native.config.js" +module.exports = { +- commands: require('@callstack/repack/commands/rspack'), ++ commands: require('@callstack/repack/commands'), +}; +``` + +### `OutputPlugin` output options + +`output.bundleFilename`, `output.sourceMapFilename` and `output.assetsPath` had no effect since Re.Pack 5 and are now rejected by `OutputPlugin`'s option validation. Remove them and use the `--bundle-output`, `--sourcemap-output` and `--assets-dest` CLI options instead. + +### `reanimatedModuleRules` from `@callstack/repack-plugin-reanimated` + +Use `reanimated4ModuleRules` instead. `reanimatedModuleRules` was an alias of `reanimated3ModuleRules`, which was removed together with Reanimated 3 support (see below). + +### Reanimated 3 support in `@callstack/repack-plugin-reanimated` + +Reanimated 3 doesn't support React Native 0.82 or newer, so `ReanimatedPlugin` now requires `react-native-reanimated` 4 together with `react-native-worklets`, and `reanimated3ModuleRules` was removed. Follow the [Reanimated 4 migration guide](https://docs.swmansion.com/react-native-reanimated/docs/guides/migration-from-3.x/), then replace `react-native-reanimated/plugin` with `react-native-worklets/plugin` in your Babel config. diff --git a/website/src/latest/docs/migration-guides/rspack.mdx b/website/src/latest/docs/migration-guides/rspack.mdx index 3883b4e29..724d32fa0 100644 --- a/website/src/latest/docs/migration-guides/rspack.mdx +++ b/website/src/latest/docs/migration-guides/rspack.mdx @@ -25,13 +25,12 @@ To use Rspack, you'll need to update your dependencies by adding the following: ## Update `react-native.config.js` -Since Re.Pack now supports multiple bundlers, you need to specify that you want to use Rspack commands explicitly. -Update your `react-native.config.js` file to use Rspack commands: +Make sure your `react-native.config.js` uses the unified Re.Pack commands. They pick the bundler based on the config file name, so renaming the config to `rspack.config.*` (see below) is enough to switch to Rspack: ```diff title="react-native.config.js" module.exports = { - commands: require('@callstack/repack/commands/webpack'), -+ commands: require('@callstack/repack/commands/rspack'), ++ commands: require('@callstack/repack/commands'), }; ```