diff --git a/.clang-format b/.clang-format new file mode 100644 index 000000000..1def6583b --- /dev/null +++ b/.clang-format @@ -0,0 +1,30 @@ +--- +BasedOnStyle: LLVM +Language: Cpp +AllowAllArgumentsOnNextLine: false +AllowAllParametersOfDeclarationOnNextLine: false +BinPackArguments: false +BinPackParameters: false +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Attach +BreakBeforeTernaryOperators: true +BreakConstructorInitializers: AfterColon +BreakInheritanceList: AfterColon +ColumnLimit: 80 +CompactNamespaces: false +ConstructorInitializerAllOnOneLineOrOnePerLine: true +IndentCaseLabels: true +IndentPPDirectives: BeforeHash +IndentWidth: 2 +IndentWrappedFunctionNames: true +KeepEmptyLinesAtTheStartOfBlocks: false +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: All +ObjCBinPackProtocolList: Never +ReflowComments: true +SortIncludes: false +SpaceBeforeParens: Never +SpaceInEmptyParentheses: false +UseTab: Never + +... diff --git a/.swift-format b/.swift-format new file mode 100644 index 000000000..545beaa17 --- /dev/null +++ b/.swift-format @@ -0,0 +1,79 @@ +{ + "fileScopedDeclarationPrivacy" : { + "accessLevel" : "private" + }, + "indentConditionalCompilationBlocks" : true, + "indentSwitchCaseLabels" : false, + "indentation" : { + "spaces" : 2 + }, + "lineBreakAroundMultilineExpressionChainComponents" : false, + "lineBreakBeforeControlFlowKeywords" : false, + "lineBreakBeforeEachArgument" : false, + "lineBreakBeforeEachGenericRequirement" : false, + "lineBreakBetweenDeclarationAttributes" : false, + "lineLength" : 100, + "maximumBlankLines" : 1, + "multiElementCollectionTrailingCommas" : true, + "noAssignmentInExpressions" : { + "allowedFunctions" : [ + "XCTAssertNoThrow" + ] + }, + "prioritizeKeepingFunctionOutputTogether" : false, + "reflowMultilineStringLiterals" : { + "never" : { + + } + }, + "respectsExistingLineBreaks" : true, + "rules" : { + "AllPublicDeclarationsHaveDocumentation" : false, + "AlwaysUseLiteralForEmptyCollectionInit" : false, + "AlwaysUseLowerCamelCase" : true, + "AmbiguousTrailingClosureOverload" : true, + "AvoidRetroactiveConformances" : true, + "BeginDocumentationCommentWithOneLineSummary" : false, + "DoNotUseSemicolons" : true, + "DontRepeatTypeInStaticProperties" : true, + "FileScopedDeclarationPrivacy" : true, + "FullyIndirectEnum" : true, + "GroupNumericLiterals" : true, + "IdentifiersMustBeASCII" : true, + "NeverForceUnwrap" : false, + "NeverUseForceTry" : false, + "NeverUseImplicitlyUnwrappedOptionals" : false, + "NoAccessLevelOnExtensionDeclaration" : true, + "NoAssignmentInExpressions" : true, + "NoBlockComments" : true, + "NoCasesWithOnlyFallthrough" : true, + "NoEmptyLinesOpeningClosingBraces" : false, + "NoEmptyTrailingClosureParentheses" : true, + "NoLabelsInCasePatterns" : true, + "NoLeadingUnderscores" : false, + "NoParensAroundConditions" : true, + "NoPlaygroundLiterals" : true, + "NoVoidReturnOnFunctionSignature" : true, + "OmitExplicitReturns" : false, + "OneCasePerLine" : true, + "OneVariableDeclarationPerLine" : true, + "OnlyOneTrailingClosureArgument" : true, + "OrderedImports" : true, + "ReplaceForEachWithForLoop" : true, + "ReturnVoidInsteadOfEmptyTuple" : true, + "TypeNamesShouldBeCapitalized" : true, + "UseEarlyExits" : false, + "UseExplicitNilCheckInConditions" : true, + "UseLetInEveryBoundCaseVariable" : true, + "UseShorthandTypeNames" : true, + "UseSingleLinePropertyGetter" : true, + "UseSynthesizedInitializer" : true, + "UseTripleSlashForDocumentationComments" : true, + "UseWhereClausesInForLoops" : false, + "ValidateDocumentationComments" : false + }, + "spacesAroundRangeFormationOperators" : false, + "spacesBeforeEndOfLineComments" : 2, + "tabWidth" : 8, + "version" : 1 +} diff --git a/CHANGELOG.md b/CHANGELOG.md index a89e153e0..45e4a71be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +## 2.1.0-beta.1 + +## Fixes +- Add Temporary fix for circular paths, which break expo ([9c09743](https://github.com/Iterable/react-native-sdk/commit/9c09743)) + +## 2.1.0-beta.0 + +### Updates +- Update SDK so that it has full support for [React Native New Architecture](https://reactnative.dev/architecture/landing-page) + +### Chores +- Update dependencies for React Navigation and related packages ([95053bb](https://github.com/Iterable/react-native-sdk/commit/95053bb)) + + ## 2.0.4 ## Updates diff --git a/Iterable-React-Native-SDK.podspec b/Iterable-React-Native-SDK.podspec index 661790a03..884417e1f 100644 --- a/Iterable-React-Native-SDK.podspec +++ b/Iterable-React-Native-SDK.podspec @@ -1,7 +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' Pod::Spec.new do |s| s.name = "Iterable-React-Native-SDK" @@ -14,31 +13,20 @@ Pod::Spec.new do |s| s.platforms = { :ios => min_ios_version_supported } s.source = { :git => "https://github.com/Iterable/react-native-sdk.git", :tag => "#{s.version}" } - s.source_files = "ios/**/*.{h,m,mm,swift}" - - # 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" - - # Don't install the dependencies when we run `pod install` in the old architecture. - if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then - s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1" - s.pod_target_xcconfig = { - "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 + s.source_files = "ios/**/*.{h,m,mm,cpp,swift}" + s.private_header_files = "ios/**/*.h" + # Load Iterables iOS SDK as a dependency s.dependency "Iterable-iOS-SDK", "6.5.4.1" + # Basic Swift support + s.pod_target_xcconfig = { + 'DEFINES_MODULE' => 'YES', + 'CLANG_ENABLE_MODULES' => 'YES', + 'SWIFT_VERSION' => '5.0', + "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(), + } + + install_modules_dependencies(s) + end diff --git a/README.md b/README.md index 9f8ead8e9..5bcf4cd66 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ Iterable. It supports JavaScript and TypeScript. - [Installation](#installation) - [📚 API Documentation](#-api-documentation) - [Architecture Support](#architecture-support) + - [Beta Versions](#beta-versions) - [Features](#features) - [Example project](#example-project) - [Version mapping](#version-mapping) @@ -49,6 +50,10 @@ Iterable's React Native SDK relies on: - Xcode 12+ - [Deployment target 13.4+](https://help.apple.com/xcode/mac/current/#/deve69552ee5) - [Iterable's iOS SDK](https://github.com/Iterable/iterable-swift-sdk) + - **Podfile Configuration**: The linkage must be set to dynamic in your Podfile to load Swift modules that the SDK depends on. Add the following to your Podfile: + ```ruby + use_frameworks! :linkage => :dynamic + ``` - **Android** - [`minSdkVersion` 21+, `compileSdkVersion` 31+](https://medium.com/androiddevelopers/picking-your-compilesdkversion-minsdkversion-targetsdkversion-a098a0341ebd) @@ -64,11 +69,29 @@ View the [API documentation](https://iterable-react-native-sdk.netlify.app). ## Architecture Support -**Important**: Iterable's React Native SDK has limited support for [React -Native's New Architecture](https://reactnative.dev/architecture/landing-page) -through interop. We are in the process of updating the SDK to fully support the New -Architecture, and suggest using the legacy architecture in the meantime. *TLDR;* Use the New Architecture at your own risk -- -you may encounter significant issues. +Iterable's React Native SDK now fully supports [React Native's New Architecture](https://reactnative.dev/architecture/landing-page), including TurboModules and Fabric. You can use the SDK with either the legacy architecture or the New Architecture. + +Notes: + +- Ensure your app is configured for New Architecture per the React Native docs. +- The example app in this repository is configured with New Architecture enabled. + +## Beta Versions + +To opt into beta versions of the SDK, you can install the latest beta version by using the `beta` tag: + +```bash +# Install the latest beta version +npm install @iterable/react-native-sdk@beta + +# Or using yarn +yarn add @iterable/react-native-sdk@beta +``` + +**Note:** Beta versions may contain experimental features and could have +breaking changes. We recommend testing beta versions in development environments +before using them in production. Please report any issues found in beta +releases to [Customer Support](https://support.iterable.com/hc/en-us/requests/new). ## Features @@ -96,6 +119,7 @@ For quick reference, the following table lists the versions of the [Android SDK] | RN SDK Version | Android SDK Version | iOS SDK Version | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------- | +| [2.1.0-beta.0](https://www.npmjs.com/package/@iterable/react-native-sdk/v/2.1.0-beta.0) | [3.5.2](https://github.com/Iterable/iterable-android-sdk/releases/tag/3.5.2) | [6.5.4](https://github.com/Iterable/swift-sdk/releases/tag/6.5.4) | [2.0.3](https://www.npmjs.com/package/@iterable/react-native-sdk/v/2.0.3) | [3.5.2](https://github.com/Iterable/iterable-android-sdk/releases/tag/3.5.2) | [6.5.4](https://github.com/Iterable/swift-sdk/releases/tag/6.5.4) | [2.0.2](https://www.npmjs.com/package/@iterable/react-native-sdk/v/2.0.2) | [3.5.2](https://github.com/Iterable/iterable-android-sdk/releases/tag/3.5.2) | [6.5.4](https://github.com/Iterable/swift-sdk/releases/tag/6.5.4) | [2.0.1](https://www.npmjs.com/package/@iterable/react-native-sdk/v/2.0.1) | [3.5.2](https://github.com/Iterable/iterable-android-sdk/releases/tag/3.5.2) | [6.5.4](https://github.com/Iterable/swift-sdk/releases/tag/6.5.4) diff --git a/android/build.gradle b/android/build.gradle index fd26bc186..a4f938ffc 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,6 +1,7 @@ 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["RNIterable_kotlinVersion"] + ext.getExtOrDefault = {name -> + return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['RNIterable_' + name] + } repositories { google() @@ -8,17 +9,12 @@ buildscript { } dependencies { - classpath "com.android.tools.build:gradle:7.2.1" + classpath "com.android.tools.build:gradle:8.7.2" // noinspection DifferentKotlinGradleVersion - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${getExtOrDefault('kotlinVersion')}" } } -def reactNativeArchitectures() { - def value = rootProject.getProperties().get("reactNativeArchitectures") - return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"] -} - def isNewArchitectureEnabled() { return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true" } @@ -63,7 +59,11 @@ android { defaultConfig { minSdkVersion getExtOrIntegerDefault("minSdkVersion") targetSdkVersion getExtOrIntegerDefault("targetSdkVersion") + buildConfigField("boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()) + } + buildFeatures { + buildConfig true } buildTypes { @@ -80,6 +80,19 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } + + sourceSets { + main { + if (isNewArchitectureEnabled()) { + java.srcDirs += ['src/newarch'] + } else { + java.srcDirs += ['src/oldarch'] + } + } + } + + // Add this to match the Iterable SDK group ID + group = "com.iterable" } repositories { @@ -90,10 +103,7 @@ repositories { def kotlin_version = getExtOrDefault("kotlinVersion") dependencies { - // For < 0.71, this will be from the local maven repo - // For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin - //noinspection GradleDynamicVersion - implementation "com.facebook.react:react-native:+" + implementation "com.facebook.react:react-android" implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" api "com.iterable:iterableapi:3.5.2" // api project(":iterableapi") // links to local android SDK repo rather than by release diff --git a/android/gradle.properties b/android/gradle.properties index a46c61ab2..89c682313 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,7 +1,7 @@ -RNIterable_kotlinVersion=1.7.0 -RNIterable_minSdkVersion=21 -RNIterable_targetSdkVersion=31 -RNIterable_compileSdkVersion=31 -RNIterable_ndkversion=21.4.7075529 +RNIterable_kotlinVersion=2.0.21 +RNIterable_minSdkVersion=24 +RNIterable_targetSdkVersion=35 +RNIterable_compileSdkVersion=35 +RNIterable_ndkversion=27.1.12297006 android.useAndroidX=true -android.enableJetifier=true \ No newline at end of file +android.enableJetifier=true diff --git a/android/src/main/java/com/iterable/reactnative/RNIterableAPIModule.java b/android/src/main/java/com/iterable/reactnative/RNIterableAPIModuleImpl.java similarity index 79% rename from android/src/main/java/com/iterable/reactnative/RNIterableAPIModule.java rename to android/src/main/java/com/iterable/reactnative/RNIterableAPIModuleImpl.java index 4d1766472..981358be6 100644 --- a/android/src/main/java/com/iterable/reactnative/RNIterableAPIModule.java +++ b/android/src/main/java/com/iterable/reactnative/RNIterableAPIModuleImpl.java @@ -8,19 +8,16 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; - +import com.facebook.react.bridge.Promise; import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.Callback; -import com.facebook.react.bridge.Promise; import com.facebook.react.bridge.ReactApplicationContext; -import com.facebook.react.bridge.ReactContextBaseJavaModule; -import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.UiThreadUtil; import com.facebook.react.bridge.WritableMap; import com.facebook.react.modules.core.DeviceEventManagerModule; -import com.facebook.react.modules.core.RCTNativeAppEventEmitter; + import com.iterable.iterableapi.InboxSessionManager; import com.iterable.iterableapi.IterableAction; import com.iterable.iterableapi.IterableActionContext; @@ -44,15 +41,19 @@ import org.json.JSONException; import org.json.JSONObject; +import java.util.Map; +import java.util.HashMap; import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -public class RNIterableAPIModule extends ReactContextBaseJavaModule implements IterableUrlHandler, IterableCustomActionHandler, IterableInAppHandler, IterableAuthHandler, IterableInAppManager.Listener { - private final ReactApplicationContext reactContext; +public class RNIterableAPIModuleImpl implements IterableUrlHandler, IterableCustomActionHandler, IterableInAppHandler, IterableAuthHandler, IterableInAppManager.Listener { + public static final String NAME = "RNIterableAPI"; + private static String TAG = "RNIterableAPIModule"; + private final ReactApplicationContext reactContext; - private InAppResponse inAppResponse = InAppResponse.SHOW; + private IterableInAppHandler.InAppResponse inAppResponse = IterableInAppHandler.InAppResponse.SHOW; //A CountDownLatch. This helps decide whether to handle the in-app in Default way by waiting for JS to respond in runtime. private CountDownLatch jsCallBackLatch; @@ -62,22 +63,42 @@ public class RNIterableAPIModule extends ReactContextBaseJavaModule implements I private final InboxSessionManager sessionManager = new InboxSessionManager(); - public RNIterableAPIModule(ReactApplicationContext reactContext) { - super(reactContext); + public RNIterableAPIModuleImpl(ReactApplicationContext reactContext) { this.reactContext = reactContext; } - // --------------------------------------------------------------------------------------- - // region IterableSDK calls + public void initializeWithApiKey(String apiKey, ReadableMap configReadableMap, String version, Promise promise) { + IterableLogger.d(TAG, "initializeWithApiKey: " + apiKey); + IterableConfig.Builder configBuilder = Serialization.getConfigFromReadableMap(configReadableMap); - @Override - public String getName() { - return "RNIterableAPI"; + if (configReadableMap.hasKey("urlHandlerPresent") && configReadableMap.getBoolean("urlHandlerPresent") == true) { + configBuilder.setUrlHandler(this); + } + + if (configReadableMap.hasKey("customActionHandlerPresent") && configReadableMap.getBoolean("customActionHandlerPresent") == true) { + configBuilder.setCustomActionHandler(this); + } + + if (configReadableMap.hasKey("inAppHandlerPresent") && configReadableMap.getBoolean("inAppHandlerPresent") == true) { + configBuilder.setInAppHandler(this); + } + + if (configReadableMap.hasKey("authHandlerPresent") && configReadableMap.getBoolean("authHandlerPresent") == true) { + configBuilder.setAuthHandler(this); + } + + IterableApi.initialize(reactContext, apiKey, configBuilder.build()); + IterableApi.getInstance().setDeviceAttribute("reactNativeSDKVersion", version); + + IterableApi.getInstance().getInAppManager().addListener(this); + + // MOB-10421: Figure out what the error cases are and handle them appropriately + // This is just here to match the TS types and let the JS thread know when we are done initializing + promise.resolve(true); } - @ReactMethod - public void initializeWithApiKey(String apiKey, ReadableMap configReadableMap, String version, Promise promise) { - IterableLogger.d(TAG, "initializeWithApiKey: " + apiKey); + public void initialize2WithApiKey(String apiKey, ReadableMap configReadableMap, String version, String apiEndPointOverride, Promise promise) { + IterableLogger.d(TAG, "initialize2WithApiKey: " + apiKey); IterableConfig.Builder configBuilder = Serialization.getConfigFromReadableMap(configReadableMap); if (configReadableMap.hasKey("urlHandlerPresent") && configReadableMap.getBoolean("urlHandlerPresent") == true) { @@ -96,6 +117,10 @@ public void initializeWithApiKey(String apiKey, ReadableMap configReadableMap, S configBuilder.setAuthHandler(this); } + // NOTE: There does not seem to be a way to set the API endpoint + // override in the Android SDK. Check with @Ayyanchira and @evantk91 to + // see what the best approach is. + IterableApi.initialize(reactContext, apiKey, configBuilder.build()); IterableApi.getInstance().setDeviceAttribute("reactNativeSDKVersion", version); @@ -106,81 +131,69 @@ public void initializeWithApiKey(String apiKey, ReadableMap configReadableMap, S promise.resolve(true); } - @ReactMethod public void setEmail(@Nullable String email, @Nullable String authToken) { IterableLogger.d(TAG, "setEmail: " + email + " authToken: " + authToken); IterableApi.getInstance().setEmail(email, authToken); } - @ReactMethod public void updateEmail(String email, @Nullable String authToken) { IterableLogger.d(TAG, "updateEmail: " + email + " authToken: " + authToken); IterableApi.getInstance().updateEmail(email, authToken); } - @ReactMethod public void getEmail(Promise promise) { promise.resolve(RNIterableInternal.getEmail()); } - @ReactMethod public void sampleMethod(String stringArgument, int numberArgument, Callback callback) { // TODO: Implement some actually useful functionality callback.invoke("Received numberArgument: " + numberArgument + " stringArgument: " + stringArgument); } - @ReactMethod public void setUserId(@Nullable String userId, @Nullable String authToken) { IterableLogger.d(TAG, "setUserId: " + userId + " authToken: " + authToken); IterableApi.getInstance().setUserId(userId, authToken); } - @ReactMethod - public void updateUser(ReadableMap dataFields, Boolean mergeNestedObjects) { + public void updateUser(ReadableMap dataFields, boolean mergeNestedObjects) { IterableLogger.v(TAG, "updateUser"); IterableApi.getInstance().updateUser(optSerializedDataFields(dataFields), mergeNestedObjects); } - @ReactMethod public void getUserId(Promise promise) { promise.resolve(RNIterableInternal.getUserId()); } - @ReactMethod - public void trackEvent(String name, ReadableMap dataFields) { + public void trackEvent(String name, @Nullable ReadableMap dataFields) { IterableLogger.v(TAG, "trackEvent"); IterableApi.getInstance().track(name, optSerializedDataFields(dataFields)); } - @ReactMethod public void updateCart(ReadableArray items) { IterableLogger.v(TAG, "updateCart"); IterableApi.getInstance().updateCart(Serialization.commerceItemsFromReadableArray(items)); } - @ReactMethod - public void trackPurchase(Double total, ReadableArray items, ReadableMap dataFields) { + public void trackPurchase(double total, ReadableArray items, @Nullable ReadableMap dataFields) { IterableLogger.v(TAG, "trackPurchase"); IterableApi.getInstance().trackPurchase(total, Serialization.commerceItemsFromReadableArray(items), optSerializedDataFields(dataFields)); } - @ReactMethod - public void trackPushOpenWithCampaignId(Integer campaignId, Integer templateId, String messageId, Boolean appAlreadyRunning, ReadableMap dataFields) { - RNIterableInternal.trackPushOpenWithCampaignId(campaignId, templateId, messageId, optSerializedDataFields(dataFields)); + public void trackPushOpenWithCampaignId(double campaignId, @Nullable Double templateId, String messageId, boolean appAlreadyRunning, @Nullable ReadableMap dataFields) { + RNIterableInternal.trackPushOpenWithCampaignId((int) campaignId, templateId != null ? templateId.intValue() : null, messageId, optSerializedDataFields(dataFields)); } - @ReactMethod - public void updateSubscriptions(ReadableArray emailListIds, ReadableArray unsubscribedChannelIds, ReadableArray unsubscribedMessageTypeIds, ReadableArray subscribedMessageTypeIds, Integer campaignId, Integer templateId) { + public void updateSubscriptions(@Nullable ReadableArray emailListIds, @Nullable ReadableArray unsubscribedChannelIds, @Nullable ReadableArray unsubscribedMessageTypeIds, @Nullable ReadableArray subscribedMessageTypeIds, double campaignId, double templateId) { IterableLogger.v(TAG, "updateSubscriptions"); Integer finalCampaignId = null, finalTemplateId = null; if (campaignId > 0) { - finalCampaignId = campaignId; + finalCampaignId = (int) campaignId; } if (templateId > 0) { - finalTemplateId = templateId; + finalTemplateId = (int) templateId; } IterableApi.getInstance().updateSubscriptions(readableArrayToIntegerArray(emailListIds), readableArrayToIntegerArray(unsubscribedChannelIds), @@ -191,7 +204,6 @@ public void updateSubscriptions(ReadableArray emailListIds, ReadableArray unsubs ); } - @ReactMethod public void showMessage(String messageId, boolean consume, final Promise promise) { if (messageId == null || messageId == "") { promise.reject("", "messageId is null or empty"); @@ -205,19 +217,16 @@ public void execute(@Nullable Uri url) { }); } - @ReactMethod public void setReadForMessage(String messageId, boolean read) { IterableLogger.v(TAG, "setReadForMessage"); IterableApi.getInstance().getInAppManager().setRead(RNIterableInternal.getMessageById(messageId), read); } - @ReactMethod - public void removeMessage(String messageId, Integer location, Integer deleteSource) { + public void removeMessage(String messageId, double location, double deleteSource) { IterableLogger.v(TAG, "removeMessage"); - IterableApi.getInstance().getInAppManager().removeMessage(RNIterableInternal.getMessageById(messageId), Serialization.getIterableDeleteActionTypeFromInteger(deleteSource), Serialization.getIterableInAppLocationFromInteger(location)); + IterableApi.getInstance().getInAppManager().removeMessage(RNIterableInternal.getMessageById(messageId), Serialization.getIterableDeleteActionTypeFromInteger((int) deleteSource), Serialization.getIterableInAppLocationFromInteger((int) location)); } - @ReactMethod public void getHtmlInAppContentForMessage(String messageId, final Promise promise) { IterableLogger.printInfo(); IterableInAppMessage message = RNIterableInternal.getMessageById(messageId); @@ -241,7 +250,6 @@ public void getHtmlInAppContentForMessage(String messageId, final Promise promis } } - @ReactMethod public void getAttributionInfo(Promise promise) { IterableLogger.printInfo(); IterableAttributionInfo attributionInfo = IterableApi.getInstance().getAttributionInfo(); @@ -257,8 +265,7 @@ public void getAttributionInfo(Promise promise) { } } - @ReactMethod - public void setAttributionInfo(ReadableMap attributionInfoReadableMap) { + public void setAttributionInfo(@Nullable ReadableMap attributionInfoReadableMap) { IterableLogger.printInfo(); try { JSONObject attributionInfoJson = Serialization.convertMapToJson(attributionInfoReadableMap); @@ -269,7 +276,6 @@ public void setAttributionInfo(ReadableMap attributionInfoReadableMap) { } } - @ReactMethod public void getLastPushPayload(Promise promise) { Bundle payloadData = IterableApi.getInstance().getPayloadData(); if (payloadData != null) { @@ -280,13 +286,11 @@ public void getLastPushPayload(Promise promise) { } } - @ReactMethod public void disableDeviceForCurrentUser() { IterableLogger.v(TAG, "disableDevice"); IterableApi.getInstance().disablePush(); } - @ReactMethod public void handleAppLink(String uri, Promise promise) { IterableLogger.printInfo(); promise.resolve(IterableApi.getInstance().handleAppLink(uri)); @@ -297,8 +301,7 @@ public void handleAppLink(String uri, Promise promise) { // --------------------------------------------------------------------------------------- // region Track APIs - @ReactMethod - public void trackInAppOpen(String messageId, @Nullable Integer location) { + public void trackInAppOpen(String messageId, double location) { IterableInAppMessage message = RNIterableInternal.getMessageById(messageId); if (message == null) { @@ -306,13 +309,12 @@ public void trackInAppOpen(String messageId, @Nullable Integer location) { return; } - IterableApi.getInstance().trackInAppOpen(message, Serialization.getIterableInAppLocationFromInteger(location)); + IterableApi.getInstance().trackInAppOpen(message, Serialization.getIterableInAppLocationFromInteger((int) location)); } - @ReactMethod - public void trackInAppClick(String messageId, @Nullable Integer location, String clickedUrl) { + public void trackInAppClick(String messageId, double location, String clickedUrl) { IterableInAppMessage message = RNIterableInternal.getMessageById(messageId); - IterableInAppLocation inAppOpenLocation = Serialization.getIterableInAppLocationFromInteger(location); + IterableInAppLocation inAppOpenLocation = Serialization.getIterableInAppLocationFromInteger((int) location); if (message == null) { IterableLogger.d(TAG, "Failed to get in-app for message ID: " + messageId); @@ -332,11 +334,10 @@ public void trackInAppClick(String messageId, @Nullable Integer location, String IterableApi.getInstance().trackInAppClick(message, clickedUrl, inAppOpenLocation); } - @ReactMethod - public void trackInAppClose(String messageId, Integer location, Integer source, @Nullable String clickedUrl) { + public void trackInAppClose(String messageId, double location, double source, @Nullable String clickedUrl) { IterableInAppMessage inAppMessage = RNIterableInternal.getMessageById(messageId); - IterableInAppLocation inAppCloseLocation = Serialization.getIterableInAppLocationFromInteger(location); - IterableInAppCloseAction closeAction = Serialization.getIterableInAppCloseSourceFromInteger(source); + IterableInAppLocation inAppCloseLocation = Serialization.getIterableInAppLocationFromInteger((int) location); + IterableInAppCloseAction closeAction = Serialization.getIterableInAppCloseSourceFromInteger((int) source); if (inAppMessage == null) { IterableLogger.d(TAG, "Failed to get in-app for message ID: " + messageId); @@ -362,15 +363,13 @@ public void trackInAppClose(String messageId, Integer location, Integer source, // --------------------------------------------------------------------------------------- // region In App APIs - @ReactMethod - public void inAppConsume(String messageId, Integer location, Integer source) { - if (messageId == null) { - return; + public void inAppConsume(String messageId, double location, double source) { + if (messageId != null) { + IterableLogger.v(TAG, "inAppConsume"); + IterableApi.getInstance().inAppConsume(RNIterableInternal.getMessageById(messageId), Serialization.getIterableDeleteActionTypeFromInteger((int) source), Serialization.getIterableInAppLocationFromInteger((int) location)); } - IterableApi.getInstance().inAppConsume(RNIterableInternal.getMessageById(messageId), Serialization.getIterableDeleteActionTypeFromInteger(source), Serialization.getIterableInAppLocationFromInteger(location)); } - @ReactMethod public void getInAppMessages(Promise promise) { IterableLogger.d(TAG, "getMessages"); try { @@ -382,7 +381,6 @@ public void getInAppMessages(Promise promise) { } } - @ReactMethod public void getInboxMessages(Promise promise) { IterableLogger.d(TAG, "getInboxMessages"); try { @@ -394,16 +392,25 @@ public void getInboxMessages(Promise promise) { } } - @ReactMethod - public void setInAppShowResponse(Integer number) { + public void getUnreadInboxMessagesCount(Promise promise) { + IterableLogger.d(TAG, "getUnreadInboxMessagesCount"); + try { + int unreadCount = IterableApi.getInstance().getInAppManager().getUnreadInboxMessagesCount(); + promise.resolve(unreadCount); + } catch (Exception e) { + IterableLogger.e(TAG, e.getLocalizedMessage()); + promise.reject("", "Failed to get unread inbox messages count with error " + e.getLocalizedMessage()); + } + } + + public void setInAppShowResponse(double number) { IterableLogger.printInfo(); - inAppResponse = Serialization.getInAppResponse(number); + inAppResponse = Serialization.getInAppResponse((int) number); if (jsCallBackLatch != null) { jsCallBackLatch.countDown(); } } - @ReactMethod public void setAutoDisplayPaused(final boolean paused) { IterableLogger.printInfo(); UiThreadUtil.runOnUiThread(new Runnable() { @@ -414,7 +421,6 @@ public void run() { }); } - @ReactMethod public void wakeApp() { Intent launcherIntent = getMainActivityIntent(reactContext); launcherIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); @@ -440,19 +446,16 @@ public Intent getMainActivityIntent(Context context) { // --------------------------------------------------------------------------------------- // region Inbox In-App Session Tracking APIs - @ReactMethod public void startSession(ReadableArray visibleRows) { List serializedRows = Serialization.impressionsFromReadableArray(visibleRows); sessionManager.startSession(serializedRows); } - @ReactMethod public void endSession() { sessionManager.endSession(); } - @ReactMethod public void updateVisibleRows(ReadableArray visibleRows) { List serializedRows = Serialization.impressionsFromReadableArray(visibleRows); @@ -517,7 +520,7 @@ public boolean handleIterableCustomAction(@NonNull IterableAction action, @NonNu @NonNull @Override - public InAppResponse onNewInApp(@NonNull IterableInAppMessage message) { + public IterableInAppHandler.InAppResponse onNewInApp(@NonNull IterableInAppMessage message) { IterableLogger.printInfo(); JSONObject messageJson = RNIterableInternal.getInAppMessageJson(message); @@ -531,7 +534,7 @@ public InAppResponse onNewInApp(@NonNull IterableInAppMessage message) { return inAppResponse; } catch (InterruptedException | JSONException e) { IterableLogger.e(TAG, "new in-app module failed"); - return InAppResponse.SHOW; + return IterableInAppHandler.InAppResponse.SHOW; } } @@ -582,24 +585,15 @@ public void onTokenRegistrationFailed(Throwable object) { sendEvent(EventName.handleAuthFailureCalled.name(), null); } - @ReactMethod public void addListener(String eventName) { // Keep: Required for RN built in Event Emitter Calls. } - @ReactMethod - public void removeListeners(Integer count) { + public void removeListeners(double count) { // Keep: Required for RN built in Event Emitter Calls. } - // --------------------------------------------------------------------------------------- - // endregion - - // --------------------------------------------------------------------------------------- - // region Misc Bridge Functions - - @ReactMethod - public void passAlongAuthToken(String authToken) { + public void passAlongAuthToken(@Nullable String authToken) { passedAuthToken = authToken; if (authHandlerCallbackLatch != null) { @@ -615,17 +609,14 @@ public void sendEvent(@NonNull String eventName, @Nullable Object eventData) { public void onInboxUpdated() { sendEvent(EventName.receivedIterableInboxChanged.name(), null); } - - // --------------------------------------------------------------------------------------- - // endregion } enum EventName { - handleUrlCalled, - handleCustomActionCalled, - handleInAppCalled, - handleAuthCalled, - receivedIterableInboxChanged, - handleAuthSuccessCalled, - handleAuthFailureCalled + handleUrlCalled, + handleCustomActionCalled, + handleInAppCalled, + handleAuthCalled, + receivedIterableInboxChanged, + handleAuthSuccessCalled, + handleAuthFailureCalled } diff --git a/android/src/main/java/com/iterable/reactnative/RNIterableAPIPackage.java b/android/src/main/java/com/iterable/reactnative/RNIterableAPIPackage.java index 2b04e447c..3fade361b 100644 --- a/android/src/main/java/com/iterable/reactnative/RNIterableAPIPackage.java +++ b/android/src/main/java/com/iterable/reactnative/RNIterableAPIPackage.java @@ -1,29 +1,46 @@ package com.iterable.reactnative; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; +import java.util.HashMap; +import java.util.Map; -import com.facebook.react.ReactPackage; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import com.facebook.react.BaseReactPackage; import com.facebook.react.bridge.NativeModule; import com.facebook.react.bridge.ReactApplicationContext; -import com.facebook.react.uimanager.ViewManager; -import com.facebook.react.bridge.JavaScriptModule; +import com.facebook.react.module.model.ReactModuleInfo; +import com.facebook.react.module.model.ReactModuleInfoProvider; -public class RNIterableAPIPackage implements ReactPackage { +public class RNIterableAPIPackage extends BaseReactPackage { + @Nullable @Override - public List createNativeModules( - ReactApplicationContext reactContext) { - List modules = new ArrayList<>(); - - modules.add(new RNIterableAPIModule(reactContext)); - - return modules; + public NativeModule getModule(@NonNull String name, @NonNull ReactApplicationContext reactContext) { + if (RNIterableAPIModuleImpl.NAME.equals(name)) { + return new RNIterableAPIModule(reactContext); + } else { + return null; + } } + @NonNull @Override - public List createViewManagers(ReactApplicationContext reactContext) { - return Collections.emptyList(); + public ReactModuleInfoProvider getReactModuleInfoProvider() { + return new ReactModuleInfoProvider() { + @NonNull + @Override + public Map getReactModuleInfos() { + Map moduleInfos = new HashMap<>(); + boolean isTurboModule = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; + moduleInfos.put(RNIterableAPIModuleImpl.NAME, new ReactModuleInfo( + RNIterableAPIModuleImpl.NAME, + RNIterableAPIModuleImpl.NAME, + false, // canOverrideExistingModule + false, // needsEagerInit + false, // isCxxModule + isTurboModule // isTurboModule + )); + return moduleInfos; + } + }; } } diff --git a/android/src/newarch/java/com/RNIterableAPIModule.java b/android/src/newarch/java/com/RNIterableAPIModule.java new file mode 100644 index 000000000..4386e0d7f --- /dev/null +++ b/android/src/newarch/java/com/RNIterableAPIModule.java @@ -0,0 +1,227 @@ +package com.iterable.reactnative; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.Promise; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; + +public class RNIterableAPIModule extends NativeRNIterableAPISpec { + private final ReactApplicationContext reactContext; + private static RNIterableAPIModuleImpl moduleImpl; + + RNIterableAPIModule(ReactApplicationContext context) { + super(context); + this.reactContext = context; + if (moduleImpl == null) { + moduleImpl = new RNIterableAPIModuleImpl(reactContext); + } + } + + @Override + @NonNull + public String getName() { + return RNIterableAPIModuleImpl.NAME; + } + + @Override + public void initializeWithApiKey(String apiKey, ReadableMap configReadableMap, String version, Promise promise) { + moduleImpl.initializeWithApiKey(apiKey, configReadableMap, version, promise); + } + + @Override + public void initialize2WithApiKey(String apiKey, ReadableMap configReadableMap, String version, String apiEndPointOverride, Promise promise) { + moduleImpl.initialize2WithApiKey(apiKey, configReadableMap, version, apiEndPointOverride, promise); + } + + @Override + public void setEmail(@Nullable String email, @Nullable String authToken) { + moduleImpl.setEmail(email, authToken); + } + + @Override + public void updateEmail(String email, @Nullable String authToken) { + moduleImpl.updateEmail(email, authToken); + } + + @Override + public void getEmail(Promise promise) { + moduleImpl.getEmail(promise); + } + + public void sampleMethod(String stringArgument, int numberArgument, Callback callback) { + moduleImpl.sampleMethod(stringArgument, numberArgument, callback); + } + + @Override + public void setUserId(@Nullable String userId, @Nullable String authToken) { + moduleImpl.setUserId(userId, authToken); + } + + @Override + public void updateUser(ReadableMap dataFields, boolean mergeNestedObjects) { + moduleImpl.updateUser(dataFields, mergeNestedObjects); + } + + @Override + public void getUserId(Promise promise) { + moduleImpl.getUserId(promise); + } + + @Override + public void trackEvent(String name, @Nullable ReadableMap dataFields) { + moduleImpl.trackEvent(name, dataFields); + } + + @Override + public void updateCart(ReadableArray items) { + moduleImpl.updateCart(items); + } + + @Override + public void trackPurchase(double total, ReadableArray items, @Nullable ReadableMap dataFields) { + moduleImpl.trackPurchase(total, items, dataFields); + } + + @Override + public void trackPushOpenWithCampaignId(double campaignId, @Nullable Double templateId, String messageId, boolean appAlreadyRunning, @Nullable ReadableMap dataFields) { + moduleImpl.trackPushOpenWithCampaignId(campaignId, templateId, messageId, appAlreadyRunning, dataFields); + } + + @Override + public void updateSubscriptions(@Nullable ReadableArray emailListIds, @Nullable ReadableArray unsubscribedChannelIds, @Nullable ReadableArray unsubscribedMessageTypeIds, @Nullable ReadableArray subscribedMessageTypeIds, double campaignId, double templateId) { + moduleImpl.updateSubscriptions(emailListIds, unsubscribedChannelIds, unsubscribedMessageTypeIds, subscribedMessageTypeIds, campaignId, templateId); + } + + @Override + public void showMessage(String messageId, boolean consume, final Promise promise) { + moduleImpl.showMessage(messageId, consume, promise); + } + + @Override + public void setReadForMessage(String messageId, boolean read) { + moduleImpl.setReadForMessage(messageId, read); + } + + @Override + public void removeMessage(String messageId, double location, double deleteSource) { + moduleImpl.removeMessage(messageId, location, deleteSource); + } + + @Override + public void getHtmlInAppContentForMessage(String messageId, final Promise promise) { + moduleImpl.getHtmlInAppContentForMessage(messageId, promise); + } + + @Override + public void getAttributionInfo(Promise promise) { + moduleImpl.getAttributionInfo(promise); + } + + @Override + public void setAttributionInfo(@Nullable ReadableMap attributionInfoReadableMap) { + moduleImpl.setAttributionInfo(attributionInfoReadableMap); + } + + @Override + public void getLastPushPayload(Promise promise) { + moduleImpl.getLastPushPayload(promise); + } + + @Override + public void disableDeviceForCurrentUser() { + moduleImpl.disableDeviceForCurrentUser(); + } + + @Override + public void handleAppLink(String uri, Promise promise) { + moduleImpl.handleAppLink(uri, promise); + } + + @Override + public void trackInAppOpen(String messageId, double location) { + moduleImpl.trackInAppOpen(messageId, location); + } + + @Override + public void trackInAppClick(String messageId, double location, String clickedUrl) { + moduleImpl.trackInAppClick(messageId, location, clickedUrl); + } + + @Override + public void trackInAppClose(String messageId, double location, double source, @Nullable String clickedUrl) { + moduleImpl.trackInAppClose(messageId, location, source, clickedUrl); + } + + @Override + public void inAppConsume(String messageId, double location, double source) { + moduleImpl.inAppConsume(messageId, location, source); + } + + @Override + public void getInAppMessages(Promise promise) { + moduleImpl.getInAppMessages(promise); + } + + @Override + public void getInboxMessages(Promise promise) { + moduleImpl.getInboxMessages(promise); + } + + @Override + public void getUnreadInboxMessagesCount(Promise promise) { + moduleImpl.getUnreadInboxMessagesCount(promise); + } + + @Override + public void setInAppShowResponse(double number) { + moduleImpl.setInAppShowResponse(number); + } + + @Override + public void setAutoDisplayPaused(final boolean paused) { + moduleImpl.setAutoDisplayPaused(paused); + } + + public void wakeApp() { + moduleImpl.wakeApp(); + } + + @Override + public void startSession(ReadableArray visibleRows) { + moduleImpl.startSession(visibleRows); + } + + @Override + public void endSession() { + moduleImpl.endSession(); + } + + public void updateVisibleRows(ReadableArray visibleRows) { + moduleImpl.updateVisibleRows(visibleRows); + } + + @Override + public void addListener(String eventName) { + moduleImpl.addListener(eventName); + } + + @Override + public void removeListeners(double count) { + moduleImpl.removeListeners(count); + } + + public void passAlongAuthToken(@Nullable String authToken) { + moduleImpl.passAlongAuthToken(authToken); + } + + public void sendEvent(@NonNull String eventName, @Nullable Object eventData) { + moduleImpl.sendEvent(eventName, eventData); + } + + public void onInboxUpdated() { + moduleImpl.onInboxUpdated(); + } +} diff --git a/android/src/oldarch/java/com/RNIterableAPIModule.java b/android/src/oldarch/java/com/RNIterableAPIModule.java new file mode 100644 index 000000000..27b04ea17 --- /dev/null +++ b/android/src/oldarch/java/com/RNIterableAPIModule.java @@ -0,0 +1,234 @@ +package com.iterable.reactnative; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.Promise; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; + +public class RNIterableAPIModule extends ReactContextBaseJavaModule { + private final ReactApplicationContext reactContext; + private static RNIterableAPIModuleImpl moduleImpl; + + RNIterableAPIModule(ReactApplicationContext context) { + super(context); + this.reactContext = context; + if (moduleImpl == null) { + moduleImpl = new RNIterableAPIModuleImpl(reactContext); + } + } + + @NonNull + @Override + public String getName() { + return RNIterableAPIModuleImpl.NAME; + } + + @ReactMethod + public void initializeWithApiKey(String apiKey, ReadableMap configReadableMap, String version, Promise promise) { + moduleImpl.initializeWithApiKey(apiKey, configReadableMap, version, promise); + } + + @ReactMethod + public void initialize2WithApiKey(String apiKey, ReadableMap configReadableMap, String version, String apiEndPointOverride, Promise promise) { + moduleImpl.initialize2WithApiKey(apiKey, configReadableMap, version, apiEndPointOverride, promise); + } + + @ReactMethod + public void setEmail(@Nullable String email, @Nullable String authToken) { + moduleImpl.setEmail(email, authToken); + } + + @ReactMethod + public void updateEmail(String email, @Nullable String authToken) { + moduleImpl.updateEmail(email, authToken); + } + + @ReactMethod + public void getEmail(Promise promise) { + moduleImpl.getEmail(promise); + } + + @ReactMethod + public void sampleMethod(String stringArgument, int numberArgument, Callback callback) { + moduleImpl.sampleMethod(stringArgument, numberArgument, callback); + } + + @ReactMethod + public void setUserId(@Nullable String userId, @Nullable String authToken) { + moduleImpl.setUserId(userId, authToken); + } + + @ReactMethod + public void updateUser(ReadableMap dataFields, boolean mergeNestedObjects) { + moduleImpl.updateUser(dataFields, mergeNestedObjects); + } + + @ReactMethod + public void getUserId(Promise promise) { + moduleImpl.getUserId(promise); + } + + @ReactMethod + public void trackEvent(String name, @Nullable ReadableMap dataFields) { + moduleImpl.trackEvent(name, dataFields); + } + + @ReactMethod + public void updateCart(ReadableArray items) { + moduleImpl.updateCart(items); + } + + @ReactMethod + public void trackPurchase(double total, ReadableArray items, @Nullable ReadableMap dataFields) { + moduleImpl.trackPurchase(total, items, dataFields); + } + + @ReactMethod + public void trackPushOpenWithCampaignId(double campaignId, @Nullable Double templateId, String messageId, boolean appAlreadyRunning, @Nullable ReadableMap dataFields) { + moduleImpl.trackPushOpenWithCampaignId(campaignId, templateId, messageId, appAlreadyRunning, dataFields); + } + + @ReactMethod + public void updateSubscriptions(@Nullable ReadableArray emailListIds, @Nullable ReadableArray unsubscribedChannelIds, @Nullable ReadableArray unsubscribedMessageTypeIds, @Nullable ReadableArray subscribedMessageTypeIds, double campaignId, double templateId) { + moduleImpl.updateSubscriptions(emailListIds, unsubscribedChannelIds, unsubscribedMessageTypeIds, subscribedMessageTypeIds, campaignId, templateId); + } + + @ReactMethod + public void showMessage(String messageId, boolean consume, final Promise promise) { + moduleImpl.showMessage(messageId, consume, promise); + } + + @ReactMethod + public void setReadForMessage(String messageId, boolean read) { + moduleImpl.setReadForMessage(messageId, read); + } + + @ReactMethod + public void removeMessage(String messageId, double location, double deleteSource) { + moduleImpl.removeMessage(messageId, location, deleteSource); + } + + @ReactMethod + public void getHtmlInAppContentForMessage(String messageId, final Promise promise) { + moduleImpl.getHtmlInAppContentForMessage(messageId, promise); + } + + @ReactMethod + public void getAttributionInfo(Promise promise) { + moduleImpl.getAttributionInfo(promise); + } + + @ReactMethod + public void setAttributionInfo(@Nullable ReadableMap attributionInfoReadableMap) { + moduleImpl.setAttributionInfo(attributionInfoReadableMap); + } + + @ReactMethod + public void getLastPushPayload(Promise promise) { + moduleImpl.getLastPushPayload(promise); + } + + @ReactMethod + public void disableDeviceForCurrentUser() { + moduleImpl.disableDeviceForCurrentUser(); + } + + @ReactMethod + public void handleAppLink(String uri, Promise promise) { + moduleImpl.handleAppLink(uri, promise); + } + + @ReactMethod + public void trackInAppOpen(String messageId, double location) { + moduleImpl.trackInAppOpen(messageId, location); + } + + @ReactMethod + public void trackInAppClick(String messageId, double location, String clickedUrl) { + moduleImpl.trackInAppClick(messageId, location, clickedUrl); + } + + @ReactMethod + public void trackInAppClose(String messageId, double location, double source, @Nullable String clickedUrl) { + moduleImpl.trackInAppClose(messageId, location, source, clickedUrl); + } + + @ReactMethod + public void inAppConsume(String messageId, double location, double source) { + moduleImpl.inAppConsume(messageId, location, source); + } + + @ReactMethod + public void getInAppMessages(Promise promise) { + moduleImpl.getInAppMessages(promise); + } + + @ReactMethod + public void getInboxMessages(Promise promise) { + moduleImpl.getInboxMessages(promise); + } + + @ReactMethod + public void getUnreadInboxMessagesCount(Promise promise) { + moduleImpl.getUnreadInboxMessagesCount(promise); + } + + @ReactMethod + public void setInAppShowResponse(double number) { + moduleImpl.setInAppShowResponse(number); + } + + @ReactMethod + public void setAutoDisplayPaused(final boolean paused) { + moduleImpl.setAutoDisplayPaused(paused); + } + + @ReactMethod + public void wakeApp() { + moduleImpl.wakeApp(); + } + + @ReactMethod + public void startSession(ReadableArray visibleRows) { + moduleImpl.startSession(visibleRows); + } + + @ReactMethod + public void endSession() { + moduleImpl.endSession(); + } + + @ReactMethod + public void updateVisibleRows(ReadableArray visibleRows) { + moduleImpl.updateVisibleRows(visibleRows); + } + + @ReactMethod + public void addListener(String eventName) { + moduleImpl.addListener(eventName); + } + + @ReactMethod + public void removeListeners(double count) { + moduleImpl.removeListeners(count); + } + + @ReactMethod + public void passAlongAuthToken(@Nullable String authToken) { + moduleImpl.passAlongAuthToken(authToken); + } + + + public void sendEvent(@NonNull String eventName, @Nullable Object eventData) { + moduleImpl.sendEvent(eventName, eventData); + } + + void onInboxUpdated() { + moduleImpl.onInboxUpdated(); + } +} diff --git a/example/README.md b/example/README.md index 3b19f26e9..4ba5d0e6d 100644 --- a/example/README.md +++ b/example/README.md @@ -211,14 +211,12 @@ gem install xcodeproj -v '< 1.26.0' gem install concurrent-ruby -v '< 1.3.4' ``` -## Unable to build on Xcode 16.3 +## Xcode 16.3 Issue There is a [known issue](https://github.com/facebook/react-native/issues/50411) with Xcode 16.3 and react-native@0.75.3. -Until New Architecture is supporter by Iterable, we cannot upgrade to 0.76. -Therefore, to fix it we need to downgrade Xcode to 16.2. -- [Download Xcode 16.2](https://download.developer.apple.com/Developer_Tools/Xcode_16.2/Xcode_16.2.xip) +This SDK supports React Native New Architecture. If you encounter this Xcode-specific issue, consider downgrading Xcode to 16.2 or upgrading React Native once a fix is available. ## Other If things are not working and you are stumped as to why, try running the @@ -272,4 +270,4 @@ export NODE_OPTIONS=--openssl-legacy-provider You should also look through the [React Native environment setup docs](https://reactnative.dev/docs/set-up-your-environment) and make sure that -you did not miss anything. \ No newline at end of file +you did not miss anything. diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml index e1892528b..ca5b5e90c 100644 --- a/example/android/app/src/main/AndroidManifest.xml +++ b/example/android/app/src/main/AndroidManifest.xml @@ -1,26 +1,34 @@ - + + - + + + + + + + + - - - - - - - - + android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode" + android:launchMode="singleTask" + android:windowSoftInputMode="adjustResize" + android:exported="true"> + + + + + + + \ No newline at end of file diff --git a/example/ios/Podfile b/example/ios/Podfile index 833bd46c8..43e1952fb 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -13,7 +13,8 @@ prepare_react_native_project! linkage = ENV['USE_FRAMEWORKS'] if linkage != nil Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green - use_frameworks! :linkage => linkage.to_sym + # IMPORTANT: This is needed to use the Swift code from Iterable-iOS-SDK in the RNIterableAPI module + use_frameworks! :linkage => :dynamic end target 'ReactNativeSdkExample' do diff --git a/example/ios/ReactNativeSdkExample-Bridging-Header.h b/example/ios/ReactNativeSdkExample-Bridging-Header.h index e11d920b1..339994e93 100644 --- a/example/ios/ReactNativeSdkExample-Bridging-Header.h +++ b/example/ios/ReactNativeSdkExample-Bridging-Header.h @@ -1,3 +1,4 @@ // -// Use this file to import your target's public headers that you would like to expose to Swift. +// Use this file to import your target's public headers that you would like to +// expose to Swift. // diff --git a/example/ios/ReactNativeSdkExample.xcodeproj/project.pbxproj b/example/ios/ReactNativeSdkExample.xcodeproj/project.pbxproj index 85e3e2153..fe2da2b97 100644 --- a/example/ios/ReactNativeSdkExample.xcodeproj/project.pbxproj +++ b/example/ios/ReactNativeSdkExample.xcodeproj/project.pbxproj @@ -10,9 +10,9 @@ 00E356F31AD99517003FC87E /* ReactNativeSdkExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ReactNativeSdkExampleTests.m */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 779227342DFA3FB500D69EC0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 779227332DFA3FB500D69EC0 /* AppDelegate.swift */; }; + 77F63EC390061314C0718D51 /* libPods-ReactNativeSdkExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F395BEFC7809290D1773C84F /* libPods-ReactNativeSdkExample.a */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; A3A40C20801B8F02005FA4C0 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 1FC6B09E65A7BD9F6864C5D8 /* PrivacyInfo.xcprivacy */; }; - C44ACECC9AF4C133F6AA90BB /* libPods-ReactNativeSdkExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3FDE7B97F1D85673BE213502 /* libPods-ReactNativeSdkExample.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -34,14 +34,14 @@ 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = ReactNativeSdkExample/Info.plist; sourceTree = ""; }; 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = ReactNativeSdkExample/PrivacyInfo.xcprivacy; sourceTree = ""; }; 1FC6B09E65A7BD9F6864C5D8 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = ReactNativeSdkExample/PrivacyInfo.xcprivacy; sourceTree = ""; }; - 2659F7AEA92EF5F6D507914F /* Pods-ReactNativeSdkExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeSdkExample.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample.release.xcconfig"; sourceTree = ""; }; - 26BBADD2F086D341C535B27B /* Pods-ReactNativeSdkExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeSdkExample.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample.debug.xcconfig"; sourceTree = ""; }; - 3FDE7B97F1D85673BE213502 /* libPods-ReactNativeSdkExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeSdkExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 627A5082522E8122626A42E9 /* Pods-ReactNativeSdkExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeSdkExample.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample.debug.xcconfig"; sourceTree = ""; }; 779227312DFA3FB500D69EC0 /* ReactNativeSdkExample-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ReactNativeSdkExample-Bridging-Header.h"; sourceTree = ""; }; 779227322DFA3FB500D69EC0 /* ReactNativeSdkExampleTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ReactNativeSdkExampleTests-Bridging-Header.h"; sourceTree = ""; }; 779227332DFA3FB500D69EC0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = ReactNativeSdkExample/AppDelegate.swift; sourceTree = ""; }; 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = ReactNativeSdkExample/LaunchScreen.storyboard; sourceTree = ""; }; + C37A515B34C484F156F48110 /* Pods-ReactNativeSdkExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeSdkExample.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample.release.xcconfig"; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; + F395BEFC7809290D1773C84F /* libPods-ReactNativeSdkExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeSdkExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -56,7 +56,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C44ACECC9AF4C133F6AA90BB /* libPods-ReactNativeSdkExample.a in Frameworks */, + 77F63EC390061314C0718D51 /* libPods-ReactNativeSdkExample.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -99,7 +99,7 @@ isa = PBXGroup; children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, - 3FDE7B97F1D85673BE213502 /* libPods-ReactNativeSdkExample.a */, + F395BEFC7809290D1773C84F /* libPods-ReactNativeSdkExample.a */, ); name = Frameworks; sourceTree = ""; @@ -138,8 +138,8 @@ BBD78D7AC51CEA395F1C20DB /* Pods */ = { isa = PBXGroup; children = ( - 26BBADD2F086D341C535B27B /* Pods-ReactNativeSdkExample.debug.xcconfig */, - 2659F7AEA92EF5F6D507914F /* Pods-ReactNativeSdkExample.release.xcconfig */, + 627A5082522E8122626A42E9 /* Pods-ReactNativeSdkExample.debug.xcconfig */, + C37A515B34C484F156F48110 /* Pods-ReactNativeSdkExample.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -169,13 +169,13 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ReactNativeSdkExample" */; buildPhases = ( - CA97E382C6B453F847C13176 /* [CP] Check Pods Manifest.lock */, + 00A09C8D745F4A4962CFCB16 /* [CP] Check Pods Manifest.lock */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - 89B6BEF2485B9536DDD45973 /* [CP] Embed Pods Frameworks */, - 24A6D3DBDA584D8F55796A6D /* [CP] Copy Pods Resources */, + 70E3A2A47E764F7A78602595 /* [CP] Embed Pods Frameworks */, + EDF40E5EF2B0A60C77B1B71B /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -244,6 +244,28 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 00A09C8D745F4A4962CFCB16 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-ReactNativeSdkExample-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -294,26 +316,21 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - CA97E382C6B453F847C13176 /* [CP] Check Pods Manifest.lock */ = { + EDF40E5EF2B0A60C77B1B71B /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample-resources-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Copy Pods Resources"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-ReactNativeSdkExample-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample-resources-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample-resources.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -406,7 +423,7 @@ }; 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 26BBADD2F086D341C535B27B /* Pods-ReactNativeSdkExample.debug.xcconfig */; + baseConfigurationReference = 627A5082522E8122626A42E9 /* Pods-ReactNativeSdkExample.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; @@ -436,7 +453,7 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2659F7AEA92EF5F6D507914F /* Pods-ReactNativeSdkExample.release.xcconfig */; + baseConfigurationReference = C37A515B34C484F156F48110 /* Pods-ReactNativeSdkExample.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; diff --git a/example/ios/ReactNativeSdkExample/AppDelegate.swift b/example/ios/ReactNativeSdkExample/AppDelegate.swift index 1f3fbca7c..5b9504eb5 100644 --- a/example/ios/ReactNativeSdkExample/AppDelegate.swift +++ b/example/ios/ReactNativeSdkExample/AppDelegate.swift @@ -5,10 +5,10 @@ // Created by Loren Posen on 6/11/25. // -import UIKit import React -import React_RCTAppDelegate import ReactAppDependencyProvider +import React_RCTAppDelegate +import UIKit @main class AppDelegate: UIResponder, UIApplicationDelegate { @@ -46,11 +46,10 @@ class ReactNativeDelegate: RCTDefaultReactNativeFactoryDelegate { } override func bundleURL() -> URL? { -#if DEBUG - RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "index") -#else - Bundle.main.url(forResource: "main", withExtension: "jsbundle") -#endif + #if DEBUG + RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "index") + #else + Bundle.main.url(forResource: "main", withExtension: "jsbundle") + #endif } } - diff --git a/example/ios/ReactNativeSdkExampleTests-Bridging-Header.h b/example/ios/ReactNativeSdkExampleTests-Bridging-Header.h index 1b2cb5d6d..339994e93 100644 --- a/example/ios/ReactNativeSdkExampleTests-Bridging-Header.h +++ b/example/ios/ReactNativeSdkExampleTests-Bridging-Header.h @@ -1,4 +1,4 @@ // -// Use this file to import your target's public headers that you would like to expose to Swift. +// Use this file to import your target's public headers that you would like to +// expose to Swift. // - diff --git a/example/package.json b/example/package.json index 20dddd07b..7a59e93de 100644 --- a/example/package.json +++ b/example/package.json @@ -10,16 +10,16 @@ "build:ios": "react-native build-ios --scheme ReactNativeSdkExample --mode Debug --extra-params \"-sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO\"" }, "dependencies": { - "@react-navigation/bottom-tabs": "^6.6.1", - "@react-navigation/native": "^6.0.8", - "@react-navigation/native-stack": "^6.11.0", - "@react-navigation/stack": "^6.3.21", + "@react-navigation/bottom-tabs": "^7.0.0", + "@react-navigation/native": "^7.1.14", + "@react-navigation/native-stack": "^7.0.0", + "@react-navigation/stack": "^7.4.2", "react": "19.0.0", "react-native": "0.79.3", - "react-native-gesture-handler": "^2.24.0", - "react-native-safe-area-context": "^5.1.0", - "react-native-screens": "^4.9.1", - "react-native-webview": "^13.13.1" + "react-native-gesture-handler": "^2.26.0", + "react-native-safe-area-context": "^5.4.0", + "react-native-screens": "^4.10.0", + "react-native-webview": "^13.14.1" }, "devDependencies": { "@babel/core": "^7.25.2", diff --git a/example/src/components/Login/Login.tsx b/example/src/components/Login/Login.tsx index e32563398..9712792ed 100644 --- a/example/src/components/Login/Login.tsx +++ b/example/src/components/Login/Login.tsx @@ -44,7 +44,7 @@ export const Login = ({ navigation }: RootStackScreenProps) => { void; /** The user ID for the user */ - userId?: string; + userId?: string | null; } const IterableAppContext = createContext({ @@ -79,7 +79,7 @@ const IterableAppContext = createContext({ setLoginInProgress: () => undefined, setReturnToInboxTrigger: () => undefined, setUserId: () => undefined, - userId: undefined, + userId: null, }); const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; @@ -96,7 +96,7 @@ export const IterableAppProvider: FunctionComponent< const [apiKey, setApiKey] = useState( process.env.ITBL_API_KEY ); - const [userId, setUserId] = useState(process.env.ITBL_ID); + const [userId, setUserId] = useState(process.env.ITBL_ID ?? null); const [loginInProgress, setLoginInProgress] = useState(false); const getUserId = useCallback(() => userId ?? process.env.ITBL_ID, [userId]); @@ -196,8 +196,8 @@ export const IterableAppProvider: FunctionComponent< ); const logout = useCallback(() => { - Iterable.setEmail(undefined); - Iterable.setUserId(undefined); + Iterable.setEmail(null); + Iterable.setUserId(null); setIsLoggedIn(false); }, []); diff --git a/ios/RNIterableAPI/RNIterable-Bridging-Header.h b/ios/RNIterableAPI/RNIterable-Bridging-Header.h index 35adb4320..01c1c3fb6 100644 --- a/ios/RNIterableAPI/RNIterable-Bridging-Header.h +++ b/ios/RNIterableAPI/RNIterable-Bridging-Header.h @@ -1,5 +1,6 @@ // -// Use this file to import your target's public headers that you would like to expose to Swift. +// Use this file to import your target's public headers that you would like to +// expose to Swift. // #import diff --git a/ios/RNIterableAPI/RNIterableAPI.h b/ios/RNIterableAPI/RNIterableAPI.h index 26bbf81fe..a8b725452 100644 --- a/ios/RNIterableAPI/RNIterableAPI.h +++ b/ios/RNIterableAPI/RNIterableAPI.h @@ -1,9 +1,18 @@ -// -// RNIterableAPI.h -// RNIterableAPI -// -// Created by Loren Posen on 6/11/25. -// Copyright © 2025 Iterable. All rights reserved. -// -#import +#import +#import +#if RCT_NEW_ARCH_ENABLED + + #import + #import + #import + #import +@interface RNIterableAPI : RCTEventEmitter + +#else + #import +@interface RNIterableAPI : RCTEventEmitter + +#endif + +@end diff --git a/ios/RNIterableAPI/RNIterableAPI.mm b/ios/RNIterableAPI/RNIterableAPI.mm index dc40a6e12..a7490f2ee 100644 --- a/ios/RNIterableAPI/RNIterableAPI.mm +++ b/ios/RNIterableAPI/RNIterableAPI.mm @@ -1,139 +1,508 @@ -// -// Created by Tapash Majumder on 3/19/20. -// Copyright © 2020 Iterable. All rights reserved. -// #import "RNIterableAPI.h" -@interface RCT_EXTERN_REMAP_MODULE(RNIterableAPI, ReactIterableAPI, NSObject) +#if RCT_NEW_ARCH_ENABLED + #import "RNIterableAPISpec.h" +#endif -// MARK: - Native SDK Functions +#import -RCT_EXTERN_METHOD(initializeWithApiKey: (nonnull NSString *) apiKey - config: (nonnull NSDictionary *) config - version: (nonnull NSString *) version - resolver: (RCTPromiseResolveBlock) resolve - rejecter: (RCTPromiseRejectBlock) reject) +// Forward-declare the Swift protocols/enum used in the Swift header +// to avoid compiler errors. +@protocol IterableInAppDelegate; +@protocol IterableCustomActionDelegate; +@protocol IterableAuthDelegate; +@protocol IterableURLDelegate; +typedef NS_ENUM(NSInteger, InAppShowResponse) { + show = 0, + skip = 1, +}; -RCT_EXTERN_METHOD(initialize2WithApiKey: (nonnull NSString *) apiKey - config: (nonnull NSDictionary *) config - apiEndPointOverride: (nonnull NSString *) apiEndPoint - version: (nonnull NSString *) version - resolver: (RCTPromiseResolveBlock) resolve - rejecter: (RCTPromiseRejectBlock) reject) +#import "Iterable_React_Native_SDK-Swift.h" -RCT_EXTERN_METHOD(setEmail: (NSString *) email - authToken: (NSString *) authToken) - -RCT_EXTERN_METHOD(getEmail: (RCTPromiseResolveBlock) resolve - rejecter: (RCTPromiseRejectBlock) reject) - -RCT_EXTERN_METHOD(setUserId: (NSString *) userId - authToken: (NSString *) authToken) - -RCT_EXTERN_METHOD(getUserId: (RCTPromiseResolveBlock) resolve - rejecter: (RCTPromiseRejectBlock) reject) - -// MARK: - Iterable API Request Functions - -RCT_EXTERN_METHOD(disableDeviceForCurrentUser) - -RCT_EXTERN_METHOD(setInAppShowResponse: (nonnull NSNumber *) inAppShowResponse) - -RCT_EXTERN_METHOD(getLastPushPayload: (RCTPromiseResolveBlock) resolve - rejecter: (RCTPromiseRejectBlock) reject) - -RCT_EXTERN_METHOD(getAttributionInfo: (RCTPromiseResolveBlock) resolve - rejecter: (RCTPromiseRejectBlock) reject) - -RCT_EXTERN_METHOD(setAttributionInfo: (NSDictionary *) attributionInfo) - -RCT_EXTERN_METHOD(trackPushOpenWithCampaignId: (nonnull NSNumber *) campaignId - templateId: (nonnull NSNumber *) templateId - messageId: (nonnull NSString *) messageId - appAlreadyRunning: (BOOL) appAlreadyRunning - dataFields: (NSDictionary *) dataFields) - -RCT_EXTERN_METHOD(updateCart: (NSArray *) items) - -RCT_EXTERN_METHOD(trackPurchase: (nonnull NSNumber *) total - items: (NSArray *) items - dataFields: (NSDictionary *) dataFields) - -RCT_EXTERN_METHOD(trackInAppOpen: (NSString *) messageId - location: (nonnull NSNumber *) location) - -RCT_EXTERN_METHOD(trackInAppClick: (nonnull NSString *) messageId - location: (nonnull NSNumber *) location - clickedUrl: (nonnull NSString *) clickedUrl) - -RCT_EXTERN_METHOD(trackInAppClose: (nonnull NSString *) messageId - location: (nonnull NSNumber *) location - source: (nonnull NSNumber *) source - clickedUrl: (NSString *) clickedUrl) - -RCT_EXTERN_METHOD(inAppConsume: (nonnull NSString *) messageId - location: (nonnull NSNumber *) location - source: (nonnull NSNumber *) source) - -RCT_EXTERN_METHOD(trackEvent: (nonnull NSString *) name - dataFields: (NSDictionary *) dataFields) - -RCT_EXTERN_METHOD(updateUser: (nonnull NSDictionary *) dataFields - mergeNestedObjects: (BOOL) mergeNestedObjects) - -RCT_EXTERN_METHOD(updateEmail: (nonnull NSString *) email - authToken: (NSString *) authToken) - -RCT_EXTERN_METHOD(handleAppLink: (nonnull NSString *) appLink - resolver: (RCTPromiseResolveBlock) resolve - rejecter: (RCTPromiseRejectBlock) reject) - -RCT_EXTERN_METHOD(updateSubscriptions: (NSArray *) emailListIds - unsubscribedChannelIds: (NSArray *) unsubscribedChannelIds - unsubscribedMessageTypeIds: (NSArray *) unsubscribedMessageTypeIds - subscribedMessageTypeIds: (NSArray *) subscribedMessageTypeIds - campaignId: (nonnull NSNumber *) campaignId - templateId: (nonnull NSNumber *) templateId) - -// MARK: - SDK In-App Manager Functions - -RCT_EXTERN_METHOD(getInAppMessages: (RCTPromiseResolveBlock) resolve - rejecter: (RCTPromiseRejectBlock) reject) - -RCT_EXTERN_METHOD(getHtmlInAppContentForMessage: (nonnull NSString *) messageId - resolver: (RCTPromiseResolveBlock) resolve - rejecter: (RCTPromiseRejectBlock) reject) - -RCT_EXTERN_METHOD(getInboxMessages: (RCTPromiseResolveBlock) resolve - rejecter: (RCTPromiseRejectBlock) reject) - -RCT_EXTERN_METHOD(getUnreadInboxMessagesCount: (RCTPromiseResolveBlock) resolve - rejecter: (RCTPromiseRejectBlock) reject) - -RCT_EXTERN_METHOD(showMessage: (nonnull NSString *) messageId - consume: (nonnull BOOL) consume - resolver: (RCTPromiseResolveBlock) resolve - rejecter: (RCTPromiseRejectBlock) reject) - -RCT_EXTERN_METHOD(removeMessage: (nonnull NSString *) messageId - location: (nonnull NSNumber *) location - source: (nonnull NSNumber *) source) - -RCT_EXTERN_METHOD(setReadForMessage: (nonnull NSString *) messageId - read: (BOOL) read) - -RCT_EXTERN_METHOD(setAutoDisplayPaused: (BOOL) paused) - -// MARK: - SDK Inbox Session Tracking Functions - -RCT_EXTERN_METHOD(startSession: (nonnull NSArray *) visibleRows) - -RCT_EXTERN_METHOD(endSession) - -RCT_EXTERN_METHOD(updateVisibleRows: (nonnull NSArray *) visibleRows) - -// MARK: - SDK Auth Manager Functions +@interface RNIterableAPI () +@end -RCT_EXTERN_METHOD(passAlongAuthToken: (NSString *) authToken) +@implementation RNIterableAPI { + ReactIterableAPI *_swiftAPI; +} + +// MARK: - Initialization +- (instancetype)init { + self = [super init]; + if(self) { + // Instantiate the ReactIterableAPI and set the delegate + _swiftAPI = [ReactIterableAPI new]; + _swiftAPI.delegate = self; + } + return self; +} + +RCT_EXPORT_MODULE() + +// MARK: - RCTEventEmitter functions +- (NSArray *)supportedEvents { + return [ReactIterableAPI supportedEvents]; +} + +- (void)sendEventWithName:(NSString *_Nonnull)name result:(double)result { + [self sendEventWithName:name body:@(result)]; +} + +#if RCT_NEW_ARCH_ENABLED + +// MARK: - New Architecture functions exposed to JS + +- (void)startObserving { + [(ReactIterableAPI *)_swiftAPI startObserving]; +} + +- (void)stopObserving { + [(ReactIterableAPI *)_swiftAPI stopObserving]; +} + +- (void)initializeWithApiKey:(NSString *)apiKey + config:(NSDictionary *)config + version:(NSString *)version + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject { + [_swiftAPI initializeWithApiKey:apiKey + config:config + version:version + resolver:resolve + rejecter:reject]; +} + +- (void)initialize2WithApiKey:(NSString *)apiKey + config:(NSDictionary *)config + version:(NSString *)version + apiEndPointOverride:(NSString *)apiEndPointOverride + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject { + [_swiftAPI initialize2WithApiKey:apiKey + config:config + version:version + apiEndPointOverride:apiEndPointOverride + resolver:resolve + rejecter:reject]; +} + +- (void)setEmail:(NSString *_Nullable)email + authToken:(NSString *_Nullable)authToken { + [_swiftAPI setEmail:email authToken:authToken]; +} + +- (void)getEmail:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject { + [_swiftAPI getEmail:resolve rejecter:reject]; +} + +- (void)setUserId:(NSString *_Nullable)userId + authToken:(NSString *_Nullable)authToken { + [_swiftAPI setUserId:userId authToken:authToken]; +} + +- (void)getUserId:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject { + [_swiftAPI getUserId:resolve rejecter:reject]; +} + +- (void)setInAppShowResponse:(double)inAppShowResponse { + [_swiftAPI setInAppShowResponse:inAppShowResponse]; +} + +- (void)getInAppMessages:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject { + [_swiftAPI getInAppMessages:resolve rejecter:reject]; +} + +- (void)getInboxMessages:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject { + [_swiftAPI getInboxMessages:resolve rejecter:reject]; +} + +// NOTE: This is not used anywhere on the JS side. +- (void)getUnreadInboxMessagesCount:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject { + [_swiftAPI getUnreadInboxMessagesCount:resolve rejecter:reject]; +} + +- (void)showMessage:(NSString *)messageId + consume:(BOOL)consume + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject { + [_swiftAPI showMessage:messageId + consume:consume + resolver:resolve + rejecter:reject]; +} + +- (void)removeMessage:(NSString *)messageId + location:(double)location + source:(double)source { + [_swiftAPI removeMessage:messageId location:location source:source]; +} + +- (void)setReadForMessage:(NSString *)messageId read:(BOOL)read { + [_swiftAPI setReadForMessage:messageId read:read]; +} + +- (void)setAutoDisplayPaused:(BOOL)autoDisplayPaused { + [_swiftAPI setAutoDisplayPaused:autoDisplayPaused]; +} + +- (void)trackEvent:(NSString *)name dataFields:(NSDictionary *)dataFields { + [_swiftAPI trackEvent:name dataFields:dataFields]; +} + +- (void)trackPushOpenWithCampaignId:(double)campaignId + templateId:(NSNumber *)templateId + messageId:(NSString *)messageId + appAlreadyRunning:(BOOL)appAlreadyRunning + dataFields:(NSDictionary *)dataFields { + [_swiftAPI trackPushOpenWithCampaignId:campaignId + templateId:templateId + messageId:messageId + appAlreadyRunning:appAlreadyRunning + dataFields:dataFields]; +} + +- (void)trackInAppOpen:(NSString *)messageId location:(double)location { + [_swiftAPI trackInAppOpen:messageId location:location]; +} + +- (void)trackInAppClick:(NSString *)messageId + location:(double)location + clickedUrl:(NSString *)clickedUrl { + [_swiftAPI trackInAppClick:messageId location:location clickedUrl:clickedUrl]; +} + +- (void)trackInAppClose:(NSString *)messageId + location:(double)location + source:(double)source + clickedUrl:(NSString *_Nullable)clickedUrl { + [_swiftAPI trackInAppClose:messageId + location:location + source:source + clickedUrl:clickedUrl]; +} + +- (void)inAppConsume:(NSString *)messageId + location:(double)location + source:(double)source { + [_swiftAPI inAppConsume:messageId location:location source:source]; +} + +- (void)updateCart:(NSArray *)items { + [_swiftAPI updateCart:items]; +} + +- (void)trackPurchase:(double)total + items:(NSArray *)items + dataFields:(NSDictionary *)dataFields { + [_swiftAPI trackPurchase:total items:items dataFields:dataFields]; +} + +- (void)updateUser:(NSDictionary *)dataFields + mergeNestedObjects:(BOOL)mergeNestedObjects { + [_swiftAPI updateUser:dataFields mergeNestedObjects:mergeNestedObjects]; +} + +- (void)updateEmail:(NSString *)email authToken:(NSString *)authToken { + [_swiftAPI updateEmail:email authToken:authToken]; +} + +- (void)getAttributionInfo:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject { + [_swiftAPI getAttributionInfo:resolve rejecter:reject]; +} + +- (void)setAttributionInfo:(NSDictionary *_Nullable)attributionInfo { + [_swiftAPI setAttributionInfo:attributionInfo]; +} + +- (void)disableDeviceForCurrentUser { + [_swiftAPI disableDeviceForCurrentUser]; +} + +- (void)getLastPushPayload:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject { + [_swiftAPI getLastPushPayload:resolve rejecter:reject]; +} + +- (void)getHtmlInAppContentForMessage:(NSString *)messageId + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject { + [_swiftAPI getHtmlInAppContentForMessage:messageId + resolver:resolve + rejecter:reject]; +} + +- (void)handleAppLink:(NSString *)appLink + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject { + [_swiftAPI handleAppLink:appLink resolver:resolve rejecter:reject]; +} + +- (void)updateSubscriptions:(NSArray *_Nullable)emailListIds + unsubscribedChannelIds:(NSArray *_Nullable)unsubscribedChannelIds + unsubscribedMessageTypeIds:(NSArray *_Nullable)unsubscribedMessageTypeIds + subscribedMessageTypeIds:(NSArray *_Nullable)subscribedMessageTypeIds + campaignId:(double)campaignId + templateId:(double)templateId { + [_swiftAPI updateSubscriptions:emailListIds + unsubscribedChannelIds:unsubscribedChannelIds + unsubscribedMessageTypeIds:unsubscribedMessageTypeIds + subscribedMessageTypeIds:subscribedMessageTypeIds + campaignId:campaignId + templateId:templateId]; +} + +- (void)startSession:(NSArray *)visibleRows { + [_swiftAPI startSession:visibleRows]; +} + +- (void)endSession { + [_swiftAPI endSession]; +} + +- (void)updateVisibleRows:(NSArray *)visibleRows { + [_swiftAPI updateVisibleRows:visibleRows]; +} + +- (void)passAlongAuthToken:(NSString *_Nullable)authToken { + [_swiftAPI passAlongAuthToken:authToken]; +} + +- (void)wakeApp { + // Placeholder function -- this method is only used in Android +} + +// MARK: - TurboModule integration +- (std::shared_ptr)getTurboModule: + (const facebook::react::ObjCTurboModule::InitParams &)params { + return std::make_shared(params); +} + +#else + +// MARK: - RCTBridgeModule integration for Legacy Architecture + +RCT_EXPORT_METHOD(startObserving) { + [(ReactIterableAPI *)_swiftAPI startObserving]; +} + +RCT_EXPORT_METHOD(stopObserving) { + [(ReactIterableAPI *)_swiftAPI stopObserving]; +} + +RCT_EXPORT_METHOD( + initializeWithApiKey : (NSString *)apiKey config : (NSDictionary *) + config version : (NSString *)version resolve : (RCTPromiseResolveBlock) + resolve reject : (RCTPromiseRejectBlock)reject) { + [_swiftAPI initializeWithApiKey:apiKey + config:config + version:version + resolver:resolve + rejecter:reject]; +} + +RCT_EXPORT_METHOD( + initialize2WithApiKey : (NSString *)apiKey config : (NSDictionary *) + config version : (NSString *)version apiEndPointOverride : (NSString *) + apiEndPointOverride resolve : (RCTPromiseResolveBlock) + resolve reject : (RCTPromiseRejectBlock)reject) { + [_swiftAPI initialize2WithApiKey:apiKey + config:config + version:version + apiEndPointOverride:apiEndPointOverride + resolver:resolve + rejecter:reject]; +} + +RCT_EXPORT_METHOD(setEmail : (NSString *_Nullable) + email authToken : (NSString *_Nullable)authToken) { + [_swiftAPI setEmail:email authToken:authToken]; +} + +RCT_EXPORT_METHOD(getEmail : (RCTPromiseResolveBlock) + resolve reject : (RCTPromiseRejectBlock)reject) { + [_swiftAPI getEmail:resolve rejecter:reject]; +} + +RCT_EXPORT_METHOD(setUserId : (NSString *_Nullable) + userId authToken : (NSString *_Nullable)authToken) { + [_swiftAPI setUserId:userId authToken:authToken]; +} + +RCT_EXPORT_METHOD(getUserId : (RCTPromiseResolveBlock) + resolve reject : (RCTPromiseRejectBlock)reject) { + [_swiftAPI getUserId:resolve rejecter:reject]; +} + +RCT_EXPORT_METHOD(setInAppShowResponse : (double)inAppShowResponse) { + [_swiftAPI setInAppShowResponse:inAppShowResponse]; +} + +RCT_EXPORT_METHOD(getInAppMessages : (RCTPromiseResolveBlock) + resolve reject : (RCTPromiseRejectBlock)reject) { + [_swiftAPI getInAppMessages:resolve rejecter:reject]; +} + +RCT_EXPORT_METHOD(getInboxMessages : (RCTPromiseResolveBlock) + resolve reject : (RCTPromiseRejectBlock)reject) { + [_swiftAPI getInboxMessages:resolve rejecter:reject]; +} + +RCT_EXPORT_METHOD(getUnreadInboxMessagesCount : (RCTPromiseResolveBlock) + resolve reject : (RCTPromiseRejectBlock)reject) { + [_swiftAPI getUnreadInboxMessagesCount:resolve rejecter:reject]; +} + +RCT_EXPORT_METHOD(showMessage : (NSString *)messageId consume : (BOOL) + consume resolve : (RCTPromiseResolveBlock) + resolve reject : (RCTPromiseRejectBlock)reject) { + [_swiftAPI showMessage:messageId + consume:consume + resolver:resolve + rejecter:reject]; +} + +RCT_EXPORT_METHOD(removeMessage : (NSString *)messageId location : (double) + location source : (double)source) { + [_swiftAPI removeMessage:messageId location:location source:source]; +} + +RCT_EXPORT_METHOD(setReadForMessage : (NSString *)messageId read : (BOOL)read) { + [_swiftAPI setReadForMessage:messageId read:read]; +} + +RCT_EXPORT_METHOD(setAutoDisplayPaused : (BOOL)autoDisplayPaused) { + [_swiftAPI setAutoDisplayPaused:autoDisplayPaused]; +} + +RCT_EXPORT_METHOD(trackEvent : (NSString *)name dataFields : (NSDictionary *) + dataFields) { + [_swiftAPI trackEvent:name dataFields:dataFields]; +} + +RCT_EXPORT_METHOD( + trackPushOpenWithCampaignId : (double)campaignId templateId : (NSNumber *) + templateId messageId : (NSString *)messageId appAlreadyRunning : (BOOL) + appAlreadyRunning dataFields : (NSDictionary *)dataFields) { + [_swiftAPI trackPushOpenWithCampaignId:campaignId + templateId:templateId + messageId:messageId + appAlreadyRunning:appAlreadyRunning + dataFields:dataFields]; +} + +RCT_EXPORT_METHOD(trackInAppOpen : (NSString *)messageId location : (double) + location) { + [_swiftAPI trackInAppOpen:messageId location:location]; +} + +RCT_EXPORT_METHOD(trackInAppClick : (NSString *)messageId location : (double) + location clickedUrl : (NSString *)clickedUrl) { + [_swiftAPI trackInAppClick:messageId location:location clickedUrl:clickedUrl]; +} + +RCT_EXPORT_METHOD(trackInAppClose : (NSString *)messageId location : (double) + location source : (double)source clickedUrl : (NSString *) + clickedUrl) { + [_swiftAPI trackInAppClose:messageId + location:location + source:source + clickedUrl:clickedUrl]; +} + +RCT_EXPORT_METHOD(inAppConsume : (NSString *)messageId location : (double) + location source : (double)source) { + [_swiftAPI inAppConsume:messageId location:location source:source]; +} + +RCT_EXPORT_METHOD(updateCart : (NSArray *)items) { + [_swiftAPI updateCart:items]; +} + +RCT_EXPORT_METHOD(trackPurchase : (double)total items : (NSArray *) + items dataFields : (NSDictionary *)dataFields) { + [_swiftAPI trackPurchase:total items:items dataFields:dataFields]; +} + +RCT_EXPORT_METHOD(updateUser : (NSDictionary *)dataFields mergeNestedObjects : ( + BOOL)mergeNestedObjects) { + [_swiftAPI updateUser:dataFields mergeNestedObjects:mergeNestedObjects]; +} + +RCT_EXPORT_METHOD(updateEmail : (NSString *)email authToken : (NSString *) + authToken) { + [_swiftAPI updateEmail:email authToken:authToken]; +} + +RCT_EXPORT_METHOD(getAttributionInfo : (RCTPromiseResolveBlock) + resolve reject : (RCTPromiseRejectBlock)reject) { + [_swiftAPI getAttributionInfo:resolve rejecter:reject]; +} + +RCT_EXPORT_METHOD(setAttributionInfo : (NSDictionary *)attributionInfo) { + [_swiftAPI setAttributionInfo:attributionInfo]; +} + +RCT_EXPORT_METHOD(disableDeviceForCurrentUser) { + [_swiftAPI disableDeviceForCurrentUser]; +} + +RCT_EXPORT_METHOD(getLastPushPayload : (RCTPromiseResolveBlock) + resolve reject : (RCTPromiseRejectBlock)reject) { + [_swiftAPI getLastPushPayload:resolve rejecter:reject]; +} + +RCT_EXPORT_METHOD(getHtmlInAppContentForMessage : (NSString *) + messageId resolve : (RCTPromiseResolveBlock) + resolve reject : (RCTPromiseRejectBlock)reject) { + [_swiftAPI getHtmlInAppContentForMessage:messageId + resolver:resolve + rejecter:reject]; +} + +RCT_EXPORT_METHOD(handleAppLink : (NSString *)appLink resolve : ( + RCTPromiseResolveBlock)resolve reject : (RCTPromiseRejectBlock)reject) { + [_swiftAPI handleAppLink:appLink resolver:resolve rejecter:reject]; +} + +RCT_EXPORT_METHOD( + updateSubscriptions : (NSArray *)emailListIds unsubscribedChannelIds : ( + NSArray *) + unsubscribedChannelIds unsubscribedMessageTypeIds : (NSArray *) + unsubscribedMessageTypeIds subscribedMessageTypeIds : (NSArray *) + subscribedMessageTypeIds campaignId : (double) + campaignId templateId : (double)templateId) { + [_swiftAPI updateSubscriptions:emailListIds + unsubscribedChannelIds:unsubscribedChannelIds + unsubscribedMessageTypeIds:unsubscribedMessageTypeIds + subscribedMessageTypeIds:subscribedMessageTypeIds + campaignId:campaignId + templateId:templateId]; +} + +RCT_EXPORT_METHOD(startSession : (NSArray *)visibleRows) { + [_swiftAPI startSession:visibleRows]; +} + +RCT_EXPORT_METHOD(endSession) { [_swiftAPI endSession]; } + +RCT_EXPORT_METHOD(updateVisibleRows : (NSArray *)visibleRows) { + [_swiftAPI updateVisibleRows:visibleRows]; +} + +RCT_EXPORT_METHOD(passAlongAuthToken : (NSString *_Nullable)authToken) { + [_swiftAPI passAlongAuthToken:authToken]; +} + +RCT_EXPORT_METHOD(wakeApp) { + // Placeholder function -- this method is only used in Android +} + +#endif @end diff --git a/ios/RNIterableAPI/ReactIterableAPI.swift b/ios/RNIterableAPI/ReactIterableAPI.swift index 4db314f20..163e34199 100644 --- a/ios/RNIterableAPI/ReactIterableAPI.swift +++ b/ios/RNIterableAPI/ReactIterableAPI.swift @@ -1,686 +1,694 @@ -// -// Created by Tapash Majumder on 3/19/20. -// Copyright © 2020 Iterable. All rights reserved. -// - import Foundation - import IterableSDK +import React -@objc(ReactIterableAPI) -class ReactIterableAPI: RCTEventEmitter { - deinit { - NotificationCenter.default.removeObserver(self) - } - - // MARK: - React Native Functions - - @objc static override func moduleName() -> String! { - return "RNIterableAPI" - } - - override var methodQueue: DispatchQueue! { - _methodQueue - } - - @objc override static func requiresMainQueueSetup() -> Bool { - false - } - - enum EventName: String, CaseIterable { - case handleUrlCalled - case handleCustomActionCalled - case handleInAppCalled - case handleAuthCalled - case receivedIterableInboxChanged - case handleAuthSuccessCalled - case handleAuthFailureCalled - } - - override func supportedEvents() -> [String]! { - var result = [String]() - - EventName.allCases.forEach { - result.append($0.rawValue) - } - - return result - } - - override func startObserving() { - ITBInfo() - - shouldEmit = true - } - - override func stopObserving() { - ITBInfo() - - shouldEmit = false - } - - // MARK: - Native SDK Functions - - @objc(initializeWithApiKey:config:version:resolver:rejecter:) - func initialize(apiKey: String, - config configDict: [AnyHashable: Any], - version: String, - resolver: @escaping RCTPromiseResolveBlock, - rejecter: @escaping RCTPromiseRejectBlock) { - ITBInfo() - - initialize(withApiKey: apiKey, - config: configDict, - version: version, - resolver: resolver, - rejecter: rejecter) - } - - @objc(initialize2WithApiKey:config:apiEndPointOverride:version:resolver:rejecter:) - func initialize2(apiKey: String, - config configDict: [AnyHashable: Any], - version: String, - apiEndPointOverride: String, - resolver: @escaping RCTPromiseResolveBlock, - rejecter: @escaping RCTPromiseRejectBlock) { - ITBInfo() - - initialize(withApiKey: apiKey, - config: configDict, - version: version, - apiEndPointOverride: apiEndPointOverride, - resolver: resolver, - rejecter: rejecter) - } - - @objc(setEmail:) - func set(email: String?) { - ITBInfo() - - IterableAPI.email = email - } - - @objc(setEmail:authToken:) - func set(email: String?, authToken: String?) { - ITBInfo() - - IterableAPI.setEmail(email, authToken) - } - - @objc(getEmail:rejecter:) - func getEmail(resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) { - ITBInfo() - - resolver(IterableAPI.email) - } - - @objc(setUserId:) - func set(userId: String?) { - ITBInfo() - - IterableAPI.userId = userId - } - - @objc(setUserId:authToken:) - func set(userId: String?, authToken: String?) { - ITBInfo() - - IterableAPI.setUserId(userId, authToken) - } - - @objc(getUserId:rejecter:) - func getUserId(resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) { - ITBInfo() - - resolver(IterableAPI.userId) - } - - // MARK: - Iterable API Request Functions - - @objc(setInAppShowResponse:) - func set(inAppShowResponse number: NSNumber) { - ITBInfo() - - self.inAppShowResponse = InAppShowResponse.from(number: number) - - inAppHandlerSemaphore.signal() - } - - @objc(disableDeviceForCurrentUser) - func disableDeviceForCurrentUser() { - ITBInfo() - - IterableAPI.disableDeviceForCurrentUser() - } - - @objc(getLastPushPayload:rejecter:) - func getLastPushPayload(resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) { - ITBInfo() - - resolver(IterableAPI.lastPushPayload) - } - - @objc(getAttributionInfo:rejecter:) - func getAttributionInfo(resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) { - ITBInfo() - - resolver(IterableAPI.attributionInfo.map(SerializationUtil.encodableToDictionary)) - } - - @objc(setAttributionInfo:) - func set(attributionInfo dict: [AnyHashable: Any]?) { - ITBInfo() - - guard let dict = dict else { - IterableAPI.attributionInfo = nil - return - } - - IterableAPI.attributionInfo = SerializationUtil.dictionaryToDecodable(dict: dict) - } - - @objc(trackPushOpenWithCampaignId:templateId:messageId:appAlreadyRunning:dataFields:) - func trackPushOpen(campaignId: NSNumber, - templateId: NSNumber?, - messageId: String, - appAlreadyRunning: Bool, - dataFields: [AnyHashable: Any]?) { - ITBInfo() - - IterableAPI.track(pushOpen: campaignId, - templateId: templateId, - messageId: messageId, - appAlreadyRunning: appAlreadyRunning, - dataFields: dataFields) - } - - @objc(updateCart:) - func updateCart(items: [[AnyHashable: Any]]) { - ITBInfo() - - IterableAPI.updateCart(items: items.compactMap(CommerceItem.from(dict:))) - } - - @objc(trackPurchase:items:dataFields:) - func trackPurchase(total: NSNumber, - items: [[AnyHashable: Any]], - dataFields: [AnyHashable: Any]?) { - ITBInfo() - - IterableAPI.track(purchase: total, - items: items.compactMap(CommerceItem.from(dict:)), - dataFields: dataFields) - } - - @objc(trackInAppOpen:location:) - func trackInAppOpen(messageId: String, - location locationNumber: NSNumber) { - ITBInfo() - - guard let message = IterableAPI.inAppManager.getMessage(withId: messageId) else { - ITBError("Could not find message with id: \(messageId)") - return - } - - IterableAPI.track(inAppOpen: message, location: InAppLocation.from(number: locationNumber)) - } - - @objc(trackInAppClick:location:clickedUrl:) - func trackInAppClick(messageId: String, - location locationNumber: NSNumber, - clickedUrl: String) { - ITBInfo() - - guard let message = IterableAPI.inAppManager.getMessage(withId: messageId) else { - ITBError("Could not find message with id: \(messageId)") - return - } - - IterableAPI.track(inAppClick: message, location: InAppLocation.from(number: locationNumber), clickedUrl: clickedUrl) - } - - @objc(trackInAppClose:location:source:clickedUrl:) - func trackInAppClose(messageId: String, - location locationNumber: NSNumber, - source sourceNumber: NSNumber, - clickedUrl: String?) { - ITBInfo() - - guard let message = IterableAPI.inAppManager.getMessage(withId: messageId) else { - ITBError("Could not find message with id: \(messageId)") - return - } - - if let inAppCloseSource = InAppCloseSource.from(number: sourceNumber) { - IterableAPI.track(inAppClose: message, - location: InAppLocation.from(number: locationNumber), - source: inAppCloseSource, - clickedUrl: clickedUrl) - } else { - IterableAPI.track(inAppClose: message, - location: InAppLocation.from(number: locationNumber), - clickedUrl: clickedUrl) - } - } - - @objc(inAppConsume:location:source:) - func inAppConsume(messageId: String, - location locationNumber: NSNumber, - source sourceNumber: NSNumber) { - ITBInfo() - - guard let message = IterableAPI.inAppManager.getMessage(withId: messageId) else { - ITBError("Could not find message with id: \(messageId)") - return - } - - if let inAppDeleteSource = InAppDeleteSource.from(number: sourceNumber) { - IterableAPI.inAppConsume(message: message, - location: InAppLocation.from(number: locationNumber), - source: inAppDeleteSource) - } else { - IterableAPI.inAppConsume(message: message, - location: InAppLocation.from(number: locationNumber)) - } - } - - @objc(getHtmlInAppContentForMessage:resolver:rejecter:) - func getHtmlInAppContent(messageId: String, resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) { - ITBInfo() - - guard let message = IterableAPI.inAppManager.getMessage(withId: messageId) else { - ITBError("Could not find message with id: \(messageId)") - rejecter("", "Could not find message with id: \(messageId)", nil) - return - } - - guard let content = message.content as? IterableHtmlInAppContent else { - ITBError("Could not parse message content as HTML") - rejecter("", "Could not parse message content as HTML", nil) - return - } - - resolver(content.toDict()) - } - - @objc(trackEvent:dataFields:) - func trackEvent(name: String, dataFields: [AnyHashable: Any]?) { - ITBInfo() - - IterableAPI.track(event: name, dataFields: dataFields) - } - - @objc(updateUser:mergeNestedObjects:) - func updateUser(dataFields: [AnyHashable: Any], mergeNestedObjects: Bool) { - ITBInfo() - - IterableAPI.updateUser(dataFields, mergeNestedObjects: mergeNestedObjects) - } - - @objc(updateEmail:authToken:) - func updateEmail(email: String, with authToken: String?) { - ITBInfo() - - if let authToken = authToken { - IterableAPI.updateEmail(email, withToken: authToken, onSuccess: nil, onFailure: nil) - } else { - IterableAPI.updateEmail(email, onSuccess: nil, onFailure: nil) - } - } - - @objc(handleAppLink:resolver:rejecter:) - func handle(appLink: String, resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) { - ITBInfo() - - if let url = URL(string: appLink) { - resolver(IterableAPI.handle(universalLink: url)) - } else { - rejecter("", "invalid URL", nil) - } +@objc public protocol ReactIterableAPIDelegate { + func sendEvent(withName: String, body: Any?) +} + +@objc public class ReactIterableAPI: RCTEventEmitter { + deinit { + NotificationCenter.default.removeObserver(self) + } + + @objc public weak var delegate: ReactIterableAPIDelegate? = nil + + @objc override public class func moduleName() -> String! { + return "RNIterableAPI" + } + + override open var methodQueue: DispatchQueue! { + _methodQueue + } + + @objc override static public func requiresMainQueueSetup() -> Bool { + false + } + + enum EventName: String, CaseIterable { + case handleUrlCalled + case handleCustomActionCalled + case handleInAppCalled + case handleAuthCalled + case receivedIterableInboxChanged + case handleAuthSuccessCalled + case handleAuthFailureCalled + } + + @objc public static var supportedEvents: [String] { + return EventName.allCases.map(\.rawValue) + } + + override public func startObserving() { + ITBInfo() + + shouldEmit = true + } + + override public func stopObserving() { + ITBInfo() + + shouldEmit = false + } + + // MARK: - Native SDK Functions + + @objc(initializeWithApiKey:config:version:resolver:rejecter:) + public func initializeWithApiKey( + apiKey: String, + config configDict: NSDictionary, + version: String, + resolver: @escaping RCTPromiseResolveBlock, + rejecter: @escaping RCTPromiseRejectBlock + ) { + ITBInfo() + + initialize( + withApiKey: apiKey, + config: configDict, + version: version, + resolver: resolver, + rejecter: rejecter) + } + + @objc(initialize2WithApiKey:config:version:apiEndPointOverride:resolver:rejecter:) + public func initialize2WithApiKey( + apiKey: String, + config configDict: NSDictionary, + version: String, + apiEndPointOverride: String, + resolver: @escaping RCTPromiseResolveBlock, + rejecter: @escaping RCTPromiseRejectBlock + ) { + ITBInfo() + + initialize( + withApiKey: apiKey, + config: configDict, + version: version, + apiEndPointOverride: apiEndPointOverride, + resolver: resolver, + rejecter: rejecter) + } + + @objc(setEmail:) + public func setEmail(email: String?) { + ITBInfo() + IterableAPI.email = email + } + + @objc(setEmail:authToken:) + public func setEmail(email: String?, authToken: String?) { + ITBInfo() + IterableAPI.setEmail(email, authToken) + } + + @objc(getEmail:rejecter:) + public func getEmail(resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) { + ITBInfo() + resolver(IterableAPI.email) + } + + @objc(setUserId:) + public func setUserId(userId: String?) { + ITBInfo() + IterableAPI.userId = userId + } + + @objc(setUserId:authToken:) + public func setUserId(userId: String?, authToken: String?) { + ITBInfo() + IterableAPI.setUserId(userId, authToken) + } + + @objc(getUserId:rejecter:) + public func getUserId(resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) { + ITBInfo() + resolver(IterableAPI.userId) + } + + // MARK: - Iterable API Request Functions + + @objc(setInAppShowResponse:) + public func setInAppShowResponse(inAppShowResponse number: Double) { + ITBInfo() + self.inAppShowResponse = InAppShowResponse.from(number: number as NSNumber) + inAppHandlerSemaphore.signal() + } + + @objc(disableDeviceForCurrentUser) + public func disableDeviceForCurrentUser() { + ITBInfo() + IterableAPI.disableDeviceForCurrentUser() + } + + @objc(getLastPushPayload:rejecter:) + public func getLastPushPayload(resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) + { + ITBInfo() + resolver(IterableAPI.lastPushPayload) + } + + @objc(getAttributionInfo:rejecter:) + public func getAttributionInfo(resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) + { + ITBInfo() + resolver(IterableAPI.attributionInfo.map(SerializationUtil.encodableToDictionary)) + } + + @objc(setAttributionInfo:) + public func setAttributionInfo(attributionInfo dict: NSDictionary?) { + ITBInfo() + guard let swiftDict = dict as? [AnyHashable: Any] else { + IterableAPI.attributionInfo = nil + return + } + IterableAPI.attributionInfo = SerializationUtil.dictionaryToDecodable( + dict: swiftDict) + } + + @objc(trackPushOpenWithCampaignId:templateId:messageId:appAlreadyRunning:dataFields:) + public func trackPushOpenWithCampaignId( + campaignId: Double, + templateId: NSNumber?, + messageId: String, + appAlreadyRunning: Bool, + dataFields: NSDictionary? + ) { + ITBInfo() + let swiftDict = dataFields as? [AnyHashable: Any] + + IterableAPI.track( + pushOpen: campaignId as NSNumber, + templateId: templateId, + messageId: messageId, + appAlreadyRunning: appAlreadyRunning, + dataFields: swiftDict) + } + + @objc(updateCart:) + public func updateCart(items: [[AnyHashable: Any]]) { + ITBInfo() + IterableAPI.updateCart(items: items.compactMap(CommerceItem.from(dict:))) + } + + @objc(trackPurchase:items:dataFields:) + public func trackPurchase( + total: Double, + items: [[AnyHashable: Any]], + dataFields: [AnyHashable: Any]? + ) { + ITBInfo() + IterableAPI.track( + purchase: total as NSNumber, + items: items.compactMap(CommerceItem.from(dict:)), + dataFields: dataFields) + } + + @objc(trackInAppOpen:location:) + public func trackInAppOpen( + messageId: String, + location locationNumber: Double + ) { + ITBInfo() + guard let message = IterableAPI.inAppManager.getMessage(withId: messageId) else { + ITBError("Could not find message with id: \(messageId)") + return + } + IterableAPI.track(inAppOpen: message, location: InAppLocation.from(number: locationNumber as NSNumber)) + } + + @objc(trackInAppClick:location:clickedUrl:) + public func trackInAppClick( + messageId: String, + location locationNumber: Double, + clickedUrl: String + ) { + ITBInfo() + guard let message = IterableAPI.inAppManager.getMessage(withId: messageId) else { + ITBError("Could not find message with id: \(messageId)") + return + } + IterableAPI.track( + inAppClick: message, location: InAppLocation.from(number: locationNumber as NSNumber), + clickedUrl: clickedUrl) + } + + @objc(trackInAppClose:location:source:clickedUrl:) + public func trackInAppClose( + messageId: String, + location locationNumber: Double, + source sourceNumber: Double, + clickedUrl: String? + ) { + ITBInfo() + guard let message = IterableAPI.inAppManager.getMessage(withId: messageId) else { + ITBError("Could not find message with id: \(messageId)") + return + } + if let inAppCloseSource = InAppCloseSource.from(number: sourceNumber as NSNumber) { + IterableAPI.track( + inAppClose: message, + location: InAppLocation.from(number: locationNumber as NSNumber), + source: inAppCloseSource, + clickedUrl: clickedUrl) + } else { + IterableAPI.track( + inAppClose: message, + location: InAppLocation.from(number: locationNumber as NSNumber), + clickedUrl: clickedUrl) + } + } + + @objc(inAppConsume:location:source:) + public func inAppConsume( + messageId: String, + location locationNumber: Double, + source sourceNumber: Double + ) { + ITBInfo() + guard let message = IterableAPI.inAppManager.getMessage(withId: messageId) else { + ITBError("Could not find message with id: \(messageId)") + return + } + if let inAppDeleteSource = InAppDeleteSource.from(number: sourceNumber as NSNumber) { + IterableAPI.inAppConsume( + message: message, + location: InAppLocation.from(number: locationNumber as NSNumber), + source: inAppDeleteSource) + } else { + IterableAPI.inAppConsume( + message: message, + location: InAppLocation.from(number: locationNumber as NSNumber)) + } + } + + @objc(getHtmlInAppContentForMessage:resolver:rejecter:) + public func getHtmlInAppContent( + messageId: String, resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock + ) { + ITBInfo() + guard let message = IterableAPI.inAppManager.getMessage(withId: messageId) else { + ITBError("Could not find message with id: \(messageId)") + rejecter( + "", "Could not find message with id: \(messageId)", + NSError(domain: "", code: 0, userInfo: nil)) + return + } + guard let content = message.content as? IterableHtmlInAppContent else { + ITBError("Could not parse message content as HTML") + rejecter( + "", "Could not parse message content as HTML", NSError(domain: "", code: 0, userInfo: nil)) + return + } + resolver(content.toDict()) + } + + @objc(trackEvent:dataFields:) + public func trackEvent(name: String, dataFields: NSDictionary?) { + ITBInfo() + + IterableAPI.track(event: name, dataFields: dataFields as? [AnyHashable: Any]) + } + + @objc(updateUser:mergeNestedObjects:) + public func updateUser(dataFields: NSDictionary, mergeNestedObjects: Bool) { + ITBInfo() + guard let fields = dataFields as? [AnyHashable: Any] else { + ITBError("Could not cast dataFields to [AnyHashable: Any]") + return + } + IterableAPI.updateUser(fields, mergeNestedObjects: mergeNestedObjects) + } + + @objc(updateEmail:authToken:) + public func updateEmail(email: String, with authToken: String?) { + ITBInfo() + if let authToken = authToken { + IterableAPI.updateEmail(email, withToken: authToken, onSuccess: nil, onFailure: nil) + } else { + IterableAPI.updateEmail(email, onSuccess: nil, onFailure: nil) + } + } + + @objc(handleAppLink:resolver:rejecter:) + public func handle( + appLink: String, resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock + ) { + ITBInfo() + if let url = URL(string: appLink) { + resolver(IterableAPI.handle(universalLink: url)) + } else { + rejecter("", "invalid URL", NSError(domain: "", code: 0, userInfo: nil)) + } + } + + // MARK: - SDK In-App Manager Functions + + @objc(getInAppMessages:rejecter:) + public func getInAppMessages(resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) { + ITBInfo() + resolver(IterableAPI.inAppManager.getMessages().map { $0.toDict() }) + } + + @objc(getInboxMessages:rejecter:) + public func getInboxMessages(resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) { + ITBInfo() + resolver(IterableAPI.inAppManager.getInboxMessages().map { $0.toDict() }) + } + + @objc(getUnreadInboxMessagesCount:rejecter:) + public func getUnreadInboxMessagesCount( + resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock + ) { + ITBInfo() + resolver(IterableAPI.inAppManager.getUnreadInboxMessagesCount()) + } + + @objc(showMessage:consume:resolver:rejecter:) + public func showMessage( + messageId: String, consume: Bool, resolver: @escaping RCTPromiseResolveBlock, + rejecter: RCTPromiseRejectBlock + ) { + ITBInfo() + guard let message = IterableAPI.inAppManager.getMessage(withId: messageId) else { + ITBError("Could not find message with id: \(messageId)") + return + } + IterableAPI.inAppManager.show(message: message, consume: consume) { (url) in + resolver(url.map({ $0.absoluteString })) + } + } + + @objc(removeMessage:location:source:) + public func removeMessage( + messageId: String, location locationNumber: Double, source sourceNumber: Double + ) { + ITBInfo() + guard let message = IterableAPI.inAppManager.getMessage(withId: messageId) else { + ITBError("Could not find message with id: \(messageId)") + return + } + if let inAppDeleteSource = InAppDeleteSource.from(number: sourceNumber as NSNumber) { + IterableAPI.inAppManager.remove( + message: message, + location: InAppLocation.from(number: locationNumber as NSNumber), + source: inAppDeleteSource) + } else { + IterableAPI.inAppManager.remove( + message: message, + location: InAppLocation.from(number: locationNumber as NSNumber)) + } + } + + @objc( + updateSubscriptions:unsubscribedChannelIds:unsubscribedMessageTypeIds:subscribedMessageTypeIds: + campaignId:templateId: + ) + public func updateSubscriptions( + emailListIds: [NSNumber]?, + unsubscribedChannelIds: [NSNumber]?, + unsubscribedMessageTypeIds: [NSNumber]?, + subscribedMessageTypeIds: [NSNumber]?, + campaignId: Double, + templateId: Double + ) { + ITBInfo() + let finalCampaignId: NSNumber? = (campaignId as NSNumber).intValue <= 0 ? nil : campaignId as NSNumber + let finalTemplateId: NSNumber? = (templateId as NSNumber).intValue <= 0 ? nil : templateId as NSNumber + IterableAPI.updateSubscriptions( + emailListIds, + unsubscribedChannelIds: unsubscribedChannelIds, + unsubscribedMessageTypeIds: unsubscribedMessageTypeIds, + subscribedMessageTypeIds: subscribedMessageTypeIds, + campaignId: finalCampaignId, + templateId: finalTemplateId) + } + + @objc(setReadForMessage:read:) + public func setReadForMessage(for messageId: String, read: Bool) { + ITBInfo() + guard let message = IterableAPI.inAppManager.getMessage(withId: messageId) else { + ITBError("Could not find message with id: \(messageId)") + return + } + IterableAPI.inAppManager.set(read: read, forMessage: message) + } + + @objc(setAutoDisplayPaused:) + public func setAutoDisplayPaused(autoDisplayPaused: Bool) { + ITBInfo() + DispatchQueue.main.async { + IterableAPI.inAppManager.isAutoDisplayPaused = autoDisplayPaused } - - // MARK: - SDK In-App Manager Functions - - @objc(getInAppMessages:rejecter:) - func getInAppMessages(resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) { - ITBInfo() - - resolver(IterableAPI.inAppManager.getMessages().map { $0.toDict() }) - } - - @objc(getInboxMessages:rejecter:) - func getInboxMessages(resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) { - ITBInfo() - - resolver(IterableAPI.inAppManager.getInboxMessages().map{ $0.toDict() }) - } - - @objc(getUnreadInboxMessagesCount:rejecter:) - func getUnreadInboxMessagesCount(resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) { - ITBInfo() - - resolver(IterableAPI.inAppManager.getUnreadInboxMessagesCount()) - } - - @objc(showMessage:consume:resolver:rejecter:) - func show(messageId: String, consume: Bool, resolver: @escaping RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) { - ITBInfo() - - guard let message = IterableAPI.inAppManager.getMessage(withId: messageId) else { - ITBError("Could not find message with id: \(messageId)") - return - } - - IterableAPI.inAppManager.show(message: message, consume: consume) { (url) in - resolver(url.map({$0.absoluteString})) - } + } + + // MARK: - SDK Inbox Session Tracking Functions + + @objc(startSession:) + public func startSession(visibleRows: [[AnyHashable: Any]]) { + let serializedRows = InboxImpressionTracker.RowInfo.rowInfos(from: visibleRows) + inboxSessionManager.startSession(visibleRows: serializedRows) + } + + @objc(endSession) + public func endSession() { + guard let sessionInfo = inboxSessionManager.endSession() else { + ITBError("Could not find session info") + return + } + let inboxSession = IterableInboxSession( + id: sessionInfo.startInfo.id, + sessionStartTime: sessionInfo.startInfo.startTime, + sessionEndTime: Date(), + startTotalMessageCount: sessionInfo.startInfo.totalMessageCount, + startUnreadMessageCount: sessionInfo.startInfo.unreadMessageCount, + endTotalMessageCount: IterableAPI.inAppManager.getInboxMessages().count, + endUnreadMessageCount: IterableAPI.inAppManager.getUnreadInboxMessagesCount(), + impressions: sessionInfo.impressions.map { $0.toIterableInboxImpression() }) + IterableAPI.track(inboxSession: inboxSession) + } + + @objc(updateVisibleRows:) + public func updateVisibleRows(visibleRows: [[AnyHashable: Any]]) { + let serializedRows = InboxImpressionTracker.RowInfo.rowInfos(from: visibleRows) + inboxSessionManager.updateVisibleRows(visibleRows: serializedRows) + } + + // MARK: - SDK Auth Manager Functions + + @objc(passAlongAuthToken:) + public func passAlongAuthToken(authToken: String?) { + ITBInfo() + passedAuthToken = authToken + authHandlerSemaphore.signal() + } + + // MARK: Private + private var shouldEmit = false + private let _methodQueue = DispatchQueue(label: String(describing: ReactIterableAPI.self)) + + // Handling in-app delegate + private var inAppShowResponse = InAppShowResponse.show + private var inAppHandlerSemaphore = DispatchSemaphore(value: 0) + + private var passedAuthToken: String? + private var authHandlerSemaphore = DispatchSemaphore(value: 0) + + private let inboxSessionManager = InboxSessionManager() + + @objc func initialize( + withApiKey apiKey: String, + config configDict: NSDictionary, + version: String, + apiEndPointOverride: String? = nil, + resolver: @escaping RCTPromiseResolveBlock, + rejecter: @escaping RCTPromiseRejectBlock + ) { + ITBInfo() + let launchOptions = createLaunchOptions() + guard let configDictTyped = configDict as? [AnyHashable: Any] else { + rejecter("E_INVALID_CONFIG", "configDict could not be cast to [AnyHashable: Any]", nil) + return + } + let iterableConfig = IterableConfig.from( + dict: configDictTyped + ) + + if let urlHandlerPresent = configDict["urlHandlerPresent"] as? Bool, urlHandlerPresent == true { + iterableConfig.urlDelegate = self } - - @objc(removeMessage:location:source:) - func remove(messageId: String, location locationNumber: NSNumber, source sourceNumber: NSNumber) { - ITBInfo() - - guard let message = IterableAPI.inAppManager.getMessage(withId: messageId) else { - ITBError("Could not find message with id: \(messageId)") - return - } - - if let inAppDeleteSource = InAppDeleteSource.from(number: sourceNumber) { - IterableAPI.inAppManager.remove(message: message, - location: InAppLocation.from(number: locationNumber), - source: inAppDeleteSource) - } else { - IterableAPI.inAppManager.remove(message: message, - location: InAppLocation.from(number: locationNumber)) - } + + if let customActionHandlerPresent = configDict["customActionHandlerPresent"] as? Bool, + customActionHandlerPresent == true + { + iterableConfig.customActionDelegate = self } - - @objc(updateSubscriptions:unsubscribedChannelIds:unsubscribedMessageTypeIds:subscribedMessageTypeIds:campaignId:templateId:) - func updateSubscriptions(emailListIds: [NSNumber]?, - unsubscribedChannelIds: [NSNumber]?, - unsubscribedMessageTypeIds: [NSNumber]?, - subscribedMessageTypeIds: [NSNumber]?, - campaignId: NSNumber, - templateId: NSNumber) { - ITBInfo() - - let finalCampaignId: NSNumber? = campaignId.intValue <= 0 ? nil : campaignId - let finalTemplateId: NSNumber? = templateId.intValue <= 0 ? nil : templateId - - IterableAPI.updateSubscriptions(emailListIds, - unsubscribedChannelIds: unsubscribedChannelIds, - unsubscribedMessageTypeIds: unsubscribedMessageTypeIds, - subscribedMessageTypeIds: subscribedMessageTypeIds, - campaignId: finalCampaignId, - templateId: finalTemplateId) - } - - @objc(setReadForMessage:read:) - func setRead(for messageId: String, read: Bool) { - ITBInfo() - - guard let message = IterableAPI.inAppManager.getMessage(withId: messageId) else { - ITBError("Could not find message with id: \(messageId)") - return - } - - IterableAPI.inAppManager.set(read: read, forMessage: message) - } - - @objc(setAutoDisplayPaused:) - func set(autoDisplayPaused: Bool) { - ITBInfo() - - DispatchQueue.main.async { - IterableAPI.inAppManager.isAutoDisplayPaused = autoDisplayPaused - } + + if let inAppHandlerPresent = configDict["inAppHandlerPresent"] as? Bool, + inAppHandlerPresent == true + { + iterableConfig.inAppDelegate = self } - - // MARK: - SDK Inbox Session Tracking Functions - - @objc(startSession:) - func startSession(visibleRows: [[AnyHashable: Any]]) { - let serializedRows = InboxImpressionTracker.RowInfo.rowInfos(from: visibleRows) - - inboxSessionManager.startSession(visibleRows: serializedRows) - } - - @objc(endSession) - func endSession() { - guard let sessionInfo = inboxSessionManager.endSession() else { - ITBError("Could not find session info") - return - } - - let inboxSession = IterableInboxSession(id: sessionInfo.startInfo.id, - sessionStartTime: sessionInfo.startInfo.startTime, - sessionEndTime: Date(), - startTotalMessageCount: sessionInfo.startInfo.totalMessageCount, - startUnreadMessageCount: sessionInfo.startInfo.unreadMessageCount, - endTotalMessageCount: IterableAPI.inAppManager.getInboxMessages().count, - endUnreadMessageCount: IterableAPI.inAppManager.getUnreadInboxMessagesCount(), - impressions: sessionInfo.impressions.map { $0.toIterableInboxImpression() }) - - IterableAPI.track(inboxSession: inboxSession) - } - - @objc(updateVisibleRows:) - func updateVisibleRows(visibleRows: [[AnyHashable: Any]]) { - let serializedRows = InboxImpressionTracker.RowInfo.rowInfos(from: visibleRows) - - inboxSessionManager.updateVisibleRows(visibleRows: serializedRows) - } - - // MARK: - SDK Auth Manager Functions - - @objc(passAlongAuthToken:) - func passAlong(authToken: String?) { - ITBInfo() - - passedAuthToken = authToken - - authHandlerSemaphore.signal() - } - - // MARK: Private - private var shouldEmit = false - private let _methodQueue = DispatchQueue(label: String(describing: ReactIterableAPI.self)) - - // Handling in-app delegate - private var inAppShowResponse = InAppShowResponse.show - private var inAppHandlerSemaphore = DispatchSemaphore(value: 0) - - private var passedAuthToken: String? - private var authHandlerSemaphore = DispatchSemaphore(value: 0) - - private let inboxSessionManager = InboxSessionManager() - - private func initialize(withApiKey apiKey: String, - config configDict: [AnyHashable: Any], - version: String, - apiEndPointOverride: String? = nil, - resolver: @escaping RCTPromiseResolveBlock, - rejecter: @escaping RCTPromiseRejectBlock) { - ITBInfo() - - let launchOptions = createLaunchOptions() - let iterableConfig = IterableConfig.from(dict: configDict) - - if let urlHandlerPresent = configDict["urlHandlerPresent"] as? Bool, urlHandlerPresent == true { - iterableConfig.urlDelegate = self - } - - if let customActionHandlerPresent = configDict["customActionHandlerPresent"] as? Bool, customActionHandlerPresent == true { - iterableConfig.customActionDelegate = self - } - - if let inAppHandlerPresent = configDict["inAppHandlerPresent"] as? Bool, inAppHandlerPresent == true { - iterableConfig.inAppDelegate = self - } - - if let authHandlerPresent = configDict["authHandlerPresent"] as? Bool, authHandlerPresent { - iterableConfig.authDelegate = self - } - - // connect new inbox in-app payloads to the RN SDK - NotificationCenter.default.addObserver(self, selector: #selector(receivedIterableInboxChanged), name: Notification.Name.iterableInboxChanged, object: nil) - - DispatchQueue.main.async { - IterableAPI.initialize2(apiKey: apiKey, - launchOptions: launchOptions, - config: iterableConfig, - apiEndPointOverride: apiEndPointOverride) { result in - resolver(result) - } - - IterableAPI.setDeviceAttribute(name: "reactNativeSDKVersion", value: version) - } + + if let authHandlerPresent = configDict["authHandlerPresent"] as? Bool, authHandlerPresent { + iterableConfig.authDelegate = self } - - @objc(receivedIterableInboxChanged) - private func receivedIterableInboxChanged() { - guard shouldEmit else { - return - } - - sendEvent(withName: EventName.receivedIterableInboxChanged.rawValue, body: nil) + + // connect new inbox in-app payloads to the RN SDK + NotificationCenter.default.addObserver( + self, selector: #selector(receivedIterableInboxChanged), + name: Notification.Name.iterableInboxChanged, object: nil) + + DispatchQueue.main.async { + IterableAPI.initialize2( + apiKey: apiKey, + launchOptions: launchOptions, + config: iterableConfig, + apiEndPointOverride: apiEndPointOverride + ) { result in + resolver(result) + } + + IterableAPI.setDeviceAttribute(name: "reactNativeSDKVersion", value: version) } - - private func createLaunchOptions() -> [UIApplication.LaunchOptionsKey: Any]? { - guard let bridge = bridge else { - return nil - } - - return ReactIterableAPI.createLaunchOptions(bridgeLaunchOptions: bridge.launchOptions) - } - - private static func createLaunchOptions(bridgeLaunchOptions: [AnyHashable: Any]?) -> [UIApplication.LaunchOptionsKey: Any]? { - guard let bridgeLaunchOptions = bridgeLaunchOptions, - let remoteNotification = bridgeLaunchOptions[UIApplication.LaunchOptionsKey.remoteNotification.rawValue] else { - return nil - } - - var result = [UIApplication.LaunchOptionsKey: Any]() - result[UIApplication.LaunchOptionsKey.remoteNotification] = remoteNotification - - return result + } + + @objc(receivedIterableInboxChanged) + func receivedIterableInboxChanged() { + guard shouldEmit else { + return + } + delegate?.sendEvent( + withName: EventName.receivedIterableInboxChanged.rawValue, body: nil as Any?) + } + + private func createLaunchOptions() -> [UIApplication.LaunchOptionsKey: Any]? { + guard let bridge = self.bridge else { + return nil } + return ReactIterableAPI.createLaunchOptions(bridgeLaunchOptions: bridge.launchOptions) + } + + private static func createLaunchOptions(bridgeLaunchOptions: [AnyHashable: Any]?) + -> [UIApplication.LaunchOptionsKey: Any]? + { + guard let bridgeLaunchOptions = bridgeLaunchOptions, + let remoteNotification = bridgeLaunchOptions[ + UIApplication.LaunchOptionsKey.remoteNotification.rawValue] + else { + return nil + } + var result = [UIApplication.LaunchOptionsKey: Any]() + result[UIApplication.LaunchOptionsKey.remoteNotification] = remoteNotification + return result + } } extension ReactIterableAPI: IterableURLDelegate { - func handle(iterableURL url: URL, inContext context: IterableActionContext) -> Bool { - ITBInfo() - - guard shouldEmit else { - return false - } - - let contextDict = ReactIterableAPI.contextToDictionary(context: context) - sendEvent(withName: EventName.handleUrlCalled.rawValue, - body: ["url": url.absoluteString, - "context": contextDict] as [String : Any]) - - return true - } - - private static func contextToDictionary(context: IterableActionContext) -> [AnyHashable: Any] { - var result = [AnyHashable: Any]() - - let actionDict = actionToDictionary(action: context.action) - result["action"] = actionDict - result["source"] = context.source.rawValue - - return result - } - - private static func actionToDictionary(action: IterableAction) -> [AnyHashable: Any] { - var actionDict = [AnyHashable: Any]() - - actionDict["type"] = action.type - - if let data = action.data { - actionDict["data"] = data - } - - if let userInput = action.userInput { - actionDict["userInput"] = userInput - } - - return actionDict + public func handle(iterableURL url: URL, inContext context: IterableActionContext) -> Bool { + ITBInfo() + guard shouldEmit else { + return false + } + let contextDict = ReactIterableAPI.contextToDictionary(context: context) + delegate?.sendEvent( + withName: EventName.handleUrlCalled.rawValue, + body: [ + "url": url.absoluteString, + "context": contextDict, + ] as [String: Any]) + return true + } + + private static func contextToDictionary(context: IterableActionContext) -> [AnyHashable: Any] { + var result = [AnyHashable: Any]() + let actionDict = actionToDictionary(action: context.action) + result["action"] = actionDict + result["source"] = context.source.rawValue + return result + } + + private static func actionToDictionary(action: IterableAction) -> [AnyHashable: Any] { + var actionDict = [AnyHashable: Any]() + actionDict["type"] = action.type + if let data = action.data { + actionDict["data"] = data + } + if let userInput = action.userInput { + actionDict["userInput"] = userInput } + return actionDict + } } extension ReactIterableAPI: IterableCustomActionDelegate { - func handle(iterableCustomAction action: IterableAction, inContext context: IterableActionContext) -> Bool { - ITBInfo() - - let actionDict = ReactIterableAPI.actionToDictionary(action: action) - let contextDict = ReactIterableAPI.contextToDictionary(context: context) - - sendEvent(withName: EventName.handleCustomActionCalled.rawValue, - body: ["action": actionDict, - "context": contextDict]) - - return true - } + public func handle( + iterableCustomAction action: IterableAction, inContext context: IterableActionContext + ) + -> Bool + { + ITBInfo() + let actionDict = ReactIterableAPI.actionToDictionary(action: action) + let contextDict = ReactIterableAPI.contextToDictionary(context: context) + delegate?.sendEvent( + withName: EventName.handleCustomActionCalled.rawValue, + body: [ + "action": actionDict, + "context": contextDict, + ]) + return true + } } extension ReactIterableAPI: IterableInAppDelegate { - func onNew(message: IterableInAppMessage) -> InAppShowResponse { - ITBInfo() - - guard shouldEmit else { - return .show - } - - sendEvent(withName: EventName.handleInAppCalled.rawValue, - body: message.toDict()) - - let timeoutResult = inAppHandlerSemaphore.wait(timeout: .now() + 2.0) - - if timeoutResult == .success { - ITBInfo("inAppShowResponse: \(inAppShowResponse == .show)") - return inAppShowResponse - } else { - ITBInfo("timed out") - return .show - } - } + public func onNew(message: IterableInAppMessage) -> InAppShowResponse { + ITBInfo() + guard shouldEmit else { + return .show + } + delegate?.sendEvent( + withName: EventName.handleInAppCalled.rawValue, + body: message.toDict()) + let timeoutResult = inAppHandlerSemaphore.wait(timeout: .now() + 2.0) + if timeoutResult == .success { + ITBInfo("inAppShowResponse: \(inAppShowResponse == .show)") + return inAppShowResponse + } else { + ITBInfo("timed out") + return .show + } + } } extension ReactIterableAPI: IterableAuthDelegate { - func onAuthTokenRequested(completion: @escaping AuthTokenRetrievalHandler) { - ITBInfo() - - DispatchQueue.global(qos: .userInitiated).async { - self.sendEvent(withName: EventName.handleAuthCalled.rawValue, - body: nil) - - let authTokenRetrievalResult = self.authHandlerSemaphore.wait(timeout: .now() + 30.0) - - if authTokenRetrievalResult == .success { - ITBInfo("authTokenRetrieval successful") - - DispatchQueue.main.async { - completion(self.passedAuthToken) - } - - self.sendEvent(withName: EventName.handleAuthSuccessCalled.rawValue, - body: nil) - } else { - ITBInfo("authTokenRetrieval timed out") - - DispatchQueue.main.async { - completion(nil) - } - - self.sendEvent(withName: EventName.handleAuthFailureCalled.rawValue, - body: nil) - } + public func onAuthTokenRequested(completion: @escaping AuthTokenRetrievalHandler) { + ITBInfo() + DispatchQueue.global(qos: .userInitiated).async { + self.delegate?.sendEvent( + withName: EventName.handleAuthCalled.rawValue, + body: nil as Any?) + let authTokenRetrievalResult = self.authHandlerSemaphore.wait(timeout: .now() + 30.0) + if authTokenRetrievalResult == .success { + ITBInfo("authTokenRetrieval successful") + DispatchQueue.main.async { + completion(self.passedAuthToken) } + self.delegate?.sendEvent( + withName: EventName.handleAuthSuccessCalled.rawValue, + body: nil as Any?) + } else { + ITBInfo("authTokenRetrieval timed out") + DispatchQueue.main.async { + completion(nil) + } + self.delegate?.sendEvent( + withName: EventName.handleAuthFailureCalled.rawValue, + body: nil as Any?) + } } - - func onTokenRegistrationFailed(_ reason: String?) { - - } + } + + public func onTokenRegistrationFailed(_ reason: String?) { + } } diff --git a/ios/RNIterableAPI/Serialization.swift b/ios/RNIterableAPI/Serialization.swift index cb27026be..478262924 100644 --- a/ios/RNIterableAPI/Serialization.swift +++ b/ios/RNIterableAPI/Serialization.swift @@ -4,265 +4,266 @@ // import Foundation - import IterableSDK struct SerializationUtil { - static func dateToInt(date: Date) -> Int { - Int(date.timeIntervalSince1970 * 1000) - } - - static func intToDate(int: Int) -> Date { - let seconds = Double(int) / 1000.0 // ms -> seconds - - return Date(timeIntervalSince1970: seconds) - } - - static func encodableToDictionary(encodable: T) -> [String: Any]? where T: Encodable { - guard let data = try? JSONEncoder().encode(encodable) else { - return nil - } - - return try? JSONSerialization.jsonObject(with: data, options: [.allowFragments]) as? [String: Any] + static func dateToInt(date: Date) -> Int { + Int(date.timeIntervalSince1970 * 1000) + } + + static func intToDate(int: Int) -> Date { + let seconds = Double(int) / 1000.0 // ms -> seconds + + return Date(timeIntervalSince1970: seconds) + } + + static func encodableToDictionary(encodable: T) -> [String: Any]? where T: Encodable { + guard let data = try? JSONEncoder().encode(encodable) else { + return nil } - - static func dictionaryToDecodable(dict: [AnyHashable: Any]) -> T? where T: Decodable { - guard let data = try? JSONSerialization.data(withJSONObject: dict, options: []) else { - return nil - } - - return try? JSONDecoder().decode(T.self, from: data) + + return try? JSONSerialization.jsonObject(with: data, options: [.allowFragments]) + as? [String: Any] + } + + static func dictionaryToDecodable(dict: [AnyHashable: Any]) -> T? where T: Decodable { + guard let data = try? JSONSerialization.data(withJSONObject: dict, options: []) else { + return nil } + + return try? JSONDecoder().decode(T.self, from: data) + } } extension IterableConfig { - static func from(dict: [AnyHashable: Any]?) -> IterableConfig { - let config = IterableConfig() - - guard let dict = dict else { - return config - } - - if let allowedProtocols = dict["allowedProtocols"] as? [String] { - config.allowedProtocols = allowedProtocols - } - - if let pushIntegrationName = dict["pushIntegrationName"] as? String { - config.pushIntegrationName = pushIntegrationName - } - - if let pushPlatform = dict["pushPlatform"] as? NSNumber { - switch pushPlatform { - case 0: - config.pushPlatform = .sandbox - case 1: - config.pushPlatform = .production - default: - config.pushPlatform = .auto - } - } - - if let autoPushRegistration = dict["autoPushRegistration"] as? Bool { - config.autoPushRegistration = autoPushRegistration - } - - if let inAppDisplayInterval = dict["inAppDisplayInterval"] as? Double { - config.inAppDisplayInterval = inAppDisplayInterval - } - - if let expiringAuthTokenRefreshPeriod = dict["expiringAuthTokenRefreshPeriod"] as? TimeInterval { - config.expiringAuthTokenRefreshPeriod = expiringAuthTokenRefreshPeriod - } - - if let logLevelNumber = dict["logLevel"] as? NSNumber { - config.logDelegate = createLogDelegate(logLevelNumber: logLevelNumber) - } - - if let useInMemoryStorageForInApp = dict["useInMemoryStorageForInApps"] as? Bool { - config.useInMemoryStorageForInApps = useInMemoryStorageForInApp - } - - if let dataRegion = dict["dataRegion"] as? NSNumber { - switch dataRegion { - case 0: - config.dataRegion = IterableDataRegion.US - case 1: - config.dataRegion = IterableDataRegion.EU - default: - config.dataRegion = IterableDataRegion.US - } - } - - - return config + static func from(dict: [AnyHashable: Any]?) -> IterableConfig { + let config = IterableConfig() + + guard let dict = dict else { + return config } - - private static func createLogDelegate(logLevelNumber: NSNumber) -> IterableLogDelegate { - DefaultLogDelegate(minLogLevel: LogLevel.from(number: logLevelNumber)) + + if let allowedProtocols = dict["allowedProtocols"] as? [String] { + config.allowedProtocols = allowedProtocols + } + + if let pushIntegrationName = dict["pushIntegrationName"] as? String { + config.pushIntegrationName = pushIntegrationName + } + + if let pushPlatform = dict["pushPlatform"] as? NSNumber { + switch pushPlatform { + case 0: + config.pushPlatform = .sandbox + case 1: + config.pushPlatform = .production + default: + config.pushPlatform = .auto + } + } + + if let autoPushRegistration = dict["autoPushRegistration"] as? Bool { + config.autoPushRegistration = autoPushRegistration + } + + if let inAppDisplayInterval = dict["inAppDisplayInterval"] as? Double { + config.inAppDisplayInterval = inAppDisplayInterval + } + + if let expiringAuthTokenRefreshPeriod = dict["expiringAuthTokenRefreshPeriod"] as? TimeInterval + { + config.expiringAuthTokenRefreshPeriod = expiringAuthTokenRefreshPeriod + } + + if let logLevelNumber = dict["logLevel"] as? NSNumber { + config.logDelegate = createLogDelegate(logLevelNumber: logLevelNumber) + } + + if let useInMemoryStorageForInApp = dict["useInMemoryStorageForInApps"] as? Bool { + config.useInMemoryStorageForInApps = useInMemoryStorageForInApp } + + if let dataRegion = dict["dataRegion"] as? NSNumber { + switch dataRegion { + case 0: + config.dataRegion = IterableDataRegion.US + case 1: + config.dataRegion = IterableDataRegion.EU + default: + config.dataRegion = IterableDataRegion.US + } + } + + return config + } + + private static func createLogDelegate(logLevelNumber: NSNumber) -> IterableLogDelegate { + DefaultLogDelegate(minLogLevel: LogLevel.from(number: logLevelNumber)) + } } extension CommerceItem { - static func from(dict: [AnyHashable: Any]) -> CommerceItem? { - guard let id = dict["id"] as? String else { - return nil - } - - guard let name = dict["name"] as? String else { - return nil - } - - guard let price = dict["price"] as? NSNumber else { - return nil - } - - guard let quantity = dict["quantity"] as? UInt else { - return nil - } - - let sku = dict["sku"] as? String - let description = dict["description"] as? String - let url = dict["url"] as? String - let imageUrl = dict["imageUrl"] as? String - let categories = dict["categories"] as? [String] - let dataFields = dict["dataFields"] as? [AnyHashable: Any] - - return CommerceItem(id: id, - name: name, - price: price, - quantity: quantity, - sku: sku, - description: description, - url: url, - imageUrl: imageUrl, - categories: categories, - dataFields: dataFields) + static func from(dict: [AnyHashable: Any]) -> CommerceItem? { + guard let id = dict["id"] as? String else { + return nil + } + + guard let name = dict["name"] as? String else { + return nil } + + guard let price = dict["price"] as? NSNumber else { + return nil + } + + guard let quantity = dict["quantity"] as? UInt else { + return nil + } + + let sku = dict["sku"] as? String + let description = dict["description"] as? String + let url = dict["url"] as? String + let imageUrl = dict["imageUrl"] as? String + let categories = dict["categories"] as? [String] + let dataFields = dict["dataFields"] as? [AnyHashable: Any] + + return CommerceItem( + id: id, + name: name, + price: price, + quantity: quantity, + sku: sku, + description: description, + url: url, + imageUrl: imageUrl, + categories: categories, + dataFields: dataFields) + } } extension IterableInAppTrigger { - func toDict() -> [AnyHashable: Any] { - var dict = [AnyHashable: Any]() - dict["type"] = self.type.rawValue - return dict - } + func toDict() -> [AnyHashable: Any] { + var dict = [AnyHashable: Any]() + dict["type"] = self.type.rawValue + return dict + } } extension UIEdgeInsets { - func toDict() -> [AnyHashable: Any] { - var dict = [AnyHashable: Any]() - dict["top"] = top - dict["left"] = left - dict["bottom"] = bottom - dict["right"] = right - return dict - } + func toDict() -> [AnyHashable: Any] { + var dict = [AnyHashable: Any]() + dict["top"] = top + dict["left"] = left + dict["bottom"] = bottom + dict["right"] = right + return dict + } } extension IterableInboxMetadata { - func toDict() -> [AnyHashable: Any]? { - var dict = [AnyHashable: Any]() - dict["title"] = title - dict["subtitle"] = subtitle - dict["icon"] = icon - return dict - } + func toDict() -> [AnyHashable: Any]? { + var dict = [AnyHashable: Any]() + dict["title"] = title + dict["subtitle"] = subtitle + dict["icon"] = icon + return dict + } } extension IterableInAppMessage { - func toDict() -> [AnyHashable: Any] { - var dict = [AnyHashable: Any]() - dict["messageId"] = messageId - dict["campaignId"] = campaignId - dict["trigger"] = trigger.toDict() - dict["createdAt"] = createdAt.map (SerializationUtil.dateToInt(date:)) - dict["expiresAt"] = expiresAt.map (SerializationUtil.dateToInt(date:)) - dict["saveToInbox"] = saveToInbox - dict["inboxMetadata"] = inboxMetadata?.toDict() ?? nil - dict["customPayload"] = customPayload - dict["read"] = read - dict["priorityLevel"] = priorityLevel - - return dict - } + func toDict() -> [AnyHashable: Any] { + var dict = [AnyHashable: Any]() + dict["messageId"] = messageId + dict["campaignId"] = campaignId + dict["trigger"] = trigger.toDict() + dict["createdAt"] = createdAt.map(SerializationUtil.dateToInt(date:)) + dict["expiresAt"] = expiresAt.map(SerializationUtil.dateToInt(date:)) + dict["saveToInbox"] = saveToInbox + dict["inboxMetadata"] = inboxMetadata?.toDict() ?? nil + dict["customPayload"] = customPayload + dict["read"] = read + dict["priorityLevel"] = priorityLevel + + return dict + } } extension IterableHtmlInAppContent { - func toDict() -> [AnyHashable: Any] { - var dict = [AnyHashable: Any]() - dict["type"] = type.rawValue - dict["edgeInsets"] = edgeInsets.toDict() - dict["html"] = html - return dict - } + func toDict() -> [AnyHashable: Any] { + var dict = [AnyHashable: Any]() + dict["type"] = type.rawValue + dict["edgeInsets"] = edgeInsets.toDict() + dict["html"] = html + return dict + } } extension InAppLocation { - static func from(number: NSNumber) -> InAppLocation { - if let value = number as? Int { - return InAppLocation(rawValue: value) ?? .inApp - } else { - return .inApp - } + static func from(number: NSNumber) -> InAppLocation { + if let value = number as? Int { + return InAppLocation(rawValue: value) ?? .inApp + } else { + return .inApp } + } } extension InAppCloseSource { - static func from(number: NSNumber) -> InAppCloseSource? { - guard let value = number as? Int else { - return nil - } - - return InAppCloseSource(rawValue: value) + static func from(number: NSNumber) -> InAppCloseSource? { + guard let value = number as? Int else { + return nil } + + return InAppCloseSource(rawValue: value) + } } extension InAppDeleteSource { - static func from(number: NSNumber) -> InAppDeleteSource? { - guard let value = number as? Int else { - return nil - } - - return InAppDeleteSource(rawValue: value) + static func from(number: NSNumber) -> InAppDeleteSource? { + guard let value = number as? Int else { + return nil } + + return InAppDeleteSource(rawValue: value) + } } extension InAppShowResponse { - static func from(number: NSNumber) -> InAppShowResponse { - if let value = number as? Int { - return InAppShowResponse(rawValue: value) ?? .show - } else { - return .show - } + static func from(number: NSNumber) -> InAppShowResponse { + if let value = number as? Int { + return InAppShowResponse(rawValue: value) ?? .show + } else { + return .show } + } } extension LogLevel { - static func from(number: NSNumber) -> LogLevel { - if let value = number as? Int { - return LogLevel(rawValue: value) ?? .info - } else { - return .info - } + static func from(number: NSNumber) -> LogLevel { + if let value = number as? Int { + return LogLevel(rawValue: value) ?? .info + } else { + return .info } + } } extension InboxImpressionTracker.RowInfo { - static func from(dict: [AnyHashable: Any]) -> InboxImpressionTracker.RowInfo? { - guard let messageId = dict["messageId"] as? String else { - return nil - } - - guard let silentInbox = dict["silentInbox"] as? Bool else { - return nil - } - - let rowInfo = InboxImpressionTracker.RowInfo(messageId: messageId, silentInbox: silentInbox) - - return rowInfo + static func from(dict: [AnyHashable: Any]) -> InboxImpressionTracker.RowInfo? { + guard let messageId = dict["messageId"] as? String else { + return nil } - - static func rowInfos(from rows: [[AnyHashable: Any]]) -> [InboxImpressionTracker.RowInfo] { - return rows.compactMap(InboxImpressionTracker.RowInfo.from(dict:)) + + guard let silentInbox = dict["silentInbox"] as? Bool else { + return nil } + + let rowInfo = InboxImpressionTracker.RowInfo(messageId: messageId, silentInbox: silentInbox) + + return rowInfo + } + + static func rowInfos(from rows: [[AnyHashable: Any]]) -> [InboxImpressionTracker.RowInfo] { + return rows.compactMap(InboxImpressionTracker.RowInfo.from(dict:)) + } } diff --git a/lefthook.yml b/lefthook.yml index 8b4be29b7..01686858b 100644 --- a/lefthook.yml +++ b/lefthook.yml @@ -7,6 +7,9 @@ pre-commit: types: glob: "*.{js,ts,jsx,tsx}" run: npx tsc + # version-check: + # glob: "package.json" + # run: node scripts/checkVersionAndUpdateBuildInfo.js commit-msg: parallel: true commands: diff --git a/package.json b/package.json index 7a49b12ac..6336697df 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@iterable/react-native-sdk", - "version": "2.0.4", + "version": "2.1.0-beta.1", "description": "Iterable SDK for React Native.", "source": "./src/index.tsx", "main": "./lib/module/index.js", @@ -42,7 +42,9 @@ "lint": "eslint \"**/*.{js,ts,tsx}\"", "docs": "typedoc", "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib", - "prepare": "yarn add_build_info; yarn bob build", + "prebuild": "yarn add_build_info", + "build": "yarn add_build_info && yarn bob build", + "prepare": "yarn build", "release": "release-it" }, "keywords": [ @@ -72,7 +74,7 @@ "@react-native/metro-config": "0.79.3", "@react-native/typescript-config": "0.79.3", "@react-navigation/native": "^7.1.14", - "@release-it/conventional-changelog": "^9.0.2", + "@release-it/conventional-changelog": "^9.0.4", "@testing-library/jest-native": "^5.4.3", "@testing-library/react-native": "^13.3.3", "@types/jest": "^29.5.5", @@ -132,7 +134,10 @@ "release-it": { "git": { "commitMessage": "chore: release ${version}", - "tagName": "${version}" + "tagName": "${version}", + "tag": true, + "commit": true, + "push": true }, "npm": { "publish": true @@ -151,8 +156,7 @@ { "type": "fix", "section": "Bug Fixes" - }, - {} + } ] } } @@ -176,11 +180,17 @@ ] }, "codegenConfig": { - "name": "RNIterableSpec", + "name": "RNIterableAPISpec", "type": "modules", - "jsSrcsDir": "src", + "jsSrcsDir": "src/api/", "android": { "javaPackageName": "com.iterable.reactnative" + }, + "ios": { + "modules": { + "RNIterableAPI": "RNIterableAPI", + "ReactIterableAPI": "ReactIterableAPI" + } } }, "create-react-native-library": { diff --git a/scripts/checkVersionAndUpdateBuildInfo.js b/scripts/checkVersionAndUpdateBuildInfo.js new file mode 100644 index 000000000..4bff8ebab --- /dev/null +++ b/scripts/checkVersionAndUpdateBuildInfo.js @@ -0,0 +1,53 @@ +/** + * Pre-commit script that checks if package.json version has changed + * and updates build info if necessary + */ +const fs = require('fs'); +const path = require('path'); +const { execSync } = require('child_process'); + +const packageJsonPath = path.join(__dirname, '../package.json'); +const buildInfoPath = path.join(__dirname, '../src/itblBuildInfo.ts'); + +// Read current package.json +const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8')); +const currentVersion = packageJson.version; + +// Read current build info file +let buildInfoVersion = null; +if (fs.existsSync(buildInfoPath)) { + const buildInfoContent = fs.readFileSync(buildInfoPath, 'utf8'); + const versionMatch = buildInfoContent.match(/version:\s*['"`]([^'"`]+)['"`]/); + if (versionMatch) { + buildInfoVersion = versionMatch[1]; + } +} + +console.log(`Current package.json version: ${currentVersion}`); +console.log(`Current build info version: ${buildInfoVersion}`); + +// Check if versions are different +if (currentVersion !== buildInfoVersion) { + console.log('Version mismatch detected. Updating build info...'); + + try { + // Run the build info update + execSync('yarn add_build_info', { stdio: 'inherit' }); + + // Check if the file was actually modified + const gitStatus = execSync('git status --porcelain src/itblBuildInfo.ts', { encoding: 'utf8' }); + + if (gitStatus.trim()) { + console.log('Build info file was updated. Adding to commit...'); + execSync('git add src/itblBuildInfo.ts', { stdio: 'inherit' }); + console.log('Build info file has been staged for commit.'); + } else { + console.log('Build info file was not modified.'); + } + } catch (error) { + console.error('Error updating build info:', error.message); + process.exit(1); + } +} else { + console.log('Version is up to date. No build info update needed.'); +} diff --git a/src/api/NativeRNIterableAPI.ts b/src/api/NativeRNIterableAPI.ts new file mode 100644 index 000000000..de903cece --- /dev/null +++ b/src/api/NativeRNIterableAPI.ts @@ -0,0 +1,140 @@ +import type { TurboModule } from 'react-native'; +import { TurboModuleRegistry } from 'react-native'; + +export interface Spec extends TurboModule { + // Initialization + initializeWithApiKey( + apiKey: string, + config: { [key: string]: string | number | boolean | undefined | string[] }, + version: string + ): Promise; + + initialize2WithApiKey( + apiKey: string, + config: { [key: string]: string | number | boolean | undefined | string[] }, + version: string, + apiEndPointOverride: string + ): Promise; + + // User management + setEmail(email: string | null, authToken?: string | null): void; + getEmail(): Promise; + setUserId(userId?: string | null, authToken?: string | null): void; + getUserId(): Promise; + + // In-app messaging + setInAppShowResponse(number: number): void; + getInAppMessages(): Promise<{ [key: string]: string | number | boolean }[]>; + getInboxMessages(): Promise<{ [key: string]: string | number | boolean }[]>; + getUnreadInboxMessagesCount(): Promise; + showMessage(messageId: string, consume: boolean): Promise; + removeMessage(messageId: string, location: number, source: number): void; + setReadForMessage(messageId: string, read: boolean): void; + setAutoDisplayPaused(autoDisplayPaused: boolean): void; + + // Tracking + trackEvent( + name: string, + dataFields?: { [key: string]: string | number | boolean } + ): void; + trackPushOpenWithCampaignId( + campaignId: number, + templateId: number | null, + messageId: string, + appAlreadyRunning: boolean, + dataFields?: { [key: string]: string | number | boolean } + ): void; + trackInAppOpen(messageId: string, location: number): void; + trackInAppClick( + messageId: string, + location: number, + clickedUrl: string + ): void; + trackInAppClose( + messageId: string, + location: number, + source: number, + clickedUrl?: string | null + ): void; + inAppConsume(messageId: string, location: number, source: number): void; + + // Commerce + updateCart(items: { [key: string]: string | number | boolean }[]): void; + trackPurchase( + total: number, + items: { [key: string]: string | number | boolean }[], + dataFields?: { [key: string]: string | number | boolean } + ): void; + + // User data + updateUser( + dataFields: { [key: string]: string | number | boolean }, + mergeNestedObjects: boolean + ): void; + updateEmail(email: string, authToken?: string): void; + + // Attribution + getAttributionInfo(): Promise<{ + [key: string]: string | number | boolean; + } | null>; + setAttributionInfo( + dict: { [key: string]: string | number | boolean } | null + ): void; + + // Device management + disableDeviceForCurrentUser(): void; + getLastPushPayload(): Promise<{ + [key: string]: string | number | boolean; + } | null>; + + // Content + getHtmlInAppContentForMessage( + messageId: string + ): Promise<{ [key: string]: string | number | boolean }>; + + // App links + handleAppLink(appLink: string): Promise; + + // Subscriptions + updateSubscriptions( + emailListIds: number[] | null, + unsubscribedChannelIds: number[] | null, + unsubscribedMessageTypeIds: number[] | null, + subscribedMessageTypeIds: number[] | null, + campaignId: number, + templateId: number + ): void; + + // Session tracking + startSession( + visibleRows: { [key: string]: string | number | boolean }[] + ): void; + endSession(): void; + updateVisibleRows( + visibleRows: { [key: string]: string | number | boolean }[] + ): void; + + // Auth + passAlongAuthToken(authToken?: string | null): void; + + // Wake app -- android only + wakeApp(): void; + + + // REQUIRED for RCTEventEmitter + addListener(eventName: string): void; + removeListeners(count: number): void; +} + +// Check if we're in a test environment +const isTestEnvironment = () => { + return ( + typeof jest !== 'undefined' || + process.env.NODE_ENV === 'test' || + process.env.JEST_WORKER_ID !== undefined + ); +}; + +export default isTestEnvironment() + ? undefined + : TurboModuleRegistry.getEnforcing('RNIterableAPI'); diff --git a/src/api/index.ts b/src/api/index.ts new file mode 100644 index 000000000..9c327891b --- /dev/null +++ b/src/api/index.ts @@ -0,0 +1,6 @@ +import { NativeModules } from 'react-native'; +import BridgelessModule from './NativeRNIterableAPI'; + +export const RNIterableAPI = BridgelessModule ?? NativeModules.RNIterableAPI; + +export default RNIterableAPI; diff --git a/src/core/classes/Iterable.ts b/src/core/classes/Iterable.ts index 1d070856b..d49780c4c 100644 --- a/src/core/classes/Iterable.ts +++ b/src/core/classes/Iterable.ts @@ -2,12 +2,12 @@ import { Linking, NativeEventEmitter, - NativeModules, Platform, } from 'react-native'; import { buildInfo } from '../../itblBuildInfo'; +import { RNIterableAPI } from '../../api'; // TODO: Organize these so that there are no circular dependencies // See https://github.com/expo/expo/issues/35100 import { IterableInAppMessage } from '../../inApp/classes/IterableInAppMessage'; @@ -27,7 +27,6 @@ import type { IterableCommerceItem } from './IterableCommerceItem'; import { IterableConfig } from './IterableConfig'; import { IterableLogger } from './IterableLogger'; -const RNIterableAPI = NativeModules.RNIterableAPI; const RNEventEmitter = new NativeEventEmitter(RNIterableAPI); /* eslint-disable tsdoc/syntax */ @@ -218,7 +217,7 @@ export class Iterable { * Iterable.setEmail('my.user.name@gmail.com'); * ``` */ - static setEmail(email?: string | null, authToken?: string | null) { + static setEmail(email: string | null, authToken?: string | null) { Iterable?.logger?.log('setEmail: ' + email); RNIterableAPI.setEmail(email, authToken); @@ -234,7 +233,7 @@ export class Iterable { * }); * ``` */ - static getEmail(): Promise { + static getEmail(): Promise { Iterable?.logger?.log('getEmail'); return RNIterableAPI.getEmail(); @@ -299,7 +298,7 @@ export class Iterable { * }); * ``` */ - static getUserId(): Promise { + static getUserId(): Promise { Iterable?.logger?.log('getUserId'); return RNIterableAPI.getUserId(); @@ -362,12 +361,12 @@ export class Iterable { Iterable?.logger?.log('getAttributionInfo'); return RNIterableAPI.getAttributionInfo().then( - (dict?: IterableAttributionInfo) => { + (dict: { campaignId: number; templateId: number; messageId: string } | null) => { if (dict) { return new IterableAttributionInfo( - dict.campaignId, - dict.templateId, - dict.messageId + dict.campaignId as number, + dict.templateId as number, + dict.messageId as string ); } else { return undefined; @@ -403,7 +402,7 @@ export class Iterable { static setAttributionInfo(attributionInfo?: IterableAttributionInfo) { Iterable?.logger?.log('setAttributionInfo'); - RNIterableAPI.setAttributionInfo(attributionInfo); + RNIterableAPI.setAttributionInfo(attributionInfo as unknown as { [key: string]: string | number | boolean; } | null); } /** @@ -447,9 +446,9 @@ export class Iterable { RNIterableAPI.trackPushOpenWithCampaignId( campaignId, templateId, - messageId, + messageId as string, appAlreadyRunning, - dataFields + dataFields as { [key: string]: string | number | boolean } | undefined ); } @@ -482,7 +481,7 @@ export class Iterable { static updateCart(items: IterableCommerceItem[]) { Iterable?.logger?.log('updateCart'); - RNIterableAPI.updateCart(items); + RNIterableAPI.updateCart(items as unknown as { [key: string]: string | number | boolean }[]); } /** @@ -534,7 +533,7 @@ export class Iterable { ) { Iterable?.logger?.log('trackPurchase'); - RNIterableAPI.trackPurchase(total, items, dataFields); + RNIterableAPI.trackPurchase(total, items as unknown as { [key: string]: string | number | boolean }[], dataFields as { [key: string]: string | number | boolean } | undefined); } /** @@ -703,7 +702,7 @@ export class Iterable { static trackEvent(name: string, dataFields?: unknown) { Iterable?.logger?.log('trackEvent'); - RNIterableAPI.trackEvent(name, dataFields); + RNIterableAPI.trackEvent(name, dataFields as { [key: string]: string | number | boolean } | undefined); } /** @@ -751,7 +750,7 @@ export class Iterable { ) { Iterable?.logger?.log('updateUser'); - RNIterableAPI.updateUser(dataFields, mergeNestedObjects); + RNIterableAPI.updateUser(dataFields as { [key: string]: string | number | boolean }, mergeNestedObjects); } /** @@ -896,10 +895,10 @@ export class Iterable { * ``` */ static updateSubscriptions( - emailListIds: number[] | undefined, - unsubscribedChannelIds: number[] | undefined, - unsubscribedMessageTypeIds: number[] | undefined, - subscribedMessageTypeIds: number[] | undefined, + emailListIds: number[] | null, + unsubscribedChannelIds: number[] | null, + unsubscribedMessageTypeIds: number[] | null, + subscribedMessageTypeIds: number[] | null, campaignId: number, templateId: number ) { diff --git a/src/core/classes/IterableAuthResponse.ts b/src/core/classes/IterableAuthResponse.ts index d071d4d23..29c1882f9 100644 --- a/src/core/classes/IterableAuthResponse.ts +++ b/src/core/classes/IterableAuthResponse.ts @@ -5,7 +5,7 @@ */ export class IterableAuthResponse { /** JWT Token */ - authToken?: string = ''; + authToken?: string | null = ''; /** Callback when the authentication to Iterable succeeds */ successCallback?: () => void; /** Callback when the authentication to Iterable fails */ diff --git a/src/inApp/classes/IterableHtmlInAppContent.ts b/src/inApp/classes/IterableHtmlInAppContent.ts index c0082c454..5f6b17260 100644 --- a/src/inApp/classes/IterableHtmlInAppContent.ts +++ b/src/inApp/classes/IterableHtmlInAppContent.ts @@ -1,4 +1,4 @@ -import { IterableEdgeInsets } from '../../core'; +import { IterableEdgeInsets } from '../../core/classes/IterableEdgeInsets'; import { IterableInAppContentType } from '../enums'; import type { diff --git a/src/inApp/classes/IterableInAppManager.ts b/src/inApp/classes/IterableInAppManager.ts index a96782b13..f376b35bc 100644 --- a/src/inApp/classes/IterableInAppManager.ts +++ b/src/inApp/classes/IterableInAppManager.ts @@ -1,6 +1,4 @@ -import { NativeModules } from 'react-native'; - -import { Iterable } from '../../core/classes/Iterable'; +import { RNIterableAPI } from '../../api'; import type { IterableInAppDeleteSource, IterableInAppLocation, @@ -8,8 +6,6 @@ import type { import { IterableHtmlInAppContent } from './IterableHtmlInAppContent'; import { IterableInAppMessage } from './IterableInAppMessage'; -const RNIterableAPI = NativeModules.RNIterableAPI; - /** * Manages in-app messages for the current user. * @@ -36,9 +32,11 @@ export class IterableInAppManager { * @returns A Promise that resolves to an array of in-app messages. */ getMessages(): Promise { - Iterable?.logger?.log('InAppManager.getMessages'); + // Iterable?.logger?.log('InAppManager.getMessages'); - return RNIterableAPI.getInAppMessages(); + return RNIterableAPI.getInAppMessages() as unknown as Promise< + IterableInAppMessage[] + >; } /** @@ -59,9 +57,11 @@ export class IterableInAppManager { * @returns A Promise that resolves to an array of messages marked as `saveToInbox`. */ getInboxMessages(): Promise { - Iterable?.logger?.log('InAppManager.getInboxMessages'); + // Iterable?.logger?.log('InAppManager.getInboxMessages'); - return RNIterableAPI.getInboxMessages(); + return RNIterableAPI.getInboxMessages() as unknown as Promise< + IterableInAppMessage[] + >; } /** @@ -85,8 +85,8 @@ export class IterableInAppManager { showMessage( message: IterableInAppMessage, consume: boolean - ): Promise { - Iterable?.logger?.log('InAppManager.show'); + ): Promise { + // Iterable?.logger?.log('InAppManager.show'); return RNIterableAPI.showMessage(message.messageId, consume); } @@ -114,7 +114,7 @@ export class IterableInAppManager { location: IterableInAppLocation, source: IterableInAppDeleteSource ): void { - Iterable?.logger?.log('InAppManager.remove'); + // Iterable?.logger?.log('InAppManager.remove'); return RNIterableAPI.removeMessage(message.messageId, location, source); } @@ -131,7 +131,7 @@ export class IterableInAppManager { * ``` */ setReadForMessage(message: IterableInAppMessage, read: boolean) { - Iterable?.logger?.log('InAppManager.setRead'); + // Iterable?.logger?.log('InAppManager.setRead'); RNIterableAPI.setReadForMessage(message.messageId, read); } @@ -151,9 +151,11 @@ export class IterableInAppManager { getHtmlContentForMessage( message: IterableInAppMessage ): Promise { - Iterable?.logger?.log('InAppManager.getHtmlContentForMessage'); + // Iterable?.logger?.log('InAppManager.getHtmlContentForMessage'); - return RNIterableAPI.getHtmlInAppContentForMessage(message.messageId); + return RNIterableAPI.getHtmlInAppContentForMessage( + message.messageId + ) as unknown as Promise; } /** @@ -171,7 +173,7 @@ export class IterableInAppManager { * ``` */ setAutoDisplayPaused(paused: boolean) { - Iterable?.logger?.log('InAppManager.setAutoDisplayPaused'); + // Iterable?.logger?.log('InAppManager.setAutoDisplayPaused'); RNIterableAPI.setAutoDisplayPaused(paused); } diff --git a/src/inbox/classes/IterableInboxDataModel.ts b/src/inbox/classes/IterableInboxDataModel.ts index fe5ce66fb..311f5cc7c 100644 --- a/src/inbox/classes/IterableInboxDataModel.ts +++ b/src/inbox/classes/IterableInboxDataModel.ts @@ -1,5 +1,4 @@ -import { NativeModules } from 'react-native'; - +import { RNIterableAPI } from '../../api'; import { Iterable } from '../../core/classes/Iterable'; import { IterableHtmlInAppContent, @@ -13,8 +12,6 @@ import type { IterableInboxRowViewModel, } from '../types'; -const RNIterableAPI = NativeModules.RNIterableAPI; - /** * The `IterableInboxDataModel` class provides methods to manage and manipulate * inbox messages. @@ -154,7 +151,7 @@ export class IterableInboxDataModel { * @param visibleRows - An array of `IterableInboxImpressionRowInfo` objects representing the rows that are currently visible. */ startSession(visibleRows: IterableInboxImpressionRowInfo[] = []) { - RNIterableAPI.startSession(visibleRows); + RNIterableAPI.startSession(visibleRows as unknown as { [key: string]: string | number | boolean }[]); } /** @@ -181,7 +178,7 @@ export class IterableInboxDataModel { * Defaults to an empty array if not provided. */ updateVisibleRows(visibleRows: IterableInboxImpressionRowInfo[] = []) { - RNIterableAPI.updateVisibleRows(visibleRows); + RNIterableAPI.updateVisibleRows(visibleRows as unknown as { [key: string]: string | number | boolean }[]); } /** diff --git a/src/inbox/components/IterableInbox.tsx b/src/inbox/components/IterableInbox.tsx index 545403e03..3cf44d829 100644 --- a/src/inbox/components/IterableInbox.tsx +++ b/src/inbox/components/IterableInbox.tsx @@ -3,7 +3,6 @@ import { useEffect, useState } from 'react'; import { Animated, NativeEventEmitter, - NativeModules, Platform, StyleSheet, Text, @@ -11,6 +10,7 @@ import { } from 'react-native'; import { SafeAreaView } from 'react-native-safe-area-context'; +import RNIterableAPI from '../../api'; import { useAppStateListener, useDeviceOrientation } from '../../core'; // expo throws an error if this is not imported directly due to circular // dependencies @@ -32,7 +32,7 @@ import { type IterableInboxMessageListProps, } from './IterableInboxMessageList'; -const RNIterableAPI = NativeModules.RNIterableAPI; + const RNEventEmitter = new NativeEventEmitter(RNIterableAPI); const DEFAULT_HEADLINE_HEIGHT = 60; diff --git a/src/itblBuildInfo.ts b/src/itblBuildInfo.ts index 5af8adaf2..097bd43d2 100644 --- a/src/itblBuildInfo.ts +++ b/src/itblBuildInfo.ts @@ -3,5 +3,5 @@ * It contains the version of the package */ export const buildInfo = { - version: '2.0.4', + version: '2.1.0-beta.1', }; diff --git a/yarn.lock b/yarn.lock index ec4f21c4c..418409009 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,43 +5,32 @@ __metadata: version: 6 cacheKey: 8 -"@ampproject/remapping@npm:^2.2.0": - version: 2.3.0 - resolution: "@ampproject/remapping@npm:2.3.0" +"@ark/regex@npm:0.0.0": + version: 0.0.0 + resolution: "@ark/regex@npm:0.0.0" dependencies: - "@jridgewell/gen-mapping": ^0.3.5 - "@jridgewell/trace-mapping": ^0.3.24 - checksum: d3ad7b89d973df059c4e8e6d7c972cbeb1bb2f18f002a3bd04ae0707da214cb06cc06929b65aa2313b9347463df2914772298bae8b1d7973f246bb3f2ab3e8f0 + "@ark/util": 0.50.0 + checksum: b89d50a610393a4025a0e2cb4444c16c4f2fb16708ee6e4afe36160ee3503c3a7a5df8a7477bbf4b75099509329fc62f388f64819002d2f93642b2188618b5e5 languageName: node linkType: hard -"@ark/schema@npm:0.45.9": - version: 0.45.9 - resolution: "@ark/schema@npm:0.45.9" +"@ark/schema@npm:0.50.0": + version: 0.50.0 + resolution: "@ark/schema@npm:0.50.0" dependencies: - "@ark/util": 0.45.9 - checksum: 8d28c910ef6ae379c61a82db2f7e8160d96eb25fb73a56bda5f9c63cc86abca12552d2bb8cd3dd9aff010f5464f9834e33285eca51ea7da16f2143e050cc901a - languageName: node - linkType: hard - -"@ark/util@npm:0.45.9": - version: 0.45.9 - resolution: "@ark/util@npm:0.45.9" - checksum: ddd1fc89c45b61e5d52cb92203990492a5115aea58a8e8bf5ff24e28103fce331593e0c374a086554fb6feb375ddd759c07e751aadc7f3ab3c6138dc3ee362cf + "@ark/util": 0.50.0 + checksum: 6a080104865ec4a0be91d6bffab95f69923f4a85b6087f67cf04555b30b65544084eeebbfa4cf9759ec27b964b0fc4dc7e19603b055b472a096463f13c084343 languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/code-frame@npm:7.24.7" - dependencies: - "@babel/highlight": ^7.24.7 - picocolors: ^1.0.0 - checksum: 830e62cd38775fdf84d612544251ce773d544a8e63df667728cc9e0126eeef14c6ebda79be0f0bc307e8318316b7f58c27ce86702e0a1f5c321d842eb38ffda4 +"@ark/util@npm:0.50.0": + version: 0.50.0 + resolution: "@ark/util@npm:0.50.0" + checksum: 50aa1d506bbf70ef502f0f424370ab831fcb891f5a71fdec51c46d06c504eab751ccfa2920bbeae7c97d22bcfc71c755a29121489984eacf052040c61c696fc9 languageName: node linkType: hard -"@babel/code-frame@npm:^7.26.2, @babel/code-frame@npm:^7.27.1": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.26.2, @babel/code-frame@npm:^7.27.1": version: 7.27.1 resolution: "@babel/code-frame@npm:7.27.1" dependencies: @@ -52,46 +41,39 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.2, @babel/compat-data@npm:^7.25.4": - version: 7.25.4 - resolution: "@babel/compat-data@npm:7.25.4" - checksum: b12a91d27c3731a4b0bdc9312a50b1911f41f7f728aaf0d4b32486e2257fd2cb2d3ea1a295e98449600c48f2c7883a3196ca77cda1cef7d97a10c2e83d037974 - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.27.2": - version: 7.27.5 - resolution: "@babel/compat-data@npm:7.27.5" - checksum: 8706be55f1c6e1cf85bfb3f2b3afdabba82142b339a11b62c694d07907b082d5715dfbe77fbbad891979809bdd013a0c9e2e5c3419dc8099b9fb7a45215f0f73 +"@babel/compat-data@npm:^7.27.2, @babel/compat-data@npm:^7.27.7, @babel/compat-data@npm:^7.28.0": + version: 7.28.4 + resolution: "@babel/compat-data@npm:7.28.4" + checksum: 9f6f5289bbe5a29e3f9c737577a797205a91f19371b50af8942257d9cb590d44eb950154e4f2a3d5de4105f97a49d6fbc8daebe0db1e6eee04f5a4bf73536bfc languageName: node linkType: hard "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.20.0, @babel/core@npm:^7.23.9, @babel/core@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/core@npm:7.25.2" + version: 7.28.4 + resolution: "@babel/core@npm:7.28.4" dependencies: - "@ampproject/remapping": ^2.2.0 - "@babel/code-frame": ^7.24.7 - "@babel/generator": ^7.25.0 - "@babel/helper-compilation-targets": ^7.25.2 - "@babel/helper-module-transforms": ^7.25.2 - "@babel/helpers": ^7.25.0 - "@babel/parser": ^7.25.0 - "@babel/template": ^7.25.0 - "@babel/traverse": ^7.25.2 - "@babel/types": ^7.25.2 + "@babel/code-frame": ^7.27.1 + "@babel/generator": ^7.28.3 + "@babel/helper-compilation-targets": ^7.27.2 + "@babel/helper-module-transforms": ^7.28.3 + "@babel/helpers": ^7.28.4 + "@babel/parser": ^7.28.4 + "@babel/template": ^7.27.2 + "@babel/traverse": ^7.28.4 + "@babel/types": ^7.28.4 + "@jridgewell/remapping": ^2.3.5 convert-source-map: ^2.0.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.3 semver: ^6.3.1 - checksum: 9a1ef604a7eb62195f70f9370cec45472a08114e3934e3eaaedee8fd754edf0730e62347c7b4b5e67d743ce57b5bb8cf3b92459482ca94d06e06246ef021390a + checksum: f55b90b2c61a6461f5c0ccab74d32af9c67448c43c629529ba7ec3c61d87fa8c408cc9305bfb1f5b09e671d25436d44eaf75c48dee5dc0a5c5e21c01290f5134 languageName: node linkType: hard "@babel/eslint-parser@npm:^7.25.1": - version: 7.27.5 - resolution: "@babel/eslint-parser@npm:7.27.5" + version: 7.28.4 + resolution: "@babel/eslint-parser@npm:7.28.4" dependencies: "@nicolo-ribaudo/eslint-scope-5-internals": 5.1.1-v1 eslint-visitor-keys: ^2.1.0 @@ -99,45 +81,24 @@ __metadata: peerDependencies: "@babel/core": ^7.11.0 eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 - checksum: 133191a3ea312dea92abb0f2cae87bc8d36b4a02ce7dce9367473940d91a1102d0dbb53418ba4b1e955d430741c1a1ed622ad3e5973e727e0a6d8d094a65aa5c - languageName: node - linkType: hard - -"@babel/generator@npm:^7.20.0, @babel/generator@npm:^7.25.0, @babel/generator@npm:^7.25.6, @babel/generator@npm:^7.7.2": - version: 7.25.6 - resolution: "@babel/generator@npm:7.25.6" - dependencies: - "@babel/types": ^7.25.6 - "@jridgewell/gen-mapping": ^0.3.5 - "@jridgewell/trace-mapping": ^0.3.25 - jsesc: ^2.5.1 - checksum: b55975cd664f5602304d868bb34f4ee3bed6f5c7ce8132cd92ff27a46a53a119def28a182d91992e86f75db904f63094a81247703c4dc96e4db0c03fd04bcd68 + checksum: 32fb41c8648e169bc8570e25b4657475e165e1a49b8c6610f9bf86f311bbcc8dfa73f004977015688763aa6af17f48c690720bbc7b7b99695557adb267a9a7ff languageName: node linkType: hard -"@babel/generator@npm:^7.27.3": - version: 7.27.5 - resolution: "@babel/generator@npm:7.27.5" +"@babel/generator@npm:^7.20.0, @babel/generator@npm:^7.25.0, @babel/generator@npm:^7.28.3, @babel/generator@npm:^7.7.2": + version: 7.28.3 + resolution: "@babel/generator@npm:7.28.3" dependencies: - "@babel/parser": ^7.27.5 - "@babel/types": ^7.27.3 - "@jridgewell/gen-mapping": ^0.3.5 - "@jridgewell/trace-mapping": ^0.3.25 + "@babel/parser": ^7.28.3 + "@babel/types": ^7.28.2 + "@jridgewell/gen-mapping": ^0.3.12 + "@jridgewell/trace-mapping": ^0.3.28 jsesc: ^3.0.2 - checksum: f6d3bf70f6bfbc5df263a023200728c53161d7f3ee3607bd8b2222c8568b6dd604ee490e305f0492a8225dac059ad75b4cc772b5cfd7d967e70360499d4d3701 - languageName: node - linkType: hard - -"@babel/helper-annotate-as-pure@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-annotate-as-pure@npm:7.24.7" - dependencies: - "@babel/types": ^7.24.7 - checksum: 6178566099a6a0657db7a7fa601a54fb4731ca0b8614fbdccfd8e523c210c13963649bc8fdfd53ce7dd14d05e3dda2fb22dea5b30113c488b9eb1a906d60212e + checksum: e2202bf2b9c8a94f7e7a0a049fda0ee037d055c46922e85afa3bbc53309113f859b8193894f991045d7865226028b8f4f06152ed315ab414451932016dba5e42 languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.27.1": +"@babel/helper-annotate-as-pure@npm:^7.27.1, @babel/helper-annotate-as-pure@npm:^7.27.3": version: 7.27.3 resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" dependencies: @@ -146,29 +107,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.24.7" - dependencies: - "@babel/traverse": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: 71a6158a9fdebffb82fdc400d5555ba8f2e370cea81a0d578155877bdc4db7d5252b75c43b2fdf3f72b3f68348891f99bd35ae315542daad1b7ace8322b1abcb - languageName: node - linkType: hard - -"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.24.7, @babel/helper-compilation-targets@npm:^7.24.8, @babel/helper-compilation-targets@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/helper-compilation-targets@npm:7.25.2" - dependencies: - "@babel/compat-data": ^7.25.2 - "@babel/helper-validator-option": ^7.24.8 - browserslist: ^4.23.1 - lru-cache: ^5.1.1 - semver: ^6.3.1 - checksum: aed33c5496cb9db4b5e2d44e26bf8bc474074cc7f7bb5ebe1d4a20fdeb362cb3ba9e1596ca18c7484bcd6e5c3a155ab975e420d520c0ae60df81f9de04d0fd16 - languageName: node - linkType: hard - "@babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.27.2": version: 7.27.2 resolution: "@babel/helper-compilation-targets@npm:7.27.2" @@ -182,54 +120,24 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.24.7, @babel/helper-create-class-features-plugin@npm:^7.25.0, @babel/helper-create-class-features-plugin@npm:^7.25.4": - version: 7.25.4 - resolution: "@babel/helper-create-class-features-plugin@npm:7.25.4" - dependencies: - "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-member-expression-to-functions": ^7.24.8 - "@babel/helper-optimise-call-expression": ^7.24.7 - "@babel/helper-replace-supers": ^7.25.0 - "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7 - "@babel/traverse": ^7.25.4 - semver: ^6.3.1 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 4544ebda4516eb25efdebd47ca024bd7bdb1eb6e7cc3ad89688c8ef8e889734c2f4411ed78981899c641394f013f246f2af63d92a0e9270f6c453309b4cb89ba - languageName: node - linkType: hard - -"@babel/helper-create-class-features-plugin@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-create-class-features-plugin@npm:7.27.1" +"@babel/helper-create-class-features-plugin@npm:^7.27.1, @babel/helper-create-class-features-plugin@npm:^7.28.3": + version: 7.28.3 + resolution: "@babel/helper-create-class-features-plugin@npm:7.28.3" dependencies: - "@babel/helper-annotate-as-pure": ^7.27.1 + "@babel/helper-annotate-as-pure": ^7.27.3 "@babel/helper-member-expression-to-functions": ^7.27.1 "@babel/helper-optimise-call-expression": ^7.27.1 "@babel/helper-replace-supers": ^7.27.1 "@babel/helper-skip-transparent-expression-wrappers": ^7.27.1 - "@babel/traverse": ^7.27.1 - semver: ^6.3.1 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 406954b455e5b20924e7d1b41cf932e6e98e95c3a5224c7a70c3ad96a84e8fbde915ceff7ddbf9c7d121397c4e9274f061241648475122cf6fe54e0a95caae15 - languageName: node - linkType: hard - -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.24.7, @babel/helper-create-regexp-features-plugin@npm:^7.25.0, @babel/helper-create-regexp-features-plugin@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.2" - dependencies: - "@babel/helper-annotate-as-pure": ^7.24.7 - regexpu-core: ^5.3.1 + "@babel/traverse": ^7.28.3 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: df55fdc6a1f3090dd37d91347df52d9322d52affa239543808dc142f8fe35e6787e67d8612337668198fac85826fafa9e6772e6c28b7d249ec94e6fafae5da6e + checksum: 6d918e5e9c88ad1a262ab7b1a3caede1bbf95f8276c96846d8b0c1af251c85a0c868a9f1bbbaebdeb199e44dfd0e10fbe22935e56bedd1aa41ba4a7162bfa86c languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.27.1": +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-create-regexp-features-plugin@npm:7.27.1" dependencies: @@ -242,43 +150,25 @@ __metadata: languageName: node linkType: hard -"@babel/helper-define-polyfill-provider@npm:^0.6.2": - version: 0.6.2 - resolution: "@babel/helper-define-polyfill-provider@npm:0.6.2" - dependencies: - "@babel/helper-compilation-targets": ^7.22.6 - "@babel/helper-plugin-utils": ^7.22.5 - debug: ^4.1.1 - lodash.debounce: ^4.0.8 - resolve: ^1.14.2 - peerDependencies: - "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 2bba965ea9a4887ddf9c11d51d740ab473bd7597b787d042c325f6a45912dfe908c2d6bb1d837bf82f7e9fa51e6ad5150563c58131d2bb85515e63d971414a9c - languageName: node - linkType: hard - -"@babel/helper-define-polyfill-provider@npm:^0.6.3": - version: 0.6.4 - resolution: "@babel/helper-define-polyfill-provider@npm:0.6.4" +"@babel/helper-define-polyfill-provider@npm:^0.6.5": + version: 0.6.5 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.5" dependencies: - "@babel/helper-compilation-targets": ^7.22.6 - "@babel/helper-plugin-utils": ^7.22.5 - debug: ^4.1.1 + "@babel/helper-compilation-targets": ^7.27.2 + "@babel/helper-plugin-utils": ^7.27.1 + debug: ^4.4.1 lodash.debounce: ^4.0.8 - resolve: ^1.14.2 + resolve: ^1.22.10 peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: bfbcb41f005ba11497b459cf801650af558b533f383b2f57034e9ccce592a0af699b585898deef93598ed3d9bd14502327e18dfc8a92a3db48b2a49ae2886f86 + checksum: 9fd3b09b209c8ed0d3d8bc1f494f1368b9e1f6e46195af4ce948630fe97d7dafde4882eedace270b319bf6555ddf35e220c77505f6d634f621766cdccbba0aae languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-member-expression-to-functions@npm:7.24.8" - dependencies: - "@babel/traverse": ^7.24.8 - "@babel/types": ^7.24.8 - checksum: bf923d05d81b06857f4ca4fe9c528c9c447a58db5ea39595bb559eae2fce01a8266173db0fd6a2ec129d7bbbb9bb22f4e90008252f7c66b422c76630a878a4bc +"@babel/helper-globals@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/helper-globals@npm:7.28.0" + checksum: d8d7b91c12dad1ee747968af0cb73baf91053b2bcf78634da2c2c4991fb45ede9bd0c8f9b5f3254881242bc0921218fcb7c28ae885477c25177147e978ce4397 languageName: node linkType: hard @@ -292,16 +182,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-module-imports@npm:7.24.7" - dependencies: - "@babel/traverse": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: 8ac15d96d262b8940bc469052a048e06430bba1296369be695fabdf6799f201dd0b00151762b56012a218464e706bc033f27c07f6cec20c6f8f5fd6543c67054 - languageName: node - linkType: hard - "@babel/helper-module-imports@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-module-imports@npm:7.27.1" @@ -312,39 +192,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.24.7, @babel/helper-module-transforms@npm:^7.24.8, @babel/helper-module-transforms@npm:^7.25.0, @babel/helper-module-transforms@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/helper-module-transforms@npm:7.25.2" - dependencies: - "@babel/helper-module-imports": ^7.24.7 - "@babel/helper-simple-access": ^7.24.7 - "@babel/helper-validator-identifier": ^7.24.7 - "@babel/traverse": ^7.25.2 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 282d4e3308df6746289e46e9c39a0870819630af5f84d632559171e4fae6045684d771a65f62df3d569e88ccf81dc2def78b8338a449ae3a94bb421aa14fc367 - languageName: node - linkType: hard - -"@babel/helper-module-transforms@npm:^7.27.1": - version: 7.27.3 - resolution: "@babel/helper-module-transforms@npm:7.27.3" +"@babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.28.3": + version: 7.28.3 + resolution: "@babel/helper-module-transforms@npm:7.28.3" dependencies: "@babel/helper-module-imports": ^7.27.1 "@babel/helper-validator-identifier": ^7.27.1 - "@babel/traverse": ^7.27.3 + "@babel/traverse": ^7.28.3 peerDependencies: "@babel/core": ^7.0.0 - checksum: c611d42d3cb7ba23b1a864fcf8d6cde0dc99e876ca1c9a67e4d7919a70706ded4aaa45420de2bf7f7ea171e078e59f0edcfa15a56d74b9485e151b95b93b946e - languageName: node - linkType: hard - -"@babel/helper-optimise-call-expression@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-optimise-call-expression@npm:7.24.7" - dependencies: - "@babel/types": ^7.24.7 - checksum: 280654eaf90e92bf383d7eed49019573fb35a98c9e992668f701ad099957246721044be2068cf6840cb2299e0ad393705a1981c88c23a1048096a8d59e5f79a3 + checksum: 7cf7b79da0fa626d6c84bfc7b35c079a2559caecaa2ff645b0f1db0d741507aa4df6b5b98a3283e8ac4e89094af271d805bf5701e5c4f916e622797b7c8cbb18 languageName: node linkType: hard @@ -357,33 +214,13 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": - version: 7.24.8 - resolution: "@babel/helper-plugin-utils@npm:7.24.8" - checksum: 73b1a83ba8bcee21dc94de2eb7323207391715e4369fd55844bb15cf13e3df6f3d13a40786d990e6370bf0f571d94fc31f70dec96c1d1002058258c35ca3767a - languageName: node - linkType: hard - -"@babel/helper-plugin-utils@npm:^7.27.1": +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.8.0": version: 7.27.1 resolution: "@babel/helper-plugin-utils@npm:7.27.1" checksum: 5d715055301badab62bdb2336075a77f8dc8bd290cad2bc1b37ea3bf1b3efc40594d308082229f239deb4d6b5b80b0a73bce000e595ea74416e0339c11037047 languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.24.7, @babel/helper-remap-async-to-generator@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/helper-remap-async-to-generator@npm:7.25.0" - dependencies: - "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-wrap-function": ^7.25.0 - "@babel/traverse": ^7.25.0 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 47f3065e43fe9d6128ddb4291ffb9cf031935379265fd13de972b5f241943121f7583efb69cd2e1ecf39e3d0f76f047547d56c3fcc2c853b326fad5465da0bd7 - languageName: node - linkType: hard - "@babel/helper-remap-async-to-generator@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-remap-async-to-generator@npm:7.27.1" @@ -397,19 +234,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.24.7, @babel/helper-replace-supers@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/helper-replace-supers@npm:7.25.0" - dependencies: - "@babel/helper-member-expression-to-functions": ^7.24.8 - "@babel/helper-optimise-call-expression": ^7.24.7 - "@babel/traverse": ^7.25.0 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: f669fc2487c22d40b808f94b9c3ee41129484d5ef0ba689bdd70f216ff91e10b6b021d2f8cd37e7bdd700235a2a6ae6622526344f064528190383bf661ac65f8 - languageName: node - linkType: hard - "@babel/helper-replace-supers@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-replace-supers@npm:7.27.1" @@ -423,26 +247,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-simple-access@npm:7.24.7" - dependencies: - "@babel/traverse": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: ddbf55f9dea1900213f2a1a8500fabfd21c5a20f44dcfa957e4b0d8638c730f88751c77f678644f754f1a1dc73f4eb8b766c300deb45a9daad000e4247957819 - languageName: node - linkType: hard - -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.24.7" - dependencies: - "@babel/traverse": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: 11b28fe534ce2b1a67c4d8e51a7b5711a2a0a0cae802f74614eee54cca58c744d9a62f6f60103c41759e81c537d270bfd665bf368a6bea214c6052f2094f8407 - languageName: node - linkType: hard - "@babel/helper-skip-transparent-expression-wrappers@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.27.1" @@ -453,13 +257,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-string-parser@npm:7.24.8" - checksum: 39b03c5119216883878655b149148dc4d2e284791e969b19467a9411fccaa33f7a713add98f4db5ed519535f70ad273cdadfd2eb54d47ebbdeac5083351328ce - languageName: node - linkType: hard - "@babel/helper-string-parser@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-string-parser@npm:7.27.1" @@ -467,13 +264,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-validator-identifier@npm:7.24.7" - checksum: 6799ab117cefc0ecd35cd0b40ead320c621a298ecac88686a14cffceaac89d80cdb3c178f969861bf5fa5e4f766648f9161ea0752ecfe080d8e89e3147270257 - languageName: node - linkType: hard - "@babel/helper-validator-identifier@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-validator-identifier@npm:7.27.1" @@ -481,13 +271,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.24.7, @babel/helper-validator-option@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-validator-option@npm:7.24.8" - checksum: a52442dfa74be6719c0608fee3225bd0493c4057459f3014681ea1a4643cd38b68ff477fe867c4b356da7330d085f247f0724d300582fa4ab9a02efaf34d107c - languageName: node - linkType: hard - "@babel/helper-validator-option@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-validator-option@npm:7.27.1" @@ -495,81 +278,35 @@ __metadata: languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/helper-wrap-function@npm:7.25.0" - dependencies: - "@babel/template": ^7.25.0 - "@babel/traverse": ^7.25.0 - "@babel/types": ^7.25.0 - checksum: 0095b4741704066d1687f9bbd5370bb88c733919e4275e49615f70c180208148ff5f24ab58d186ce92f8f5d28eab034ec6617e9264590cc4744c75302857629c - languageName: node - linkType: hard - "@babel/helper-wrap-function@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-wrap-function@npm:7.27.1" - dependencies: - "@babel/template": ^7.27.1 - "@babel/traverse": ^7.27.1 - "@babel/types": ^7.27.1 - checksum: b0427765766494cb5455a188d4cdef5e6167f2835a8ed76f3c25fa3bbe2ec2a716588fa326c52fab0d184a9537200d76e48656e516580a914129d74528322821 - languageName: node - linkType: hard - -"@babel/helpers@npm:^7.25.0": - version: 7.25.6 - resolution: "@babel/helpers@npm:7.25.6" - dependencies: - "@babel/template": ^7.25.0 - "@babel/types": ^7.25.6 - checksum: 5a548999db82049a5f7ac6de57576b4ed0d386ce07d058151698836ed411eae6230db12535487caeebb68a2ffc964491e8aead62364a5132ab0ae20e8b68e19f - languageName: node - linkType: hard - -"@babel/highlight@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/highlight@npm:7.24.7" + version: 7.28.3 + resolution: "@babel/helper-wrap-function@npm:7.28.3" dependencies: - "@babel/helper-validator-identifier": ^7.24.7 - chalk: ^2.4.2 - js-tokens: ^4.0.0 - picocolors: ^1.0.0 - checksum: 5cd3a89f143671c4ac129960024ba678b669e6fc673ce078030f5175002d1d3d52bc10b22c5b916a6faf644b5028e9a4bd2bb264d053d9b05b6a98690f1d46f1 + "@babel/template": ^7.27.2 + "@babel/traverse": ^7.28.3 + "@babel/types": ^7.28.2 + checksum: 0ebdfdc918fdd0c1cf6ff15ba4c664974d0cdf21a017af560d58b00c379df3bf2e55f13a44fe3225668bca169da174f6cb97a96c4e987fb728fdb8f9a39db302 languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.0, @babel/parser@npm:^7.25.6": - version: 7.25.6 - resolution: "@babel/parser@npm:7.25.6" +"@babel/helpers@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/helpers@npm:7.28.4" dependencies: - "@babel/types": ^7.25.6 - bin: - parser: ./bin/babel-parser.js - checksum: 85b237ded09ee43cc984493c35f3b1ff8a83e8dbbb8026b8132e692db6567acc5a1659ec928e4baa25499ddd840d7dae9dee3062be7108fe23ec5f94a8066b1e + "@babel/template": ^7.27.2 + "@babel/types": ^7.28.4 + checksum: a8706219e0bd60c18bbb8e010aa122e9b14e7e7e67c21cc101e6f1b5e79dcb9a18d674f655997f85daaf421aa138cf284710bb04371a2255a0a3137f097430b4 languageName: node linkType: hard -"@babel/parser@npm:^7.25.3, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.27.4, @babel/parser@npm:^7.27.5": - version: 7.27.5 - resolution: "@babel/parser@npm:7.27.5" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.3, @babel/parser@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/parser@npm:7.28.4" dependencies: - "@babel/types": ^7.27.3 + "@babel/types": ^7.28.4 bin: parser: ./bin/babel-parser.js - checksum: 16f00a12895522c1682f1f047332010e129ba517add3a2db347a658e02f60434fc38f9105a9d6ec3fd6bfb5d1b0b70d88585c1f10e06e2b58fba29004a42d648 - languageName: node - linkType: hard - -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.3": - version: 7.25.3 - resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.3" - dependencies: - "@babel/helper-plugin-utils": ^7.24.8 - "@babel/traverse": ^7.25.3 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: d3dba60f360defe70eb43e35a1b17ea9dd4a99e734249e15be3d5c288019644f96f88d7ff51990118fda0845b4ad50f6d869e0382232b1d8b054d113d4eea7e2 + checksum: d95e283fe1153039b396926ef567ca1ab114afb5c732a23bbcbbd0465ac59971aeb6a63f37593ce7671a52d34ec52b23008c999d68241b42d26928c540464063 languageName: node linkType: hard @@ -585,17 +322,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.0" - dependencies: - "@babel/helper-plugin-utils": ^7.24.8 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: fd56d1e6435f2c008ca9050ea906ff7eedcbec43f532f2bf2e7e905d8bf75bf5e4295ea9593f060394e2c8e45737266ccbf718050bad2dd7be4e7613c60d1b5b - languageName: node - linkType: hard - "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.27.1" @@ -607,17 +333,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.0" - dependencies: - "@babel/helper-plugin-utils": ^7.24.8 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 13ed301b108d85867d64226bbc4032b07dd1a23aab68e9e32452c4fe3930f2198bb65bdae9c262c4104bd5e45647bc1830d25d43d356ee9a137edd8d5fab8350 - languageName: node - linkType: hard - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.27.1" @@ -629,19 +344,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7 - "@babel/plugin-transform-optional-chaining": ^7.24.7 - peerDependencies: - "@babel/core": ^7.13.0 - checksum: 07b92878ac58a98ea1fdf6a8b4ec3413ba4fa66924e28b694d63ec5b84463123fbf4d7153b56cf3cedfef4a3482c082fe3243c04f8fb2c041b32b0e29b4a9e21 - languageName: node - linkType: hard - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.27.1" @@ -655,27 +357,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.0" - dependencies: - "@babel/helper-plugin-utils": ^7.24.8 - "@babel/traverse": ^7.25.0 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: c8d08b8d6cc71451ad2a50cf7db72ab5b41c1e5e2e4d56cf6837a25a61270abd682c6b8881ab025f11a552d2024b3780519bb051459ebb71c27aed13d9917663 - languageName: node - linkType: hard - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.27.1" +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.28.3": + version: 7.28.3 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.28.3" dependencies: "@babel/helper-plugin-utils": ^7.27.1 - "@babel/traverse": ^7.27.1 + "@babel/traverse": ^7.28.3 peerDependencies: "@babel/core": ^7.0.0 - checksum: 4d6792ccade2d6b9d5577b0a879ab22d05ac8a1206b1a636b6ffdb53a0c0bacaf0f7947e46de254f228ffd75456f4b95ccd82fdeaefc0b92d88af3c5991863ad + checksum: c810e5d36030df6861ced35f0adbda7b4b41ac3e984422b32bee906564fd49374435f0a7a1a42eb0a9e6a5170c255f0ab31c163d5fc51fa5a816aa0420311029 languageName: node linkType: hard @@ -755,39 +445,17 @@ __metadata: linkType: hard "@babel/plugin-syntax-export-default-from@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-export-default-from@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 5572825e7c2a9d60285c2ef1d3f7ff77965393ed1f1b44b84af981b96cb5f938d630c7bdadf69fe5ebea04bd05934541d2df3fec06d2127c81d69466d1d54649 - languageName: node - linkType: hard - -"@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 85740478be5b0de185228e7814451d74ab8ce0a26fcca7613955262a26e99e8e15e9da58f60c754b84515d4c679b590dbd3f2148f0f58025f4ae706f1c5a5d4a - languageName: node - linkType: hard - -"@babel/plugin-syntax-flow@npm:^7.12.1, @babel/plugin-syntax-flow@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-flow@npm:7.24.7" + version: 7.27.1 + resolution: "@babel/plugin-syntax-export-default-from@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 43b78b5fcdedb2a6d80c3d02a1a564fbfde86b73b442d616a8f318f673caa6ce0151513af5a00fcae42a512f144e70ef259d368b9537ee35d40336a6c895a7d4 + checksum: d9a6a9c51f644a5ed139dbe1e8cf5a38c9b390af27ad2fc6f0eba579ac543b039efff34200744bfc8523132c06aa6de921238bd2088948bb4dce4571cea43438 languageName: node linkType: hard -"@babel/plugin-syntax-flow@npm:^7.27.1": +"@babel/plugin-syntax-flow@npm:^7.12.1, @babel/plugin-syntax-flow@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-syntax-flow@npm:7.27.1" dependencies: @@ -798,17 +466,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.24.7": - version: 7.25.6 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.25.6" - dependencies: - "@babel/helper-plugin-utils": ^7.24.8 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: b3b251ace9f184c2d6369cde686ff01581050cb0796f2ff00ff4021f31cf86270b347df09579f2c0996e999e37e1dddafacec42ed1ef6aae21a265aff947e792 - languageName: node - linkType: hard - "@babel/plugin-syntax-import-assertions@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-syntax-import-assertions@npm:7.27.1" @@ -820,18 +477,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.24.7": - version: 7.25.6 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.25.6" - dependencies: - "@babel/helper-plugin-utils": ^7.24.8 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 3b0928e73e42346e8a65760a3ff853c87ad693cdf11bb335a23e895e0b5b1f0601118521b3aff2a6946488a580a63afb6a5b5686153a7678b4dff0e4e4604dd7 - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-attributes@npm:^7.27.1": +"@babel/plugin-syntax-import-attributes@npm:^7.24.7, @babel/plugin-syntax-import-attributes@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-syntax-import-attributes@npm:7.27.1" dependencies: @@ -864,18 +510,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.24.7, @babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.24.7 - resolution: "@babel/plugin-syntax-jsx@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 7a5ca629d8ca1e1ee78705a78e58c12920d07ed8006d7e7232b31296a384ff5e41d7b649bde5561196041037bbb9f9715be1d1c20975df87ca204f34ad15b965 - languageName: node - linkType: hard - -"@babel/plugin-syntax-jsx@npm:^7.27.1": +"@babel/plugin-syntax-jsx@npm:^7.27.1, @babel/plugin-syntax-jsx@npm:^7.7.2": version: 7.27.1 resolution: "@babel/plugin-syntax-jsx@npm:7.27.1" dependencies: @@ -974,18 +609,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.24.7, @babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.25.4 - resolution: "@babel/plugin-syntax-typescript@npm:7.25.4" - dependencies: - "@babel/helper-plugin-utils": ^7.24.8 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 9b89b8930cd5983f64251d75c9fcdc17a8dc73837d6de12220ff972888ecff4054a6467cf0c423cad242aa96c0f0564a39a0823073728cc02239b80d13f02230 - languageName: node - linkType: hard - -"@babel/plugin-syntax-typescript@npm:^7.27.1": +"@babel/plugin-syntax-typescript@npm:^7.27.1, @babel/plugin-syntax-typescript@npm:^7.7.2": version: 7.27.1 resolution: "@babel/plugin-syntax-typescript@npm:7.27.1" dependencies: @@ -1008,18 +632,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 707c209b5331c7dc79bd326128c6a6640dbd62a78da1653c844db20c4f36bf7b68454f1bc4d2d051b3fde9136fa291f276ec03a071bb00ee653069ff82f91010 - languageName: node - linkType: hard - -"@babel/plugin-transform-arrow-functions@npm:^7.27.1": +"@babel/plugin-transform-arrow-functions@npm:^7.24.7, @babel/plugin-transform-arrow-functions@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-arrow-functions@npm:7.27.1" dependencies: @@ -1030,239 +643,115 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.25.4": - version: 7.25.4 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.4" +"@babel/plugin-transform-async-generator-functions@npm:^7.25.4, @babel/plugin-transform-async-generator-functions@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.28.0" dependencies: - "@babel/helper-plugin-utils": ^7.24.8 - "@babel/helper-remap-async-to-generator": ^7.25.0 - "@babel/plugin-syntax-async-generators": ^7.8.4 - "@babel/traverse": ^7.25.4 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-remap-async-to-generator": ^7.27.1 + "@babel/traverse": ^7.28.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4235444735a1946f8766fe56564a8134c2c36c73e6cf83b3f2ed5624ebc84ff5979506a6a5b39acdb23aa09d442a6af471710ed408ccce533a2c4d2990b9df6a + checksum: 174aaccd7a8386fd7f32240c3f65a93cf60dcc5f6a2123cfbff44c0d22b424cd41de3a0c6d136b6a2fa60a8ca01550c261677284cb18a0daeab70730b2265f1d languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.27.1": +"@babel/plugin-transform-async-to-generator@npm:^7.24.7, @babel/plugin-transform-async-to-generator@npm:^7.27.1": version: 7.27.1 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.27.1" + resolution: "@babel/plugin-transform-async-to-generator@npm:7.27.1" dependencies: + "@babel/helper-module-imports": ^7.27.1 "@babel/helper-plugin-utils": ^7.27.1 "@babel/helper-remap-async-to-generator": ^7.27.1 - "@babel/traverse": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 37e8b76c992066f81cc24af11a25f296add6ae39f51f2c37da565fc004dbf3ef9733b42808acbfb86792d73f73bfbb4396338abbd364b9103146b119508b49c7 + checksum: d79d7a7ae7d416f6a48200017d027a6ba94c09c7617eea8b4e9c803630f00094c1a4fc32bf20ce3282567824ce3fcbda51653aac4003c71ea4e681b331338979 languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.24.7" +"@babel/plugin-transform-block-scoped-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.27.1" dependencies: - "@babel/helper-module-imports": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-remap-async-to-generator": ^7.24.7 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 13704fb3b83effc868db2b71bfb2c77b895c56cb891954fc362e95e200afd523313b0e7cf04ce02f45b05e76017c5b5fa8070c92613727a35131bb542c253a36 + checksum: 7fb4988ca80cf1fc8345310d5edfe38e86b3a72a302675cdd09404d5064fe1d1fe1283ebe658ad2b71445ecef857bfb29a748064306b5f6c628e0084759c2201 languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.27.1" +"@babel/plugin-transform-block-scoping@npm:^7.25.0, @babel/plugin-transform-block-scoping@npm:^7.28.0": + version: 7.28.4 + resolution: "@babel/plugin-transform-block-scoping@npm:7.28.4" dependencies: - "@babel/helper-module-imports": ^7.27.1 "@babel/helper-plugin-utils": ^7.27.1 - "@babel/helper-remap-async-to-generator": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d79d7a7ae7d416f6a48200017d027a6ba94c09c7617eea8b4e9c803630f00094c1a4fc32bf20ce3282567824ce3fcbda51653aac4003c71ea4e681b331338979 + checksum: 7f62eae907c0b4f85b9cc024da949697e57d17f2107ca4a240011174762d4c546b856ccbd5ba83ecb4bc9eb50150ea46558d551a5b05d3f25aace88a65fa4e04 languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.24.7" +"@babel/plugin-transform-class-properties@npm:^7.25.4, @babel/plugin-transform-class-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-class-properties@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-create-class-features-plugin": ^7.27.1 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 249cdcbff4e778b177245f9652b014ea4f3cd245d83297f10a7bf6d97790074089aa62bcde8c08eb299c5e68f2faed346b587d3ebac44d625ba9a83a4ee27028 + checksum: 475a6e5a9454912fe1bdc171941976ca10ea4e707675d671cdb5ce6b6761d84d1791ac61b6bca81a2e5f6430cb7b9d8e4b2392404110e69c28207a754e196294 languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.27.1" +"@babel/plugin-transform-class-static-block@npm:^7.28.3": + version: 7.28.3 + resolution: "@babel/plugin-transform-class-static-block@npm:7.28.3" dependencies: + "@babel/helper-create-class-features-plugin": ^7.28.3 "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 7fb4988ca80cf1fc8345310d5edfe38e86b3a72a302675cdd09404d5064fe1d1fe1283ebe658ad2b71445ecef857bfb29a748064306b5f6c628e0084759c2201 + "@babel/core": ^7.12.0 + checksum: 9b2feaacbf29637ab35a3aae1df35a1129adec5400a1767443739557fb0d3bf8278bf0ec90aacf43dec9a7dd91428d01375020b70528713e1bc36a72776a104c languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-transform-block-scoping@npm:7.25.0" +"@babel/plugin-transform-classes@npm:^7.25.4, @babel/plugin-transform-classes@npm:^7.28.3": + version: 7.28.4 + resolution: "@babel/plugin-transform-classes@npm:7.28.4" dependencies: - "@babel/helper-plugin-utils": ^7.24.8 + "@babel/helper-annotate-as-pure": ^7.27.3 + "@babel/helper-compilation-targets": ^7.27.2 + "@babel/helper-globals": ^7.28.0 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-replace-supers": ^7.27.1 + "@babel/traverse": ^7.28.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b1a8f932f69ad2a47ae3e02b4cedd2a876bfc2ac9cf72a503fd706cdc87272646fe9eed81e068c0fc639647033de29f7fa0c21cddd1da0026f83dbaac97316a8 + checksum: f412e00c86584a9094cc0a2f3dd181b8108a4dced477d609c5406beddd5bf79d05a7ea74db508dc4dcb37172f042d5ef98d3d6311ade61c7ea6fbbbb70f5ec29 languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.27.1": - version: 7.27.5 - resolution: "@babel/plugin-transform-block-scoping@npm:7.27.5" +"@babel/plugin-transform-computed-properties@npm:^7.24.7, @babel/plugin-transform-computed-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-computed-properties@npm:7.27.1" dependencies: "@babel/helper-plugin-utils": ^7.27.1 + "@babel/template": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bd710674bebe2e90b1daee960523d06c958f060f439ce2eef6b157c780c0654168131d0312a06dd71c5b186ecc2a818334d16f8368bd273ab549d6230f074135 + checksum: 48bd20f7d631b08c51155751bf75b698d4a22cca36f41c22921ab92e53039c9ec5c3544e5282e18692325ef85d2e4a18c27e12c62b5e20c26fb0c92447e35224 languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.25.4": - version: 7.25.4 - resolution: "@babel/plugin-transform-class-properties@npm:7.25.4" +"@babel/plugin-transform-destructuring@npm:^7.24.8, @babel/plugin-transform-destructuring@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-destructuring@npm:7.28.0" dependencies: - "@babel/helper-create-class-features-plugin": ^7.25.4 - "@babel/helper-plugin-utils": ^7.24.8 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/traverse": ^7.28.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b73f7d968639c6c2dfc13f4c5a8fe45cefd260f0faa7890ae12e65d41211072544ff5e128c8b61a86887b29ffd3df8422dbdfbf61648488e71d4bb599c41f4a5 - languageName: node - linkType: hard - -"@babel/plugin-transform-class-properties@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-class-properties@npm:7.27.1" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.27.1 - "@babel/helper-plugin-utils": ^7.27.1 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 475a6e5a9454912fe1bdc171941976ca10ea4e707675d671cdb5ce6b6761d84d1791ac61b6bca81a2e5f6430cb7b9d8e4b2392404110e69c28207a754e196294 - languageName: node - linkType: hard - -"@babel/plugin-transform-class-static-block@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-class-static-block@npm:7.24.7" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-class-static-block": ^7.14.5 - peerDependencies: - "@babel/core": ^7.12.0 - checksum: 324049263504f18416f1c3e24033baebfafd05480fdd885c8ebe6f2b415b0fc8e0b98d719360f9e30743cc78ac387fabc0b3c6606d2b54135756ffb92963b382 - languageName: node - linkType: hard - -"@babel/plugin-transform-class-static-block@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-class-static-block@npm:7.27.1" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.27.1 - "@babel/helper-plugin-utils": ^7.27.1 - peerDependencies: - "@babel/core": ^7.12.0 - checksum: 69688fe1641ae0ea025b916b8c2336e8b5643a5ec292e8f546ecd35d9d9d4bb301d738910822a79d867098cf687d550d92cd906ae4cda03c0f69b1ece2149a58 - languageName: node - linkType: hard - -"@babel/plugin-transform-classes@npm:^7.25.4": - version: 7.25.4 - resolution: "@babel/plugin-transform-classes@npm:7.25.4" - dependencies: - "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-compilation-targets": ^7.25.2 - "@babel/helper-plugin-utils": ^7.24.8 - "@babel/helper-replace-supers": ^7.25.0 - "@babel/traverse": ^7.25.4 - globals: ^11.1.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 0bf20e46eeb691bd60cee5d1b01950fc37accec88018ecace25099f7c8d8509c1ac54d11b8caf9f2157c6945969520642a3bc421159c1a14e80224dc9a7611de - languageName: node - linkType: hard - -"@babel/plugin-transform-classes@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-classes@npm:7.27.1" - dependencies: - "@babel/helper-annotate-as-pure": ^7.27.1 - "@babel/helper-compilation-targets": ^7.27.1 - "@babel/helper-plugin-utils": ^7.27.1 - "@babel/helper-replace-supers": ^7.27.1 - "@babel/traverse": ^7.27.1 - globals: ^11.1.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: a4275d3a9e2e4144c421baa49958191e4b33957fca6e87686ed8da0eb3240270d4f91a2a4b9491c87feb6c33f459d8aec013cec8d5f5099c794b740703802dc7 - languageName: node - linkType: hard - -"@babel/plugin-transform-computed-properties@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-computed-properties@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/template": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 0cf8c1b1e4ea57dec8d4612460d84fd4cdbf71a7499bb61ee34632cf89018a59eee818ffca88a8d99ee7057c20a4257044d7d463fda6daef9bf1db9fa81563cb - languageName: node - linkType: hard - -"@babel/plugin-transform-computed-properties@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-computed-properties@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": ^7.27.1 - "@babel/template": ^7.27.1 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 48bd20f7d631b08c51155751bf75b698d4a22cca36f41c22921ab92e53039c9ec5c3544e5282e18692325ef85d2e4a18c27e12c62b5e20c26fb0c92447e35224 - languageName: node - linkType: hard - -"@babel/plugin-transform-destructuring@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/plugin-transform-destructuring@npm:7.24.8" - dependencies: - "@babel/helper-plugin-utils": ^7.24.8 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 0b4bd3d608979a1e5bd97d9d42acd5ad405c7fffa61efac4c7afd8e86ea6c2d91ab2d94b6a98d63919571363fe76e0b03c4ff161f0f60241b895842596e4a999 - languageName: node - linkType: hard - -"@babel/plugin-transform-destructuring@npm:^7.27.1, @babel/plugin-transform-destructuring@npm:^7.27.3": - version: 7.27.3 - resolution: "@babel/plugin-transform-destructuring@npm:7.27.3" - dependencies: - "@babel/helper-plugin-utils": ^7.27.1 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 1b00a609e6292a1e48104d63dd479a688e773dcf42c715f7b342ba1725ae9335d75c8569aa0518388ed359f98f0b7155fd7bb0453fbc36445e986b17e5ccaa98 - languageName: node - linkType: hard - -"@babel/plugin-transform-dotall-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.24.7" - dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 67b10fc6abb1f61f0e765288eb4c6d63d1d0f9fc0660e69f6f2170c56fa16bc74e49857afc644beda112b41771cd90cf52df0940d11e97e52617c77c7dcff171 + checksum: 5b464d6a03c6eaa1327b60ffc1630ca977db0256938b34e281e65c81c965680e930a6bac043272942d6d4bbd7d1eddded0b7231779429ba51275e092e7367859 languageName: node linkType: hard @@ -1278,17 +767,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: d1da2ff85ecb56a63f4ccfd9dc9ae69400d85f0dadf44ecddd9e71c6e5c7a9178e74e3a9637555f415a2bb14551e563f09f98534ab54f53d25e8439fdde6ba2d - languageName: node - linkType: hard - "@babel/plugin-transform-duplicate-keys@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-duplicate-keys@npm:7.27.1" @@ -1300,18 +778,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.0" - dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.25.0 - "@babel/helper-plugin-utils": ^7.24.8 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 608d6b0e77341189508880fd1a9f605a38d0803dd6f678ea3920ab181b17b377f6d5221ae8cf0104c7a044d30d4ddb0366bd064447695671d78457a656bb264f - languageName: node - linkType: hard - "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.27.1" @@ -1324,18 +790,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-dynamic-import": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 776509ff62ab40c12be814a342fc56a5cc09b91fb63032b2633414b635875fd7da03734657be0f6db2891fe6e3033b75d5ddb6f2baabd1a02e4443754a785002 - languageName: node - linkType: hard - "@babel/plugin-transform-dynamic-import@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-dynamic-import@npm:7.27.1" @@ -1347,15 +801,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.24.7" +"@babel/plugin-transform-explicit-resource-management@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-explicit-resource-management@npm:7.28.0" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/plugin-transform-destructuring": ^7.28.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 23c84a23eb56589fdd35a3540f9a1190615be069110a2270865223c03aee3ba4e0fc68fe14850800cf36f0712b26e4964d3026235261f58f0405a29fe8dac9b1 + checksum: a44140097ed4854883c426613f4e8763237cd0fdab1c780514f4315f6c148d6b528d7a57fe6fdec4dbce28a21b70393ef3507b72dfec2e30bfc8d7db1ff19474 languageName: node linkType: hard @@ -1370,18 +824,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-export-namespace-from": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 3bd3a10038f10ae0dea1ee42137f3edcf7036b5e9e570a0d1cbd0865f03658990c6c2d84fa2475f87a754e7dc5b46766c16f7ce5c9b32c3040150b6a21233a80 - languageName: node - linkType: hard - "@babel/plugin-transform-export-namespace-from@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-export-namespace-from@npm:7.27.1" @@ -1393,19 +835,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-flow-strip-types@npm:^7.24.7": - version: 7.25.2 - resolution: "@babel/plugin-transform-flow-strip-types@npm:7.25.2" - dependencies: - "@babel/helper-plugin-utils": ^7.24.8 - "@babel/plugin-syntax-flow": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 9f7b96cbd374077eaf04b59e468976d2e89ec353807d7ac28f129f686945447df92aeb5b60acf906f3ec0f9ebef5d9f88735c7aa39af97033a6ab96c79c9a909 - languageName: node - linkType: hard - -"@babel/plugin-transform-flow-strip-types@npm:^7.25.2": +"@babel/plugin-transform-flow-strip-types@npm:^7.25.2, @babel/plugin-transform-flow-strip-types@npm:^7.26.5, @babel/plugin-transform-flow-strip-types@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-flow-strip-types@npm:7.27.1" dependencies: @@ -1417,19 +847,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-for-of@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: a53b42dc93ab4b7d1ebd3c695b52be22b3d592f6a3dbdb3dc2fea2c8e0a7e1508fe919864c455cde552aec44ce7518625fccbb70c7063373ca228d884f4f49ea - languageName: node - linkType: hard - -"@babel/plugin-transform-for-of@npm:^7.27.1": +"@babel/plugin-transform-for-of@npm:^7.24.7, @babel/plugin-transform-for-of@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-for-of@npm:7.27.1" dependencies: @@ -1441,20 +859,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.25.1": - version: 7.25.1 - resolution: "@babel/plugin-transform-function-name@npm:7.25.1" - dependencies: - "@babel/helper-compilation-targets": ^7.24.8 - "@babel/helper-plugin-utils": ^7.24.8 - "@babel/traverse": ^7.25.1 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 743f3ea03bbc5a90944849d5a880b6bd9243dddbde581a46952da76e53a0b74c1e2424133fe8129d7a152c1f8c872bcd27e0b6728d7caadabd1afa7bb892e1e0 - languageName: node - linkType: hard - -"@babel/plugin-transform-function-name@npm:^7.27.1": +"@babel/plugin-transform-function-name@npm:^7.25.1, @babel/plugin-transform-function-name@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-function-name@npm:7.27.1" dependencies: @@ -1467,18 +872,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-json-strings@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-json-strings": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 88874d0b7a1ddea66c097fc0abb68801ffae194468aa44b828dde9a0e20ac5d8647943793de86092eabaa2911c96f67a6b373793d4bb9c932ef81b2711c06c2e - languageName: node - linkType: hard - "@babel/plugin-transform-json-strings@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-json-strings@npm:7.27.1" @@ -1490,18 +883,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/plugin-transform-literals@npm:7.25.2" - dependencies: - "@babel/helper-plugin-utils": ^7.24.8 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 70c9bb40e377a306bd8f500899fb72127e527517914466e95dc6bb53fa7a0f51479db244a54a771b5780fc1eab488fedd706669bf11097b81a23c81ab7423eb1 - languageName: node - linkType: hard - -"@babel/plugin-transform-literals@npm:^7.27.1": +"@babel/plugin-transform-literals@npm:^7.25.2, @babel/plugin-transform-literals@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-literals@npm:7.27.1" dependencies: @@ -1512,19 +894,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 3367ce0be243704dc6fce23e86a592c4380f01998ee5dd9f94c54b1ef7b971ac6f8a002901eb51599ac6cbdc0d067af8d1a720224fca1c40fde8bb8aab804aac - languageName: node - linkType: hard - -"@babel/plugin-transform-logical-assignment-operators@npm:^7.27.1": +"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7, @babel/plugin-transform-logical-assignment-operators@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.27.1" dependencies: @@ -1535,17 +905,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 2720c57aa3bf70576146ba7d6ea03227f4611852122d76d237924f7b008dafc952e6ae61a19e5024f26c665f44384bbd378466f01b6bd1305b3564a3b7fb1a5d - languageName: node - linkType: hard - "@babel/plugin-transform-member-expression-literals@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-member-expression-literals@npm:7.27.1" @@ -1557,18 +916,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-amd@npm:7.24.7" - dependencies: - "@babel/helper-module-transforms": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: f1dd0fb2f46c0f8f21076b8c7ccd5b33a85ce6dcb31518ea4c648d9a5bb2474cd4bd87c9b1b752e68591e24b022e334ba0d07631fef2b6b4d8a4b85cf3d581f5 - languageName: node - linkType: hard - "@babel/plugin-transform-modules-amd@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-modules-amd@npm:7.27.1" @@ -1581,20 +928,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.24.7, @babel/plugin-transform-modules-commonjs@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.8" - dependencies: - "@babel/helper-module-transforms": ^7.24.8 - "@babel/helper-plugin-utils": ^7.24.8 - "@babel/helper-simple-access": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: a4cf95b1639c33382064b44558f73ee5fac023f2a94d16e549d2bb55ceebd5cbc10fcddd505d08cd5bc97f5a64af9fd155512358b7dcf7b1a0082e8945cf21c5 - languageName: node - linkType: hard - -"@babel/plugin-transform-modules-commonjs@npm:^7.27.1": +"@babel/plugin-transform-modules-commonjs@npm:^7.24.8, @babel/plugin-transform-modules-commonjs@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-modules-commonjs@npm:7.27.1" dependencies: @@ -1606,20 +940,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.0" - dependencies: - "@babel/helper-module-transforms": ^7.25.0 - "@babel/helper-plugin-utils": ^7.24.8 - "@babel/helper-validator-identifier": ^7.24.7 - "@babel/traverse": ^7.25.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: fe673bec08564e491847324bb80a1e6edfb229f5c37e58a094d51e95306e7b098e1d130fc43e992d22debd93b9beac74441ffc3f6ea5d78f6b2535896efa0728 - languageName: node - linkType: hard - "@babel/plugin-transform-modules-systemjs@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-modules-systemjs@npm:7.27.1" @@ -1634,18 +954,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-umd@npm:7.24.7" - dependencies: - "@babel/helper-module-transforms": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 9ff1c464892efe042952ba778468bda6131b196a2729615bdcc3f24cdc94014f016a4616ee5643c5845bade6ba698f386833e61056d7201314b13a7fd69fac88 - languageName: node - linkType: hard - "@babel/plugin-transform-modules-umd@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-modules-umd@npm:7.27.1" @@ -1658,19 +966,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.24.7" - dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: f1c6c7b5d60a86b6d7e4dd098798e1d393d55e993a0b57a73b53640c7a94985b601a96bdacee063f809a9a700bcea3a2ff18e98fa561554484ac56b761d774bd - languageName: node - linkType: hard - -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.27.1": +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.7, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.27.1" dependencies: @@ -1682,17 +978,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-new-target@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 3cb94cd1076b270f768f91fdcf9dd2f6d487f8dbfff3df7ca8d07b915900b86d02769a35ba1407d16fe49499012c8f055e1741299e2c880798b953d942a8fa1b - languageName: node - linkType: hard - "@babel/plugin-transform-new-target@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-new-target@npm:7.27.1" @@ -1704,19 +989,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 4a9221356401d87762afbc37a9e8e764afc2daf09c421117537820f8cfbed6876888372ad3a7bcfae2d45c95f026651f050ab4020b777be31d3ffb00908dbdd3 - languageName: node - linkType: hard - -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.27.1": +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.27.1" dependencies: @@ -1727,19 +1000,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-numeric-separator": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 561b5f1d08b2c3f92ce849f092751558b5e6cfeb7eb55c79e7375c34dd9c3066dce5e630bb439affef6adcf202b6cbcaaa23870070276fa5bb429c8f5b8c7514 - languageName: node - linkType: hard - -"@babel/plugin-transform-numeric-separator@npm:^7.27.1": +"@babel/plugin-transform-numeric-separator@npm:^7.24.7, @babel/plugin-transform-numeric-separator@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-numeric-separator@npm:7.27.1" dependencies: @@ -1750,43 +1011,18 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.24.7" - dependencies: - "@babel/helper-compilation-targets": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-object-rest-spread": ^7.8.3 - "@babel/plugin-transform-parameters": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 169d257b9800c13e1feb4c37fb05dae84f702e58b342bb76e19e82e6692b7b5337c9923ee89e3916a97c0dd04a3375bdeca14f5e126f110bbacbeb46d1886ca2 - languageName: node - linkType: hard - -"@babel/plugin-transform-object-rest-spread@npm:^7.27.2": - version: 7.27.3 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.27.3" +"@babel/plugin-transform-object-rest-spread@npm:^7.24.7, @babel/plugin-transform-object-rest-spread@npm:^7.28.0": + version: 7.28.4 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.28.4" dependencies: "@babel/helper-compilation-targets": ^7.27.2 "@babel/helper-plugin-utils": ^7.27.1 - "@babel/plugin-transform-destructuring": ^7.27.3 - "@babel/plugin-transform-parameters": ^7.27.1 + "@babel/plugin-transform-destructuring": ^7.28.0 + "@babel/plugin-transform-parameters": ^7.27.7 + "@babel/traverse": ^7.28.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 624db8badc844d3256ce9b5d062f1716f01c15ab3ed023dc971eb8083bba55e83be8dc25971b4570d2cd8979eb2c61a3b08d332bd0ec1816ee8afbf1659472bf - languageName: node - linkType: hard - -"@babel/plugin-transform-object-super@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-object-super@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-replace-supers": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: f71e607a830ee50a22fa1a2686524d3339440cf9dea63032f6efbd865cfe4e35000e1e3f3492459e5c986f7c0c07dc36938bf3ce61fc9ba5f8ab732d0b64ab37 + checksum: 2063672ba4ac457a64b5c0c982439c7b08b4c70f0e743792b98240db5a05f1c063918d8366c92d4d6b2572e2e3452b300a23980b6668e4f54ff349f60d47ec48 languageName: node linkType: hard @@ -1802,19 +1038,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 7229f3a5a4facaab40f4fdfc7faabc157dc38a67d66bed7936599f4bc509e0bff636f847ac2aa45294881fce9cf8a0a460b85d2a465b7b977de9739fce9b18f6 - languageName: node - linkType: hard - -"@babel/plugin-transform-optional-catch-binding@npm:^7.27.1": +"@babel/plugin-transform-optional-catch-binding@npm:^7.24.7, @babel/plugin-transform-optional-catch-binding@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.27.1" dependencies: @@ -1825,20 +1049,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.24.7, @babel/plugin-transform-optional-chaining@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.8" - dependencies: - "@babel/helper-plugin-utils": ^7.24.8 - "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7 - "@babel/plugin-syntax-optional-chaining": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 45e55e3a2fffb89002d3f89aef59c141610f23b60eee41e047380bffc40290b59f64fc649aa7ec5281f73d41b2065410d788acc6afaad2a9f44cad6e8af04442 - languageName: node - linkType: hard - -"@babel/plugin-transform-optional-chaining@npm:^7.27.1": +"@babel/plugin-transform-optional-chaining@npm:^7.24.8, @babel/plugin-transform-optional-chaining@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-optional-chaining@npm:7.27.1" dependencies: @@ -1850,25 +1061,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-parameters@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ab534b03ac2eff94bc79342b8f39a4584666f5305a6c63c1964afda0b1b004e6b861e49d1683548030defe248e3590d3ff6338ee0552cb90c064f7e1479968c3 - languageName: node - linkType: hard - -"@babel/plugin-transform-parameters@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-parameters@npm:7.27.1" +"@babel/plugin-transform-parameters@npm:^7.24.7, @babel/plugin-transform-parameters@npm:^7.27.7": + version: 7.27.7 + resolution: "@babel/plugin-transform-parameters@npm:7.27.7" dependencies: "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 52dd9db2be63ca954dbf86bba3f1dedce5f8bcf0cbc2b9ab26981b6f9c3ad5ea3a1b7ba286d18ae05d7487763f2bd086533826ee82f7b8d76873265569e45125 + checksum: d51f195e1d6ac5d9fce583e9a70a5bfe403e62386e5eb06db9fbc6533f895a98ff7e7c3dcaa311a8e6fa7a9794466e81cdabcba6af9f59d787fb767bfe7868b4 languageName: node linkType: hard @@ -1884,33 +1084,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.25.4": - version: 7.25.4 - resolution: "@babel/plugin-transform-private-methods@npm:7.25.4" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.25.4 - "@babel/helper-plugin-utils": ^7.24.8 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: cb1dabfc03e2977990263d65bc8f43a9037dffbb5d9a5f825c00d05447ff68015099408c1531d9dd88f18a41a90f5062dc48f3a1d52b415d2d2ee4827dedff09 - languageName: node - linkType: hard - -"@babel/plugin-transform-private-property-in-object@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.24.7" - dependencies: - "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-create-class-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-private-property-in-object": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 8cee9473095305cc787bb653fd681719b49363281feabf677db8a552e8e41c94441408055d7e5fd5c7d41b315e634fa70b145ad0c7c54456216049df4ed57350 - languageName: node - linkType: hard - -"@babel/plugin-transform-private-property-in-object@npm:^7.27.1": +"@babel/plugin-transform-private-property-in-object@npm:^7.24.7, @babel/plugin-transform-private-property-in-object@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-private-property-in-object@npm:7.27.1" dependencies: @@ -1923,17 +1097,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-property-literals@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 9aeefc3aab6c6bf9d1fae1cf3a2d38c7d886fd3c6c81b7c608c477f5758aee2e7abf52f32724310fe861da61af934ee2508b78a5b5f234b9740c9134e1c14437 - languageName: node - linkType: hard - "@babel/plugin-transform-property-literals@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-property-literals@npm:7.27.1" @@ -1945,25 +1108,25 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-display-name@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-display-name@npm:7.24.7" +"@babel/plugin-transform-react-display-name@npm:^7.24.7, @babel/plugin-transform-react-display-name@npm:^7.27.1": + version: 7.28.0 + resolution: "@babel/plugin-transform-react-display-name@npm:7.28.0" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a05bf83bf5e7b31f7a3b56da1bf8e2eeec76ef52ae44435ceff66363a1717fcda45b7b4b931a2c115982175f481fc3f2d0fab23f0a43c44e6d983afc396858f0 + checksum: 268b1a9192974439d17949e170b01cac2a2aa003c844e2fe3b8361146f42f66487178cffdfa8ce862aa9e6c814bc37f879a70300cb3f067815d15fa6aad04e6d languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-development@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-jsx-development@npm:7.24.7" +"@babel/plugin-transform-react-jsx-development@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.27.1" dependencies: - "@babel/plugin-transform-react-jsx": ^7.24.7 + "@babel/plugin-transform-react-jsx": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 653d32ea5accb12d016e324ec5a584b60a8f39e60c6a5101194b73553fdefbfa3c3f06ec2410216ec2033fddae181a2f146a1d6ed59f075c488fc4570cad2e7b + checksum: b88865d5b8c018992f2332da939faa15c4d4a864c9435a5937beaff3fe43781432cc42e0a5d5631098e0bd4066fc33f5fa72203b388b074c3545fe7aaa21e474 languageName: node linkType: hard @@ -1989,22 +1152,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.24.7": - version: 7.25.2 - resolution: "@babel/plugin-transform-react-jsx@npm:7.25.2" - dependencies: - "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-module-imports": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.8 - "@babel/plugin-syntax-jsx": ^7.24.7 - "@babel/types": ^7.25.2 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 44fbde046385916de19a88d77fed9121c6cc6e25b9cdc38a43d8e514a9b18cf391ed3de25e7d6a8996d3fe4c298e395edf856ee20efffaab3b70f8ce225fffa4 - languageName: node - linkType: hard - -"@babel/plugin-transform-react-jsx@npm:^7.25.2": +"@babel/plugin-transform-react-jsx@npm:^7.25.2, @babel/plugin-transform-react-jsx@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-react-jsx@npm:7.27.1" dependencies: @@ -2019,38 +1167,26 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-pure-annotations@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.24.7" - dependencies: - "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: d859ada3cbeb829fa3d9978a29b2d36657fcc9dcc1e4c3c3af84ec5a044a8f8db26ada406baa309e5d4d512aca53d07c520d991b891ff943bec7d8f01aae0419 - languageName: node - linkType: hard - -"@babel/plugin-transform-regenerator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-regenerator@npm:7.24.7" +"@babel/plugin-transform-react-pure-annotations@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - regenerator-transform: ^0.15.2 + "@babel/helper-annotate-as-pure": ^7.27.1 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 20c6c3fb6fc9f407829087316653388d311e8c1816b007609bb09aeef254092a7157adace8b3aaa8f34be752503717cb85c88a5fe482180a9b11bcbd676063be + checksum: a6f591c5e85a1ab0685d4a25afe591fe8d11dc0b73c677cf9560ff8d540d036a1cce9efcb729fc9092def4d854dc304ffdc063a89a9247900b69c516bf971a4c languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.27.1": - version: 7.27.5 - resolution: "@babel/plugin-transform-regenerator@npm:7.27.5" +"@babel/plugin-transform-regenerator@npm:^7.24.7, @babel/plugin-transform-regenerator@npm:^7.28.3": + version: 7.28.4 + resolution: "@babel/plugin-transform-regenerator@npm:7.28.4" dependencies: "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d343dbe491f2b2ef953ce990761006b8f1f9231044b3c244529d34335ba8337829e6d55cae0e4e9ec6d4952bc4875097c8776eee01119cd45529bc49e90c085f + checksum: 2aa99b3a7b254a109e913fabbe1fb320ff40723988fde0e225212b7ef20f523a399a6e45077258b176c29715493b2a853cf7c130811692215adf33e5af99782b languageName: node linkType: hard @@ -2066,17 +1202,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-reserved-words@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 3d5876954d5914d7270819479504f30c4bf5452a65c677f44e2dab2db50b3c9d4b47793c45dfad7abf4f377035dd79e4b3f554ae350df9f422201d370ce9f8dd - languageName: node - linkType: hard - "@babel/plugin-transform-reserved-words@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-reserved-words@npm:7.27.1" @@ -2089,33 +1214,22 @@ __metadata: linkType: hard "@babel/plugin-transform-runtime@npm:^7.24.7": - version: 7.27.4 - resolution: "@babel/plugin-transform-runtime@npm:7.27.4" + version: 7.28.3 + resolution: "@babel/plugin-transform-runtime@npm:7.28.3" dependencies: "@babel/helper-module-imports": ^7.27.1 "@babel/helper-plugin-utils": ^7.27.1 - babel-plugin-polyfill-corejs2: ^0.4.10 - babel-plugin-polyfill-corejs3: ^0.11.0 - babel-plugin-polyfill-regenerator: ^0.6.1 + babel-plugin-polyfill-corejs2: ^0.4.14 + babel-plugin-polyfill-corejs3: ^0.13.0 + babel-plugin-polyfill-regenerator: ^0.6.5 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 786d68e23eed9f8f0b1602f052b1ca81f97d4757ac1e3d089d60f6fd7a307185932c725e4fce35b4532773957a6748c620aef155ed1654b7badc196f830f73c0 - languageName: node - linkType: hard - -"@babel/plugin-transform-shorthand-properties@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 7b524245814607188212b8eb86d8c850e5974203328455a30881b4a92c364b93353fae14bc2af5b614ef16300b75b8c1d3b8f3a08355985b4794a7feb240adc3 + checksum: 63d2fc05d5bfcb96f31be54b095d72a89f0a03c8de10f5d742b18b174e2731bcdc27292e8deec66c2e88cebf8298393123d5e767526f6fffbc75cb8144ef66c6 languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.27.1": +"@babel/plugin-transform-shorthand-properties@npm:^7.24.7, @babel/plugin-transform-shorthand-properties@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-shorthand-properties@npm:7.27.1" dependencies: @@ -2126,19 +1240,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-spread@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 4c4254c8b9cceb1a8f975fa9b92257ddb08380a35c0a3721b8f4b9e13a3d82e403af2e0fba577b9f2452dd8f06bc3dea71cc53b1e2c6af595af5db52a13429d6 - languageName: node - linkType: hard - -"@babel/plugin-transform-spread@npm:^7.27.1": +"@babel/plugin-transform-spread@npm:^7.24.7, @babel/plugin-transform-spread@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-spread@npm:7.27.1" dependencies: @@ -2150,18 +1252,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 118fc7a7ebf7c20411b670c8a030535fdfe4a88bc5643bb625a584dbc4c8a468da46430a20e6bf78914246962b0f18f1b9d6a62561a7762c4f34a038a5a77179 - languageName: node - linkType: hard - -"@babel/plugin-transform-sticky-regex@npm:^7.27.1": +"@babel/plugin-transform-sticky-regex@npm:^7.24.7, @babel/plugin-transform-sticky-regex@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-sticky-regex@npm:7.27.1" dependencies: @@ -2173,98 +1264,50 @@ __metadata: linkType: hard "@babel/plugin-transform-strict-mode@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-strict-mode@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 514e847f6ba4bac825eb0e9ae697c6ae632041d887f6cc1167f9cb989924b2f8735ec040607a02083c3a03e62f1c8973ba59a2b106ca3b55c2e2c416b51e2372 - languageName: node - linkType: hard - -"@babel/plugin-transform-template-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-template-literals@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ad44e5826f5a98c1575832dbdbd033adfe683cdff195e178528ead62507564bf02f479b282976cfd3caebad8b06d5fd7349c1cdb880dec3c56daea4f1f179619 - languageName: node - linkType: hard - -"@babel/plugin-transform-template-literals@npm:^7.27.1": version: 7.27.1 - resolution: "@babel/plugin-transform-template-literals@npm:7.27.1" + resolution: "@babel/plugin-transform-strict-mode@npm:7.27.1" dependencies: "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 93aad782503b691faef7c0893372d5243df3219b07f1f22cfc32c104af6a2e7acd6102c128439eab15336d048f1b214ca134b87b0630d8cd568bf447f78b25ce - languageName: node - linkType: hard - -"@babel/plugin-transform-typeof-symbol@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.8" - dependencies: - "@babel/helper-plugin-utils": ^7.24.8 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 8663a8e7347cedf181001d99c88cf794b6598c3d82f324098510fe8fb8bd22113995526a77aa35a3cc5d70ffd0617a59dd0d10311a9bf0e1a3a7d3e59b900c00 + checksum: 0c5bbc9f913b2cea1a1f5697bac320f11575016eed2eee16d2430af5ddceff5382ad3f1b70bf7158ff458db38568a903fab03b308150753453354785365667ec languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.27.1": +"@babel/plugin-transform-template-literals@npm:^7.27.1": version: 7.27.1 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.27.1" + resolution: "@babel/plugin-transform-template-literals@npm:7.27.1" dependencies: "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ed8048c8de72c60969a64cf2273cc6d9275d8fa8db9bd25a1268273a00fb9cbd79931140311411bda1443aa56cb3961fb911d1795abacde7f0482f1d8fdf0356 - languageName: node - linkType: hard - -"@babel/plugin-transform-typescript@npm:^7.24.7": - version: 7.25.2 - resolution: "@babel/plugin-transform-typescript@npm:7.25.2" - dependencies: - "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-create-class-features-plugin": ^7.25.0 - "@babel/helper-plugin-utils": ^7.24.8 - "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7 - "@babel/plugin-syntax-typescript": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: b0267128d93560a4350919f7230a3b497e20fb8611d9f04bb3560d6b38877305ccad4c40903160263361c6930a84dbcb5b21b8ea923531bda51f67bffdc2dd0b + checksum: 93aad782503b691faef7c0893372d5243df3219b07f1f22cfc32c104af6a2e7acd6102c128439eab15336d048f1b214ca134b87b0630d8cd568bf447f78b25ce languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.25.2": +"@babel/plugin-transform-typeof-symbol@npm:^7.27.1": version: 7.27.1 - resolution: "@babel/plugin-transform-typescript@npm:7.27.1" + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": ^7.27.1 - "@babel/helper-create-class-features-plugin": ^7.27.1 "@babel/helper-plugin-utils": ^7.27.1 - "@babel/helper-skip-transparent-expression-wrappers": ^7.27.1 - "@babel/plugin-syntax-typescript": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 0037db32fedaacf42b5b3df774263bb7176d455859f77322f57135f7e50e457e5c95151280fc83bb9942fc1839e785489b098d73c9539d0f3c7dc9d42b3a8e86 + checksum: ed8048c8de72c60969a64cf2273cc6d9275d8fa8db9bd25a1268273a00fb9cbd79931140311411bda1443aa56cb3961fb911d1795abacde7f0482f1d8fdf0356 languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.24.7" +"@babel/plugin-transform-typescript@npm:^7.25.2, @babel/plugin-transform-typescript@npm:^7.27.1": + version: 7.28.0 + resolution: "@babel/plugin-transform-typescript@npm:7.28.0" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-annotate-as-pure": ^7.27.3 + "@babel/helper-create-class-features-plugin": ^7.27.1 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-skip-transparent-expression-wrappers": ^7.27.1 + "@babel/plugin-syntax-typescript": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4af0a193e1ddea6ff82b2b15cc2501b872728050bd625740b813c8062fec917d32d530ff6b41de56c15e7296becdf3336a58db81f5ca8e7c445c1306c52f3e01 + checksum: 14c1024bcd57fcd469d90cf0c15c3cd4e771e2eb2cd9afee3aa79b59c8ed103654f7c5c71cdb3bfe31c1d0cb08bfad8c80f5aa1d24b4b454bd21301d5925533d languageName: node linkType: hard @@ -2279,18 +1322,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.24.7" - dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: aae13350c50973f5802ca7906d022a6a0cc0e3aebac9122d0450bbd51e78252d4c2032ad69385e2759fcbdd3aac5d571bd7e26258907f51f8e1a51b53be626c2 - languageName: node - linkType: hard - "@babel/plugin-transform-unicode-property-regex@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.27.1" @@ -2303,19 +1334,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.24.7" - dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 1cb4e70678906e431da0a05ac3f8350025fee290304ad7482d9cfaa1ca67b2e898654de537c9268efbdad5b80d3ebadf42b4a88ea84609bd8a4cce7b11b48afd - languageName: node - linkType: hard - -"@babel/plugin-transform-unicode-regex@npm:^7.27.1": +"@babel/plugin-transform-unicode-regex@npm:^7.24.7, @babel/plugin-transform-unicode-regex@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-unicode-regex@npm:7.27.1" dependencies: @@ -2327,18 +1346,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.4": - version: 7.25.4 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.4" - dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.25.2 - "@babel/helper-plugin-utils": ^7.24.8 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 6d1a7e9fdde4ffc9a81c0e3f261b96a9a0dfe65da282ec96fe63b36c597a7389feac638f1df2a8a4f8c9128337bba8e984f934e9f19077930f33abf1926759ea - languageName: node - linkType: hard - "@babel/plugin-transform-unicode-sets-regex@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.27.1" @@ -2351,104 +1358,11 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:^7.25.2": - version: 7.25.4 - resolution: "@babel/preset-env@npm:7.25.4" - dependencies: - "@babel/compat-data": ^7.25.4 - "@babel/helper-compilation-targets": ^7.25.2 - "@babel/helper-plugin-utils": ^7.24.8 - "@babel/helper-validator-option": ^7.24.8 - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": ^7.25.3 - "@babel/plugin-bugfix-safari-class-field-initializer-scope": ^7.25.0 - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.25.0 - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.24.7 - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": ^7.25.0 - "@babel/plugin-proposal-private-property-in-object": 7.21.0-placeholder-for-preset-env.2 - "@babel/plugin-syntax-async-generators": ^7.8.4 - "@babel/plugin-syntax-class-properties": ^7.12.13 - "@babel/plugin-syntax-class-static-block": ^7.14.5 - "@babel/plugin-syntax-dynamic-import": ^7.8.3 - "@babel/plugin-syntax-export-namespace-from": ^7.8.3 - "@babel/plugin-syntax-import-assertions": ^7.24.7 - "@babel/plugin-syntax-import-attributes": ^7.24.7 - "@babel/plugin-syntax-import-meta": ^7.10.4 - "@babel/plugin-syntax-json-strings": ^7.8.3 - "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 - "@babel/plugin-syntax-numeric-separator": ^7.10.4 - "@babel/plugin-syntax-object-rest-spread": ^7.8.3 - "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 - "@babel/plugin-syntax-optional-chaining": ^7.8.3 - "@babel/plugin-syntax-private-property-in-object": ^7.14.5 - "@babel/plugin-syntax-top-level-await": ^7.14.5 - "@babel/plugin-syntax-unicode-sets-regex": ^7.18.6 - "@babel/plugin-transform-arrow-functions": ^7.24.7 - "@babel/plugin-transform-async-generator-functions": ^7.25.4 - "@babel/plugin-transform-async-to-generator": ^7.24.7 - "@babel/plugin-transform-block-scoped-functions": ^7.24.7 - "@babel/plugin-transform-block-scoping": ^7.25.0 - "@babel/plugin-transform-class-properties": ^7.25.4 - "@babel/plugin-transform-class-static-block": ^7.24.7 - "@babel/plugin-transform-classes": ^7.25.4 - "@babel/plugin-transform-computed-properties": ^7.24.7 - "@babel/plugin-transform-destructuring": ^7.24.8 - "@babel/plugin-transform-dotall-regex": ^7.24.7 - "@babel/plugin-transform-duplicate-keys": ^7.24.7 - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": ^7.25.0 - "@babel/plugin-transform-dynamic-import": ^7.24.7 - "@babel/plugin-transform-exponentiation-operator": ^7.24.7 - "@babel/plugin-transform-export-namespace-from": ^7.24.7 - "@babel/plugin-transform-for-of": ^7.24.7 - "@babel/plugin-transform-function-name": ^7.25.1 - "@babel/plugin-transform-json-strings": ^7.24.7 - "@babel/plugin-transform-literals": ^7.25.2 - "@babel/plugin-transform-logical-assignment-operators": ^7.24.7 - "@babel/plugin-transform-member-expression-literals": ^7.24.7 - "@babel/plugin-transform-modules-amd": ^7.24.7 - "@babel/plugin-transform-modules-commonjs": ^7.24.8 - "@babel/plugin-transform-modules-systemjs": ^7.25.0 - "@babel/plugin-transform-modules-umd": ^7.24.7 - "@babel/plugin-transform-named-capturing-groups-regex": ^7.24.7 - "@babel/plugin-transform-new-target": ^7.24.7 - "@babel/plugin-transform-nullish-coalescing-operator": ^7.24.7 - "@babel/plugin-transform-numeric-separator": ^7.24.7 - "@babel/plugin-transform-object-rest-spread": ^7.24.7 - "@babel/plugin-transform-object-super": ^7.24.7 - "@babel/plugin-transform-optional-catch-binding": ^7.24.7 - "@babel/plugin-transform-optional-chaining": ^7.24.8 - "@babel/plugin-transform-parameters": ^7.24.7 - "@babel/plugin-transform-private-methods": ^7.25.4 - "@babel/plugin-transform-private-property-in-object": ^7.24.7 - "@babel/plugin-transform-property-literals": ^7.24.7 - "@babel/plugin-transform-regenerator": ^7.24.7 - "@babel/plugin-transform-reserved-words": ^7.24.7 - "@babel/plugin-transform-shorthand-properties": ^7.24.7 - "@babel/plugin-transform-spread": ^7.24.7 - "@babel/plugin-transform-sticky-regex": ^7.24.7 - "@babel/plugin-transform-template-literals": ^7.24.7 - "@babel/plugin-transform-typeof-symbol": ^7.24.8 - "@babel/plugin-transform-unicode-escapes": ^7.24.7 - "@babel/plugin-transform-unicode-property-regex": ^7.24.7 - "@babel/plugin-transform-unicode-regex": ^7.24.7 - "@babel/plugin-transform-unicode-sets-regex": ^7.25.4 - "@babel/preset-modules": 0.1.6-no-external-plugins - babel-plugin-polyfill-corejs2: ^0.4.10 - babel-plugin-polyfill-corejs3: ^0.10.6 - babel-plugin-polyfill-regenerator: ^0.6.1 - core-js-compat: ^3.37.1 - semver: ^6.3.1 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 752be43f0b78a2eefe5007076aed3d21b505e1c09d134b61e7de8838f1bbb1e7af81023d39adb14b6eae23727fb5a9fd23f8115a44df043319be22319be17913 - languageName: node - linkType: hard - -"@babel/preset-env@npm:^7.25.3": - version: 7.27.2 - resolution: "@babel/preset-env@npm:7.27.2" +"@babel/preset-env@npm:^7.25.2, @babel/preset-env@npm:^7.25.3": + version: 7.28.3 + resolution: "@babel/preset-env@npm:7.28.3" dependencies: - "@babel/compat-data": ^7.27.2 + "@babel/compat-data": ^7.28.0 "@babel/helper-compilation-targets": ^7.27.2 "@babel/helper-plugin-utils": ^7.27.1 "@babel/helper-validator-option": ^7.27.1 @@ -2456,25 +1370,26 @@ __metadata: "@babel/plugin-bugfix-safari-class-field-initializer-scope": ^7.27.1 "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.27.1 "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.27.1 - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": ^7.27.1 + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": ^7.28.3 "@babel/plugin-proposal-private-property-in-object": 7.21.0-placeholder-for-preset-env.2 "@babel/plugin-syntax-import-assertions": ^7.27.1 "@babel/plugin-syntax-import-attributes": ^7.27.1 "@babel/plugin-syntax-unicode-sets-regex": ^7.18.6 "@babel/plugin-transform-arrow-functions": ^7.27.1 - "@babel/plugin-transform-async-generator-functions": ^7.27.1 + "@babel/plugin-transform-async-generator-functions": ^7.28.0 "@babel/plugin-transform-async-to-generator": ^7.27.1 "@babel/plugin-transform-block-scoped-functions": ^7.27.1 - "@babel/plugin-transform-block-scoping": ^7.27.1 + "@babel/plugin-transform-block-scoping": ^7.28.0 "@babel/plugin-transform-class-properties": ^7.27.1 - "@babel/plugin-transform-class-static-block": ^7.27.1 - "@babel/plugin-transform-classes": ^7.27.1 + "@babel/plugin-transform-class-static-block": ^7.28.3 + "@babel/plugin-transform-classes": ^7.28.3 "@babel/plugin-transform-computed-properties": ^7.27.1 - "@babel/plugin-transform-destructuring": ^7.27.1 + "@babel/plugin-transform-destructuring": ^7.28.0 "@babel/plugin-transform-dotall-regex": ^7.27.1 "@babel/plugin-transform-duplicate-keys": ^7.27.1 "@babel/plugin-transform-duplicate-named-capturing-groups-regex": ^7.27.1 "@babel/plugin-transform-dynamic-import": ^7.27.1 + "@babel/plugin-transform-explicit-resource-management": ^7.28.0 "@babel/plugin-transform-exponentiation-operator": ^7.27.1 "@babel/plugin-transform-export-namespace-from": ^7.27.1 "@babel/plugin-transform-for-of": ^7.27.1 @@ -2491,15 +1406,15 @@ __metadata: "@babel/plugin-transform-new-target": ^7.27.1 "@babel/plugin-transform-nullish-coalescing-operator": ^7.27.1 "@babel/plugin-transform-numeric-separator": ^7.27.1 - "@babel/plugin-transform-object-rest-spread": ^7.27.2 + "@babel/plugin-transform-object-rest-spread": ^7.28.0 "@babel/plugin-transform-object-super": ^7.27.1 "@babel/plugin-transform-optional-catch-binding": ^7.27.1 "@babel/plugin-transform-optional-chaining": ^7.27.1 - "@babel/plugin-transform-parameters": ^7.27.1 + "@babel/plugin-transform-parameters": ^7.27.7 "@babel/plugin-transform-private-methods": ^7.27.1 "@babel/plugin-transform-private-property-in-object": ^7.27.1 "@babel/plugin-transform-property-literals": ^7.27.1 - "@babel/plugin-transform-regenerator": ^7.27.1 + "@babel/plugin-transform-regenerator": ^7.28.3 "@babel/plugin-transform-regexp-modifiers": ^7.27.1 "@babel/plugin-transform-reserved-words": ^7.27.1 "@babel/plugin-transform-shorthand-properties": ^7.27.1 @@ -2512,27 +1427,27 @@ __metadata: "@babel/plugin-transform-unicode-regex": ^7.27.1 "@babel/plugin-transform-unicode-sets-regex": ^7.27.1 "@babel/preset-modules": 0.1.6-no-external-plugins - babel-plugin-polyfill-corejs2: ^0.4.10 - babel-plugin-polyfill-corejs3: ^0.11.0 - babel-plugin-polyfill-regenerator: ^0.6.1 - core-js-compat: ^3.40.0 + babel-plugin-polyfill-corejs2: ^0.4.14 + babel-plugin-polyfill-corejs3: ^0.13.0 + babel-plugin-polyfill-regenerator: ^0.6.5 + core-js-compat: ^3.43.0 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 318b123c8783ac3833bde5a5ff315970967ccd4c1e5c97e0843c0199fe9eab48a8cb40b367b784ae19a33667bee63eb8533eb924dab05bfc92ff9ef436109001 + checksum: c4e70f69b727d21eedd4de201ac082e951482f2d28a388e401e7937fd6f15bc1a49a63c12f59e87a18d237ac037a5b29d983f3bb82f1196d6444ae5b605ac6e2 languageName: node linkType: hard "@babel/preset-flow@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/preset-flow@npm:7.24.7" + version: 7.27.1 + resolution: "@babel/preset-flow@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-validator-option": ^7.24.7 - "@babel/plugin-transform-flow-strip-types": ^7.24.7 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-validator-option": ^7.27.1 + "@babel/plugin-transform-flow-strip-types": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4caca02a6e0a477eb22994d686a1fbf65b5ab0240ae77530696434dba7efff4c5dcbf9186a774168dd4c492423141a22af3f2874c356aa22429f3c83eaf34419 + checksum: f3f25b390debf72a6ff0170a2d5198aea344ba96f05eaca0bae2c7072119706fd46321604d89646bda1842527cfc6eab8828a983ec90149218d2120b9cd26596 languageName: node linkType: hard @@ -2550,64 +1465,44 @@ __metadata: linkType: hard "@babel/preset-react@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/preset-react@npm:7.24.7" + version: 7.27.1 + resolution: "@babel/preset-react@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-validator-option": ^7.24.7 - "@babel/plugin-transform-react-display-name": ^7.24.7 - "@babel/plugin-transform-react-jsx": ^7.24.7 - "@babel/plugin-transform-react-jsx-development": ^7.24.7 - "@babel/plugin-transform-react-pure-annotations": ^7.24.7 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-validator-option": ^7.27.1 + "@babel/plugin-transform-react-display-name": ^7.27.1 + "@babel/plugin-transform-react-jsx": ^7.27.1 + "@babel/plugin-transform-react-jsx-development": ^7.27.1 + "@babel/plugin-transform-react-pure-annotations": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 76d0365b6bca808be65c4ccb3f3384c0792084add15eb537f16b3e44184216b82fa37f945339b732ceee6f06e09ba1f39f75c45e69b9811ddcc479f05555ea9c + checksum: 00bc146f9c742eed804c598d3f31b7d889c1baf8c768989b7f84a93ca527dd1518d3b86781e89ca45cae6dbee136510d3a121658e01416c5578aecf751517bb5 languageName: node linkType: hard "@babel/preset-typescript@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/preset-typescript@npm:7.24.7" + version: 7.27.1 + resolution: "@babel/preset-typescript@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-validator-option": ^7.24.7 - "@babel/plugin-syntax-jsx": ^7.24.7 - "@babel/plugin-transform-modules-commonjs": ^7.24.7 - "@babel/plugin-transform-typescript": ^7.24.7 + "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-validator-option": ^7.27.1 + "@babel/plugin-syntax-jsx": ^7.27.1 + "@babel/plugin-transform-modules-commonjs": ^7.27.1 + "@babel/plugin-transform-typescript": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 12929b24757f3bd6548103475f86478eda4c872bc7cefd920b29591eee8f4a4f350561d888e133d632d0c9402b8615fdcec9138e5127a6567dcb22f804ff207f - languageName: node - linkType: hard - -"@babel/regjsgen@npm:^0.8.0": - version: 0.8.0 - resolution: "@babel/regjsgen@npm:0.8.0" - checksum: 89c338fee774770e5a487382170711014d49a68eb281e74f2b5eac88f38300a4ad545516a7786a8dd5702e9cf009c94c2f582d200f077ac5decd74c56b973730 - languageName: node - linkType: hard - -"@babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.8.4": - version: 7.25.6 - resolution: "@babel/runtime@npm:7.25.6" - dependencies: - regenerator-runtime: ^0.14.0 - checksum: ee1a69d3ac7802803f5ee6a96e652b78b8addc28c6a38c725a4ad7d61a059d9e6cb9f6550ed2f63cce67a1bd82e0b1ef66a1079d895be6bfb536a5cfbd9ccc32 + checksum: 38020f1b23e88ec4fbffd5737da455d8939244bddfb48a2516aef93fb5947bd9163fb807ce6eff3e43fa5ffe9113aa131305fef0fb5053998410bbfcfe6ce0ec languageName: node linkType: hard -"@babel/template@npm:^7.0.0, @babel/template@npm:^7.24.7, @babel/template@npm:^7.25.0, @babel/template@npm:^7.3.3": - version: 7.25.0 - resolution: "@babel/template@npm:7.25.0" - dependencies: - "@babel/code-frame": ^7.24.7 - "@babel/parser": ^7.25.0 - "@babel/types": ^7.25.0 - checksum: 3f2db568718756d0daf2a16927b78f00c425046b654cd30b450006f2e84bdccaf0cbe6dc04994aa1f5f6a4398da2f11f3640a4d3ee31722e43539c4c919c817b +"@babel/runtime@npm:^7.25.0": + version: 7.28.4 + resolution: "@babel/runtime@npm:7.28.4" + checksum: 934b0a0460f7d06637d93fcd1a44ac49adc33518d17253b5a0b55ff4cb90a45d8fe78bf034b448911dbec7aff2a90b918697559f78d21c99ff8dbadae9565b55 languageName: node linkType: hard -"@babel/template@npm:^7.27.1, @babel/template@npm:^7.27.2": +"@babel/template@npm:^7.0.0, @babel/template@npm:^7.25.0, @babel/template@npm:^7.27.1, @babel/template@npm:^7.27.2, @babel/template@npm:^7.3.3": version: 7.27.2 resolution: "@babel/template@npm:7.27.2" dependencies: @@ -2618,54 +1513,28 @@ __metadata: languageName: node linkType: hard -"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3, @babel/traverse@npm:^7.20.0, @babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.24.8, @babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.1, @babel/traverse@npm:^7.25.2, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.25.4": - version: 7.25.6 - resolution: "@babel/traverse@npm:7.25.6" - dependencies: - "@babel/code-frame": ^7.24.7 - "@babel/generator": ^7.25.6 - "@babel/parser": ^7.25.6 - "@babel/template": ^7.25.0 - "@babel/types": ^7.25.6 - debug: ^4.3.1 - globals: ^11.1.0 - checksum: 11ee47269aa4356f2d6633a05b9af73405b5ed72c09378daf644289b686ef852035a6ac9aa410f601991993c6bbf72006795b5478283b78eb1ca77874ada7737 - languageName: node - linkType: hard - -"@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.27.3": - version: 7.27.4 - resolution: "@babel/traverse@npm:7.27.4" +"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3, @babel/traverse@npm:^7.20.0, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.0, @babel/traverse@npm:^7.28.3, @babel/traverse@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/traverse@npm:7.28.4" dependencies: "@babel/code-frame": ^7.27.1 - "@babel/generator": ^7.27.3 - "@babel/parser": ^7.27.4 + "@babel/generator": ^7.28.3 + "@babel/helper-globals": ^7.28.0 + "@babel/parser": ^7.28.4 "@babel/template": ^7.27.2 - "@babel/types": ^7.27.3 + "@babel/types": ^7.28.4 debug: ^4.3.1 - globals: ^11.1.0 - checksum: ae0047fe786e200ffb048929347b074988e8b68decdb9fc0e2b36ca3e137d72462f349fa0e6193e44fb3cb99f9c639654515028995b44d7040707cef48ddb5c1 - languageName: node - linkType: hard - -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.6, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": - version: 7.25.6 - resolution: "@babel/types@npm:7.25.6" - dependencies: - "@babel/helper-string-parser": ^7.24.8 - "@babel/helper-validator-identifier": ^7.24.7 - to-fast-properties: ^2.0.0 - checksum: 9b2f84ff3f874ad05b0b9bf06862c56f478b65781801f82296b4cc01bee39e79c20a7c0a06959fed0ee582c8267e1cb21638318655c5e070b0287242a844d1c9 + checksum: d603b8ce4e55ba4fc7b28d3362cc2b1b20bc887e471c8a59fe87b2578c26803c9ef8fcd118081dd8283ea78e0e9a6df9d88c8520033c6aaf81eec30d2a669151 languageName: node linkType: hard -"@babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3": - version: 7.27.6 - resolution: "@babel/types@npm:7.27.6" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.4, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": + version: 7.28.4 + resolution: "@babel/types@npm:7.28.4" dependencies: "@babel/helper-string-parser": ^7.27.1 "@babel/helper-validator-identifier": ^7.27.1 - checksum: c3bd0984d892b0edec38fd12cf63f620bb52fba8187ec7cbe2d1aff5bee5e185e0fd86a3fb90b4d8f18b072113d07901476d0e39f58d5c988db14b231a6ea735 + checksum: a369b4fb73415a2ed902a15576b49696ae9777ddee394a7a904c62e6fbb31f43906b0147ae0b8f03ac17f20c248eac093df349e33c65c94617b12e524b759694 languageName: node linkType: hard @@ -2894,42 +1763,24 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0": - version: 4.4.0 - resolution: "@eslint-community/eslint-utils@npm:4.4.0" - dependencies: - eslint-visitor-keys: ^3.3.0 - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: cdfe3ae42b4f572cbfb46d20edafe6f36fc5fb52bf2d90875c58aefe226892b9677fef60820e2832caf864a326fe4fc225714c46e8389ccca04d5f9288aabd22 - languageName: node - linkType: hard - -"@eslint-community/eslint-utils@npm:^4.4.0": - version: 4.4.1 - resolution: "@eslint-community/eslint-utils@npm:4.4.1" +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0, @eslint-community/eslint-utils@npm:^4.7.0": + version: 4.9.0 + resolution: "@eslint-community/eslint-utils@npm:4.9.0" dependencies: eslint-visitor-keys: ^3.4.3 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: a7ffc838eb6a9ef594cda348458ccf38f34439ac77dc090fa1c120024bcd4eb911dfd74d5ef44d42063e7949fa7c5123ce714a015c4abb917d4124be1bd32bfe + checksum: ae9b98eea006d1354368804b0116b8b45017a4e47b486d1b9cfa048a8ed3dc69b9b074eb2b2acb14034e6897c24048fd42b6a6816d9dc8bb9daad79db7d478d2 languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.10.0": +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1": version: 4.12.1 resolution: "@eslint-community/regexpp@npm:4.12.1" checksum: 0d628680e204bc316d545b4993d3658427ca404ae646ce541fcc65306b8c712c340e5e573e30fb9f85f4855c0c5f6dca9868931f2fcced06417fbe1a0c6cd2d6 languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.6.1": - version: 4.11.1 - resolution: "@eslint-community/regexpp@npm:4.11.1" - checksum: 6986685529d30e33c2640973c3d8e7ddd31bef3cc8cb10ad54ddc1dea12680779a2c23a45562aa1462c488137a3570e672d122fac7da22d82294382d915cec70 - languageName: node - linkType: hard - "@eslint/eslintrc@npm:^2.1.4": version: 2.1.4 resolution: "@eslint/eslintrc@npm:2.1.4" @@ -2955,25 +1806,25 @@ __metadata: linkType: hard "@evilmartians/lefthook@npm:^1.5.0": - version: 1.7.18 - resolution: "@evilmartians/lefthook@npm:1.7.18" + version: 1.13.6 + resolution: "@evilmartians/lefthook@npm:1.13.6" bin: lefthook: bin/index.js - checksum: 2adb3358571c2c722f20976d3846b81a989e7d9811021fde8ef15c73d395646d9be65ecbf52a53d6ec37ddb9e48f99db2ceb36e557f5f2da82ed8025f8f57548 + checksum: 6cceca3e874015678f50818ae14a74d959816cfaba6638f8852d007332404d6819b15c71538985a3650a1ef057aa6975c17fadfe43ece7a0da1aeb9faaf02946 conditions: (os=darwin | os=linux | os=win32) & (cpu=x64 | cpu=arm64 | cpu=ia32) languageName: node linkType: hard "@gerrit0/mini-shiki@npm:^3.12.0": - version: 3.13.0 - resolution: "@gerrit0/mini-shiki@npm:3.13.0" + version: 3.13.1 + resolution: "@gerrit0/mini-shiki@npm:3.13.1" dependencies: "@shikijs/engine-oniguruma": ^3.13.0 "@shikijs/langs": ^3.13.0 "@shikijs/themes": ^3.13.0 "@shikijs/types": ^3.13.0 "@shikijs/vscode-textmate": ^10.0.2 - checksum: 748d28e2dce67fac31cf36e97d849fc2bc60762b98a13c7bb50b6be181656c12ea58c5c6af7955fee99018b53fc9fd72dbf3a0552de7ad5845688b6c03312270 + checksum: e8a76c6091deb7ed67906e3966301ea7d51ecaad09fc1e189cd15df4f0b4f9f65e643b1f5f4545961b2552ba4fa45c4fe27020ea32ab82d10b26fe0ab5418c93 languageName: node linkType: hard @@ -3033,9 +1884,9 @@ __metadata: linkType: hard "@inquirer/figures@npm:^1.0.3": - version: 1.0.12 - resolution: "@inquirer/figures@npm:1.0.12" - checksum: db4446e45adb921686bda06ee3bfb0e96d0b656569392613042c67e7ba4b4b15c04459b22e2e2a9ef3750b34b7fcab6a784114c64922d3d211558cc8b5458027 + version: 1.0.14 + resolution: "@inquirer/figures@npm:1.0.14" + checksum: 37eec986f119eabb6c231c8c1481c6a48ab2347e9f57b2d6442161f7b83936678221fccb7ead60582026c2ae20d457467d0727c485ff53aee2cf965077b0f51b languageName: node linkType: hard @@ -3053,6 +1904,15 @@ __metadata: languageName: node linkType: hard +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: ^7.0.4 + checksum: 5d36d289960e886484362d9eb6a51d1ea28baed5f5d0140bbe62b99bac52eaf06cc01c2bc0d3575977962f84f6b2c4387b043ee632216643d4787b0999465bf2 + languageName: node + linkType: hard + "@isaacs/ttlcache@npm:^1.4.1": version: 1.4.1 resolution: "@isaacs/ttlcache@npm:1.4.1" @@ -3094,10 +1954,10 @@ __metadata: "@react-native/eslint-config": 0.79.3 "@react-native/metro-config": 0.79.3 "@react-native/typescript-config": 0.79.3 - "@react-navigation/bottom-tabs": ^6.6.1 - "@react-navigation/native": ^6.0.8 - "@react-navigation/native-stack": ^6.11.0 - "@react-navigation/stack": ^6.3.21 + "@react-navigation/bottom-tabs": ^7.0.0 + "@react-navigation/native": ^7.1.14 + "@react-navigation/native-stack": ^7.0.0 + "@react-navigation/stack": ^7.4.2 "@types/jest": ^29.5.13 "@types/react": ^19.0.0 "@types/react-test-renderer": ^19.0.0 @@ -3105,10 +1965,10 @@ __metadata: react-native: 0.79.3 react-native-builder-bob: ^0.30.2 react-native-dotenv: ^3.4.11 - react-native-gesture-handler: ^2.24.0 - react-native-safe-area-context: ^5.1.0 - react-native-screens: ^4.9.1 - react-native-webview: ^13.13.1 + react-native-gesture-handler: ^2.26.0 + react-native-safe-area-context: ^5.4.0 + react-native-screens: ^4.10.0 + react-native-webview: ^13.14.1 react-test-renderer: 19.0.0 languageName: unknown linkType: soft @@ -3124,7 +1984,7 @@ __metadata: "@react-native/metro-config": 0.79.3 "@react-native/typescript-config": 0.79.3 "@react-navigation/native": ^7.1.14 - "@release-it/conventional-changelog": ^9.0.2 + "@release-it/conventional-changelog": ^9.0.4 "@testing-library/jest-native": ^5.4.3 "@testing-library/react-native": ^13.3.3 "@types/jest": ^29.5.5 @@ -3442,14 +2302,23 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.5": - version: 0.3.5 - resolution: "@jridgewell/gen-mapping@npm:0.3.5" +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.13 + resolution: "@jridgewell/gen-mapping@npm:0.3.13" + dependencies: + "@jridgewell/sourcemap-codec": ^1.5.0 + "@jridgewell/trace-mapping": ^0.3.24 + checksum: f2105acefc433337145caa3c84bba286de954f61c0bc46279bbd85a9e6a02871089717fa060413cfb6a9d44189fe8313b2d1cabf3a2eb3284d208fd5f75c54ff + languageName: node + linkType: hard + +"@jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" dependencies: - "@jridgewell/set-array": ^1.2.1 - "@jridgewell/sourcemap-codec": ^1.4.10 + "@jridgewell/gen-mapping": ^0.3.5 "@jridgewell/trace-mapping": ^0.3.24 - checksum: ff7a1764ebd76a5e129c8890aa3e2f46045109dabde62b0b6c6a250152227647178ff2069ea234753a690d8f3c4ac8b5e7b267bbee272bffb7f3b0a370ab6e52 + checksum: 4a66a7397c3dc9c6b5c14a0024b1f98c5e1d90a0dbc1e5955b5038f2db339904df2a0ee8a66559fafb4fc23ff33700a2639fd40bbdd2e9e82b58b3bdf83738e3 languageName: node linkType: hard @@ -3460,37 +2329,30 @@ __metadata: languageName: node linkType: hard -"@jridgewell/set-array@npm:^1.2.1": - version: 1.2.1 - resolution: "@jridgewell/set-array@npm:1.2.1" - checksum: 832e513a85a588f8ed4f27d1279420d8547743cc37fcad5a5a76fc74bb895b013dfe614d0eed9cb860048e6546b798f8f2652020b4b2ba0561b05caa8c654b10 - languageName: node - linkType: hard - "@jridgewell/source-map@npm:^0.3.3": - version: 0.3.6 - resolution: "@jridgewell/source-map@npm:0.3.6" + version: 0.3.11 + resolution: "@jridgewell/source-map@npm:0.3.11" dependencies: "@jridgewell/gen-mapping": ^0.3.5 "@jridgewell/trace-mapping": ^0.3.25 - checksum: c9dc7d899397df95e3c9ec287b93c0b56f8e4453cd20743e2b9c8e779b1949bc3cccf6c01bb302779e46560eb45f62ea38d19fedd25370d814734268450a9f30 + checksum: c8a0011cc67e701f270fa042e32b312f382c413bcc70ca9c03684687cbf5b64d5eed87d4afa36dddaabe60ab3da6db4935f878febd9cfc7f82724ea1a114d344 languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": - version: 1.5.0 - resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" - checksum: 05df4f2538b3b0f998ea4c1cd34574d0feba216fa5d4ccaef0187d12abf82eafe6021cec8b49f9bb4d90f2ba4582ccc581e72986a5fcf4176ae0cfeb04cf52ec +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.5 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" + checksum: c2e36e67971f719a8a3a85ef5a5f580622437cc723c35d03ebd0c9c0b06418700ef006f58af742791f71f6a4fc68fcfaf1f6a74ec2f9a3332860e9373459dae7 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": - version: 0.3.25 - resolution: "@jridgewell/trace-mapping@npm:0.3.25" +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28": + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" dependencies: "@jridgewell/resolve-uri": ^3.1.0 "@jridgewell/sourcemap-codec": ^1.4.14 - checksum: 9d3c40d225e139987b50c48988f8717a54a8c994d8a948ee42e1412e08988761d0754d7d10b803061cc3aebf35f92a5dbbab493bd0e1a9ef9e89a2130e83ba34 + checksum: af8fda2431348ad507fbddf8e25f5d08c79ecc94594061ce402cf41bc5aba1a7b3e59bf0fd70a619b35f33983a3f488ceeba8faf56bff784f98bb5394a8b7d47 languageName: node linkType: hard @@ -3549,25 +2411,25 @@ __metadata: languageName: node linkType: hard -"@npmcli/agent@npm:^2.0.0": - version: 2.2.2 - resolution: "@npmcli/agent@npm:2.2.2" +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" dependencies: agent-base: ^7.1.0 http-proxy-agent: ^7.0.0 https-proxy-agent: ^7.0.1 lru-cache: ^10.0.1 socks-proxy-agent: ^8.0.3 - checksum: 67de7b88cc627a79743c88bab35e023e23daf13831a8aa4e15f998b92f5507b644d8ffc3788afc8e64423c612e0785a6a92b74782ce368f49a6746084b50d874 + checksum: e8fc25d536250ed3e669813b36e8c6d805628b472353c57afd8c4fde0fcfcf3dda4ffe22f7af8c9070812ec2e7a03fb41d7151547cef3508efe661a5a3add20f languageName: node linkType: hard -"@npmcli/fs@npm:^3.1.0": - version: 3.1.1 - resolution: "@npmcli/fs@npm:3.1.1" +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" dependencies: semver: ^7.3.5 - checksum: d960cab4b93adcb31ce223bfb75c5714edbd55747342efb67dcc2f25e023d930a7af6ece3e75f2f459b6f38fc14d031c766f116cd124fdc937fd33112579e820 + checksum: 68951c589e9a4328698a35fd82fe71909a257d6f2ede0434d236fa55634f0fbcad9bb8755553ce5849bd25ee6f019f4d435921ac715c853582c4a7f5983c8d4a languageName: node linkType: hard @@ -3703,10 +2565,10 @@ __metadata: languageName: node linkType: hard -"@pkgr/core@npm:^0.1.0": - version: 0.1.1 - resolution: "@pkgr/core@npm:0.1.1" - checksum: 6f25fd2e3008f259c77207ac9915b02f1628420403b2630c92a07ff963129238c9262afc9e84344c7a23b5cc1f3965e2cd17e3798219f5fd78a63d144d3cceba +"@pkgr/core@npm:^0.2.9": + version: 0.2.9 + resolution: "@pkgr/core@npm:0.2.9" + checksum: bb2fb86977d63f836f8f5b09015d74e6af6488f7a411dcd2bfdca79d76b5a681a9112f41c45bdf88a9069f049718efc6f3900d7f1de66a2ec966068308ae517f languageName: node linkType: hard @@ -4150,36 +3012,19 @@ __metadata: languageName: node linkType: hard -"@react-navigation/bottom-tabs@npm:^6.6.1": - version: 6.6.1 - resolution: "@react-navigation/bottom-tabs@npm:6.6.1" +"@react-navigation/bottom-tabs@npm:^7.0.0": + version: 7.4.9 + resolution: "@react-navigation/bottom-tabs@npm:7.4.9" dependencies: - "@react-navigation/elements": ^1.3.31 + "@react-navigation/elements": ^2.6.5 color: ^4.2.3 - warn-once: ^0.1.0 peerDependencies: - "@react-navigation/native": ^6.0.0 - react: "*" + "@react-navigation/native": ^7.1.18 + react: ">= 18.2.0" react-native: "*" - react-native-safe-area-context: ">= 3.0.0" - react-native-screens: ">= 3.0.0" - checksum: 07d6da4b91d7f372b67bcb9f1ff97fba96f1fe226bd95d43d7877362ce71d99c6eebe9ca41d84ea8828f055713386262e089a8207a6c849f33bae49b4df4b196 - languageName: node - linkType: hard - -"@react-navigation/core@npm:^6.4.17": - version: 6.4.17 - resolution: "@react-navigation/core@npm:6.4.17" - dependencies: - "@react-navigation/routers": ^6.1.9 - escape-string-regexp: ^4.0.0 - nanoid: ^3.1.23 - query-string: ^7.1.3 - react-is: ^16.13.0 - use-latest-callback: ^0.2.1 - peerDependencies: - react: "*" - checksum: 5e7315bb6ebff8e796eaccb0442d00696466750cc387e93f5edb5293d4ad3f409c1525ef76192894488e2d0979b762b236a1b0fbbb7500b2f065bf4745d509c0 + react-native-safe-area-context: ">= 4.0.0" + react-native-screens: ">= 4.0.0" + checksum: 6476a8bc5851be828f044447b843563a802288c87dedc17f23a1ad7001009a6ff3d506acafb3a65e9cf71948ce044527d6357ee4c9707c91b4024a08b3a8f2ac languageName: node linkType: hard @@ -4200,52 +3045,45 @@ __metadata: languageName: node linkType: hard -"@react-navigation/elements@npm:^1.3.31": - version: 1.3.31 - resolution: "@react-navigation/elements@npm:1.3.31" - peerDependencies: - "@react-navigation/native": ^6.0.0 - react: "*" - react-native: "*" - react-native-safe-area-context: ">= 3.0.0" - checksum: 1e4a65ccd9fab757d01bf41f605aafd6ca8301ae25ad7d3f1769320793418cca9fe2f25ac9337578ce1e0a1560bbbc3a88f18b899867aacd4d31de7a789e417e - languageName: node - linkType: hard - -"@react-navigation/native-stack@npm:^6.11.0": - version: 6.11.0 - resolution: "@react-navigation/native-stack@npm:6.11.0" +"@react-navigation/elements@npm:^2.6.5": + version: 2.6.5 + resolution: "@react-navigation/elements@npm:2.6.5" dependencies: - "@react-navigation/elements": ^1.3.31 - warn-once: ^0.1.0 + color: ^4.2.3 + use-latest-callback: ^0.2.4 + use-sync-external-store: ^1.5.0 peerDependencies: - "@react-navigation/native": ^6.0.0 - react: "*" + "@react-native-masked-view/masked-view": ">= 0.2.0" + "@react-navigation/native": ^7.1.18 + react: ">= 18.2.0" react-native: "*" - react-native-safe-area-context: ">= 3.0.0" - react-native-screens: ">= 3.0.0" - checksum: d3dd57c216f5dbe53636bdb9aa48fe27831640f868cf5c68731943a49b68cb457d81182e7868f3e3033da0564e9f193f1b06b69085b8bc5b04ccfbe12ea2bbc0 + react-native-safe-area-context: ">= 4.0.0" + peerDependenciesMeta: + "@react-native-masked-view/masked-view": + optional: true + checksum: ed6542b9dfaf04693445bb847651cc6bfdac5c2ffb687c1a5dcc473a05d12cd5e951c3ef5df854978aa93b6ced0bab1bbe94390df10cf24f2e3f9b72688661fb languageName: node linkType: hard -"@react-navigation/native@npm:^6.0.8": - version: 6.1.18 - resolution: "@react-navigation/native@npm:6.1.18" +"@react-navigation/native-stack@npm:^7.0.0": + version: 7.3.28 + resolution: "@react-navigation/native-stack@npm:7.3.28" dependencies: - "@react-navigation/core": ^6.4.17 - escape-string-regexp: ^4.0.0 - fast-deep-equal: ^3.1.3 - nanoid: ^3.1.23 + "@react-navigation/elements": ^2.6.5 + warn-once: ^0.1.1 peerDependencies: - react: "*" + "@react-navigation/native": ^7.1.18 + react: ">= 18.2.0" react-native: "*" - checksum: 82aeea67723f5dc41403e1c260f04942696f6cde95e30629c383521c3837d18d2d5c21bd78f0ade50beb81ac5edca2d7d38980dcd3a79e3acc86f45d0c09a4b8 + react-native-safe-area-context: ">= 4.0.0" + react-native-screens: ">= 4.0.0" + checksum: 7cefd3b10f531de8abacb77e5152727a320e5d68e41c721bb82bb8202184fe0850f17416dd1be2229bc513577f8dbcfd6f3c131f92ce7f3f62842c76995bfe6b languageName: node linkType: hard "@react-navigation/native@npm:^7.1.14": - version: 7.1.17 - resolution: "@react-navigation/native@npm:7.1.17" + version: 7.1.18 + resolution: "@react-navigation/native@npm:7.1.18" dependencies: "@react-navigation/core": ^7.12.4 escape-string-regexp: ^4.0.0 @@ -4255,16 +3093,7 @@ __metadata: peerDependencies: react: ">= 18.2.0" react-native: "*" - checksum: f0caa70f777c32861ce23a834d3afe6891c7829016649bf1491ba6b540fd4443dd6c5e6d8b44f58b92efed6074ea986e04b88ff84e9e19c09d68d9302ebd977a - languageName: node - linkType: hard - -"@react-navigation/routers@npm:^6.1.9": - version: 6.1.9 - resolution: "@react-navigation/routers@npm:6.1.9" - dependencies: - nanoid: ^3.1.23 - checksum: 3a3392ce095d6a2bd2aad69856f513b35774f943a3dc73d8ffb75127de6773203e3264188d87058bdea4c0c9a7d43ed28d0cbf3a1f1cdc086df3ee255d8e1e27 + checksum: c7f0f6ae439a4d74cc7f42fe693aa014acdaaf3205c07cf40448eac5ef0417a307a08da0b8ad79516028182e3377c77332e40697874ceee3bd8ec52be7f8d459 languageName: node linkType: hard @@ -4277,25 +3106,24 @@ __metadata: languageName: node linkType: hard -"@react-navigation/stack@npm:^6.3.21": - version: 6.4.1 - resolution: "@react-navigation/stack@npm:6.4.1" +"@react-navigation/stack@npm:^7.4.2": + version: 7.4.10 + resolution: "@react-navigation/stack@npm:7.4.10" dependencies: - "@react-navigation/elements": ^1.3.31 + "@react-navigation/elements": ^2.6.5 color: ^4.2.3 - warn-once: ^0.1.0 peerDependencies: - "@react-navigation/native": ^6.0.0 - react: "*" + "@react-navigation/native": ^7.1.18 + react: ">= 18.2.0" react-native: "*" - react-native-gesture-handler: ">= 1.0.0" - react-native-safe-area-context: ">= 3.0.0" - react-native-screens: ">= 3.0.0" - checksum: 09bcfb001db0f411df881da9f2551b7015c4d5259a77fcb93196de308838035d016dc4dcb654d16d9cd4cc99f09f5e48add796aa903f9a253678947c35b18199 + react-native-gesture-handler: ">= 2.0.0" + react-native-safe-area-context: ">= 4.0.0" + react-native-screens: ">= 4.0.0" + checksum: 4516f6263be71df7060cd590ba763c768aa86aee723fae46a95cbda22bb3737143bf73597bb2f2f1633ca4c88e782f070d8a8db61ef8016b82d5a046b734be77 languageName: node linkType: hard -"@release-it/conventional-changelog@npm:^9.0.2": +"@release-it/conventional-changelog@npm:^9.0.4": version: 9.0.4 resolution: "@release-it/conventional-changelog@npm:9.0.4" dependencies: @@ -4475,11 +3303,11 @@ __metadata: linkType: hard "@types/babel__generator@npm:*": - version: 7.6.8 - resolution: "@types/babel__generator@npm:7.6.8" + version: 7.27.0 + resolution: "@types/babel__generator@npm:7.27.0" dependencies: "@babel/types": ^7.0.0 - checksum: 5b332ea336a2efffbdeedb92b6781949b73498606ddd4205462f7d96dafd45ff3618770b41de04c4881e333dd84388bfb8afbdf6f2764cbd98be550d85c6bb48 + checksum: e6739cacfa276c1ad38e1d8a6b4b1f816c2c11564e27f558b68151728489aaf0f4366992107ee4ed7615dfa303f6976dedcdce93df2b247116d1bcd1607ee260 languageName: node linkType: hard @@ -4494,11 +3322,11 @@ __metadata: linkType: hard "@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": - version: 7.20.6 - resolution: "@types/babel__traverse@npm:7.20.6" + version: 7.28.0 + resolution: "@types/babel__traverse@npm:7.28.0" dependencies: - "@babel/types": ^7.20.7 - checksum: 2bdc65eb62232c2d5c1086adeb0c31e7980e6fd7e50a3483b4a724a1a1029c84d9cb59749cf8de612f9afa2bc14c85b8f50e64e21f8a4398fa77eb9059a4283c + "@babel/types": ^7.28.2 + checksum: e3124e6575b2f70de338eab8a9c704d315a86c46a8e395b6ec78a0157ab7b5fd877289556a57dcf28e4ff3543714e359cc1182d4afc4bcb4f3575a0bbafa0dad languageName: node linkType: hard @@ -4561,7 +3389,7 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:^29.5.13": +"@types/jest@npm:^29.5.13, @types/jest@npm:^29.5.5": version: 29.5.14 resolution: "@types/jest@npm:29.5.14" dependencies: @@ -4571,16 +3399,6 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:^29.5.5": - version: 29.5.13 - resolution: "@types/jest@npm:29.5.13" - dependencies: - expect: ^29.0.0 - pretty-format: ^29.0.0 - checksum: 875ac23c2398cdcf22aa56c6ba24560f11d2afda226d4fa23936322dde6202f9fdbd2b91602af51c27ecba223d9fc3c1e33c9df7e47b3bf0e2aefc6baf13ce53 - languageName: node - linkType: hard - "@types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" @@ -4596,11 +3414,11 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 22.7.4 - resolution: "@types/node@npm:22.7.4" + version: 24.8.1 + resolution: "@types/node@npm:24.8.1" dependencies: - undici-types: ~6.19.2 - checksum: a3f4154147639369aed08fe6f8d62eff637cf87b187bb252d7bbccdc82884626007af424b08a653c53f2182adfa0340001b4888cb7cbb942cef351210fc742a5 + undici-types: ~7.14.0 + checksum: 55fca8f900a017c207e4e413956f3fdd17178c3d5ffc8fd4bb7b0b5136865ca06076b1335e1e5e6f3269cace491dc1f4ecc1ab4410ff4acf25c9087585560c86 languageName: node linkType: hard @@ -4621,25 +3439,18 @@ __metadata: linkType: hard "@types/react@npm:^19.0.0": - version: 19.1.6 - resolution: "@types/react@npm:19.1.6" + version: 19.2.2 + resolution: "@types/react@npm:19.2.2" dependencies: csstype: ^3.0.2 - checksum: 7f4d2e5fd0c1afa6aef956e551c982a59c3ccf37cf30b877300306dcae87e0c4bf7b28b54676b1783f4ca92e730af6fb7a4c1b7f6df27ba14579aa1617a58b09 + checksum: 7eb2d316dd5a6c02acb416524b50bae932c38d055d26e0f561ca23c009c686d16a2b22fcbb941eecbe2ecb167f119e29b9d0142d9d056dd381352c43413b60da languageName: node linkType: hard -"@types/semver@npm:^7.3.12": - version: 7.5.8 - resolution: "@types/semver@npm:7.5.8" - checksum: ea6f5276f5b84c55921785a3a27a3cd37afee0111dfe2bcb3e03c31819c197c782598f17f0b150a69d453c9584cd14c4c4d7b9a55d2c5e6cacd4d66fdb3b3663 - languageName: node - linkType: hard - -"@types/semver@npm:^7.5.5": - version: 7.7.0 - resolution: "@types/semver@npm:7.7.0" - checksum: d488eaeddb23879a0a8a759bed667e1a76cb0dd4d23e3255538e24c189db387357953ca9e7a3bda2bb7f95e84cac8fe0db4fbe6b3456e893043337732d1d23cc +"@types/semver@npm:^7.3.12, @types/semver@npm:^7.5.5": + version: 7.7.1 + resolution: "@types/semver@npm:7.7.1" + checksum: 76d218e414482a398148d5c28f2bfa017108869f3fc18cda379c9d8d062348f8b9653ae2fa8642d3b5b52e211928fe8be34f22da4e1f08245c84e0e51e040673 languageName: node linkType: hard @@ -4706,25 +3517,23 @@ __metadata: linkType: hard "@typescript-eslint/eslint-plugin@npm:^8.13.0": - version: 8.13.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.13.0" + version: 8.46.1 + resolution: "@typescript-eslint/eslint-plugin@npm:8.46.1" dependencies: "@eslint-community/regexpp": ^4.10.0 - "@typescript-eslint/scope-manager": 8.13.0 - "@typescript-eslint/type-utils": 8.13.0 - "@typescript-eslint/utils": 8.13.0 - "@typescript-eslint/visitor-keys": 8.13.0 + "@typescript-eslint/scope-manager": 8.46.1 + "@typescript-eslint/type-utils": 8.46.1 + "@typescript-eslint/utils": 8.46.1 + "@typescript-eslint/visitor-keys": 8.46.1 graphemer: ^1.4.0 - ignore: ^5.3.1 + ignore: ^7.0.0 natural-compare: ^1.4.0 - ts-api-utils: ^1.3.0 + ts-api-utils: ^2.1.0 peerDependencies: - "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + "@typescript-eslint/parser": ^8.46.1 eslint: ^8.57.0 || ^9.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 42d5c14abdf97167147f3d753398cf62f44c05ae69615c2630720007a87f70aabe0440de744eb1f95eb72a6f5d3943069d4c2e030789590d7ccf7210b39d9db1 + typescript: ">=4.8.4 <6.0.0" + checksum: c2c3191632bdf62b2202e2a1c81df08e17d8128b5d5008a808a6dd39143fcc53ce4d9a7ab613aa43cac1748246e7f752b3d8d0aef1f77f605079797427db40a9 languageName: node linkType: hard @@ -4765,20 +3574,31 @@ __metadata: linkType: hard "@typescript-eslint/parser@npm:^8.13.0": - version: 8.13.0 - resolution: "@typescript-eslint/parser@npm:8.13.0" + version: 8.46.1 + resolution: "@typescript-eslint/parser@npm:8.46.1" dependencies: - "@typescript-eslint/scope-manager": 8.13.0 - "@typescript-eslint/types": 8.13.0 - "@typescript-eslint/typescript-estree": 8.13.0 - "@typescript-eslint/visitor-keys": 8.13.0 + "@typescript-eslint/scope-manager": 8.46.1 + "@typescript-eslint/types": 8.46.1 + "@typescript-eslint/typescript-estree": 8.46.1 + "@typescript-eslint/visitor-keys": 8.46.1 debug: ^4.3.4 peerDependencies: eslint: ^8.57.0 || ^9.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 5e2d5b2eb5a30c4eeb75ab05975fd793c6d809399c5f000a918747283c760201311b1df85a699fd260a3d7cff1be5f39938d59a1d2f8e92141402bf32b4ad748 + typescript: ">=4.8.4 <6.0.0" + checksum: 0e4ae0b7a33f1dabc6d027ed299463d901ea48aa20373692a5f67ba2848f14ea322a6a0fed1c86f8936002fc3262d6d7f7e439ea4e5fdf6871a1c0571f011acf + languageName: node + linkType: hard + +"@typescript-eslint/project-service@npm:8.46.1": + version: 8.46.1 + resolution: "@typescript-eslint/project-service@npm:8.46.1" + dependencies: + "@typescript-eslint/tsconfig-utils": ^8.46.1 + "@typescript-eslint/types": ^8.46.1 + debug: ^4.3.4 + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: c03bc00fd678ac920e51110546495467d6939dbc7a3d08c2e08f709a0e429924eb8fbefebf42abf246e84a569584931a42783c4926bcbdbf8adb872975c062d1 languageName: node linkType: hard @@ -4812,13 +3632,22 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.13.0": - version: 8.13.0 - resolution: "@typescript-eslint/scope-manager@npm:8.13.0" +"@typescript-eslint/scope-manager@npm:8.46.1": + version: 8.46.1 + resolution: "@typescript-eslint/scope-manager@npm:8.46.1" dependencies: - "@typescript-eslint/types": 8.13.0 - "@typescript-eslint/visitor-keys": 8.13.0 - checksum: 7c80fddb07b3b4e77f05c3ad8aec9a4dda553638188618bc993352ed2b39a8db464c8f28dad8dfc4d82e06ac793fa83a9983198231a7a4711a0dc6f0955b8ad5 + "@typescript-eslint/types": 8.46.1 + "@typescript-eslint/visitor-keys": 8.46.1 + checksum: ab2789a571c4db5d12292e993f66f720af1f2584d950959abf007296906a038e48a443206896c535b9b4f7d225658f5886910d78ea804ed22829079d82e7ba09 + languageName: node + linkType: hard + +"@typescript-eslint/tsconfig-utils@npm:8.46.1, @typescript-eslint/tsconfig-utils@npm:^8.46.1": + version: 8.46.1 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.46.1" + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: 3251b631db3399e491ef5da5dee782e5eb30503d017bfc3736825448d7fb557956467d5ed500908f9cf92c4c87b1960f12db70986d1735009fd9816ba0bd7d6e languageName: node linkType: hard @@ -4839,18 +3668,19 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.13.0": - version: 8.13.0 - resolution: "@typescript-eslint/type-utils@npm:8.13.0" +"@typescript-eslint/type-utils@npm:8.46.1": + version: 8.46.1 + resolution: "@typescript-eslint/type-utils@npm:8.46.1" dependencies: - "@typescript-eslint/typescript-estree": 8.13.0 - "@typescript-eslint/utils": 8.13.0 + "@typescript-eslint/types": 8.46.1 + "@typescript-eslint/typescript-estree": 8.46.1 + "@typescript-eslint/utils": 8.46.1 debug: ^4.3.4 - ts-api-utils: ^1.3.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 98e369a49c4334d8871283f995f010ef38b023f80f922cfef60c21c635cf3a2992ce634613b931de129bb5f4d4939b36025f4cc5aa958bb21fee8eb4d8b78c60 + ts-api-utils: ^2.1.0 + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: aa1f7a0eaedc12f50e35105274a868add5bce1e9bc55fbdfe69a13e8b0538982787f34f56f1964f59059049aa797d53f2be50bf1da9dbad1a661e58e0d9eb33c languageName: node linkType: hard @@ -4875,10 +3705,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:8.13.0": - version: 8.13.0 - resolution: "@typescript-eslint/types@npm:8.13.0" - checksum: 361489858f07cba8a331d360d73b51a174a902612fd7bb212560a4d7dc2bd704daf252debc410b09e92217aedca9076c3b2892ec76bcf83a7e1575a175942c2e +"@typescript-eslint/types@npm:8.46.1, @typescript-eslint/types@npm:^8.46.1": + version: 8.46.1 + resolution: "@typescript-eslint/types@npm:8.46.1" + checksum: 28ded6e2f952ccc54f54f9d880237dfccc814a8601cc56cbfbec9879e695ad831023d07bc8989ce4b9ca8891d50bb3f19af80f50a9512ee1600013b7b84b1d77 languageName: node linkType: hard @@ -4938,22 +3768,23 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.13.0": - version: 8.13.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.13.0" +"@typescript-eslint/typescript-estree@npm:8.46.1": + version: 8.46.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.46.1" dependencies: - "@typescript-eslint/types": 8.13.0 - "@typescript-eslint/visitor-keys": 8.13.0 + "@typescript-eslint/project-service": 8.46.1 + "@typescript-eslint/tsconfig-utils": 8.46.1 + "@typescript-eslint/types": 8.46.1 + "@typescript-eslint/visitor-keys": 8.46.1 debug: ^4.3.4 fast-glob: ^3.3.2 is-glob: ^4.0.3 minimatch: ^9.0.4 semver: ^7.6.0 - ts-api-utils: ^1.3.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 43d33fa341b44e11f3dcd627ea38ebe4433320e569d4a502e44acb370f3a6f64609cf4f98f874eefc161aa42487e35b6e499e74ec422f3c629c7bba155c3d88a + ts-api-utils: ^2.1.0 + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: d5968a1b9fa8f9469b260b9f0d85cbf16aecd65737a2e78dea0a8b00114370973b9acc6d619ebdec7d8a5bfceb7649d6726e902b462fe003ea627b2b13bca25a languageName: node linkType: hard @@ -4971,17 +3802,18 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.13.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": - version: 8.13.0 - resolution: "@typescript-eslint/utils@npm:8.13.0" +"@typescript-eslint/utils@npm:8.46.1, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": + version: 8.46.1 + resolution: "@typescript-eslint/utils@npm:8.46.1" dependencies: - "@eslint-community/eslint-utils": ^4.4.0 - "@typescript-eslint/scope-manager": 8.13.0 - "@typescript-eslint/types": 8.13.0 - "@typescript-eslint/typescript-estree": 8.13.0 + "@eslint-community/eslint-utils": ^4.7.0 + "@typescript-eslint/scope-manager": 8.46.1 + "@typescript-eslint/types": 8.46.1 + "@typescript-eslint/typescript-estree": 8.46.1 peerDependencies: eslint: ^8.57.0 || ^9.0.0 - checksum: 6d6ec83c4806aeeba94777bf82230a2cde9bd5aa90969ac73cd2e3ba22eb6b1e4f7d3710dbe13a1a1734857c3cd3e8522bb043a04e85cea583c91618a28cc200 + typescript: ">=4.8.4 <6.0.0" + checksum: 2268b31a50960825556ba9bd22a231b97aa65fa489b8ddd697931224448efc9f1e429492303de99f5abbfbfca58fb6495834451fdfbcaa9c4c1446d2f557c702 languageName: node linkType: hard @@ -5033,20 +3865,20 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.13.0": - version: 8.13.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.13.0" +"@typescript-eslint/visitor-keys@npm:8.46.1": + version: 8.46.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.46.1" dependencies: - "@typescript-eslint/types": 8.13.0 - eslint-visitor-keys: ^3.4.3 - checksum: eeefa461dbf60c967bcc2905bfd80fd6f5d015e8139c7d7a44a46d8ffa9339089a3a0eb937423e3c59aff306c238ed8821bda935db1da28ae063f2ce1deafe08 + "@typescript-eslint/types": 8.46.1 + eslint-visitor-keys: ^4.2.1 + checksum: 18ce08a42cf0e0ddbb3c48a9084d320a67991311830e29cf79f33ecfdadf4680f8d10807e86551b49df55ccf023c24868ba9c85cc688a6075374f14b6fff59c4 languageName: node linkType: hard "@ungap/structured-clone@npm:^1.2.0": - version: 1.2.0 - resolution: "@ungap/structured-clone@npm:1.2.0" - checksum: 4f656b7b4672f2ce6e272f2427d8b0824ed11546a601d8d5412b9d7704e83db38a8d9f402ecdf2b9063fc164af842ad0ec4a55819f621ed7e7ea4d1efcc74524 + version: 1.3.0 + resolution: "@ungap/structured-clone@npm:1.3.0" + checksum: 64ed518f49c2b31f5b50f8570a1e37bde3b62f2460042c50f132430b2d869c4a6586f13aa33a58a4722715b8158c68cae2827389d6752ac54da2893c83e480fc languageName: node linkType: hard @@ -5069,10 +3901,10 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:^2.0.0": - version: 2.0.0 - resolution: "abbrev@npm:2.0.0" - checksum: 0e994ad2aa6575f94670d8a2149afe94465de9cedaaaac364e7fb43a40c3691c980ff74899f682f4ca58fa96b4cbd7421a015d3a6defe43a442117d7821a2f36 +"abbrev@npm:^3.0.0": + version: 3.0.1 + resolution: "abbrev@npm:3.0.1" + checksum: e70b209f5f408dd3a3bbd0eec4b10a2ffd64704a4a3821d0969d84928cc490a8eb60f85b78a95622c1841113edac10161c62e52f5e7d0027aa26786a8136e02e languageName: node linkType: hard @@ -5085,7 +3917,7 @@ __metadata: languageName: node linkType: hard -"accepts@npm:^1.3.7, accepts@npm:~1.3.5, accepts@npm:~1.3.7": +"accepts@npm:^1.3.7, accepts@npm:~1.3.7": version: 1.3.8 resolution: "accepts@npm:1.3.8" dependencies: @@ -5104,12 +3936,12 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.8.2, acorn@npm:^8.9.0": - version: 8.12.1 - resolution: "acorn@npm:8.12.1" +"acorn@npm:^8.15.0, acorn@npm:^8.9.0": + version: 8.15.0 + resolution: "acorn@npm:8.15.0" bin: acorn: bin/acorn - checksum: 677880034aee5bdf7434cc2d25b641d7bedb0b5ef47868a78dadabedccf58e1c5457526d9d8249cd253f2df087e081c3fe7d903b448d8e19e5131a3065b83c07 + checksum: 309c6b49aedf1a2e34aaf266de06de04aab6eb097c02375c66fdeb0f64556a6a823540409914fb364d9a11bc30d79d485a2eba29af47992d3490e9886c4391c3 languageName: node linkType: hard @@ -5120,19 +3952,10 @@ __metadata: languageName: node linkType: hard -"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": - version: 7.1.1 - resolution: "agent-base@npm:7.1.1" - dependencies: - debug: ^4.3.4 - checksum: 51c158769c5c051482f9ca2e6e1ec085ac72b5a418a9b31b4e82fe6c0a6699adb94c1c42d246699a587b3335215037091c79e0de512c516f73b6ea844202f037 - languageName: node - linkType: hard - -"agent-base@npm:^7.1.2": - version: 7.1.3 - resolution: "agent-base@npm:7.1.3" - checksum: 87bb7ee54f5ecf0ccbfcba0b07473885c43ecd76cb29a8db17d6137a19d9f9cd443a2a7c5fd8a3f24d58ad8145f9eb49116344a66b107e1aeab82cf2383f4753 +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.4 + resolution: "agent-base@npm:7.1.4" + checksum: 86a7f542af277cfbd77dd61e7df8422f90bac512953709003a1c530171a9d019d072e2400eab2b59f84b49ab9dd237be44315ca663ac73e82b3922d10ea5eafa languageName: node linkType: hard @@ -5250,9 +4073,9 @@ __metadata: linkType: hard "ansi-regex@npm:^6.0.1": - version: 6.1.0 - resolution: "ansi-regex@npm:6.1.0" - checksum: 495834a53b0856c02acd40446f7130cb0f8284f4a39afdab20d5dc42b2e198b1196119fe887beed8f9055c4ff2055e3b2f6d4641d0be018cdfb64fedf6fc1aac + version: 6.2.2 + resolution: "ansi-regex@npm:6.2.2" + checksum: 9b17ce2c6daecc75bcd5966b9ad672c23b184dc3ed9bf3c98a0702f0d2f736c15c10d461913568f2cf527a5e64291c7473358885dd493305c84a1cfed66ba94f languageName: node linkType: hard @@ -5263,7 +4086,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^3.2.0, ansi-styles@npm:^3.2.1": +"ansi-styles@npm:^3.2.0": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" dependencies: @@ -5289,9 +4112,9 @@ __metadata: linkType: hard "ansi-styles@npm:^6.1.0, ansi-styles@npm:^6.2.1": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: ef940f2f0ced1a6347398da88a91da7930c33ecac3c77b72c5905f8b8fe402c52e6fde304ff5347f616e27a742da3f1dc76de98f6866c69251ad0b07a66776d9 + version: 6.2.3 + resolution: "ansi-styles@npm:6.2.3" + checksum: f1b0829cf048cce870a305819f65ce2adcebc097b6d6479e12e955fd6225df9b9eb8b497083b764df796d94383ff20016cc4dbbae5b40f36138fb65a9d33c2e2 languageName: node linkType: hard @@ -5329,22 +4152,23 @@ __metadata: linkType: hard "arktype@npm:^2.1.15": - version: 2.1.19 - resolution: "arktype@npm:2.1.19" + version: 2.1.23 + resolution: "arktype@npm:2.1.23" dependencies: - "@ark/schema": 0.45.9 - "@ark/util": 0.45.9 - checksum: cf656f9aa3797d56572d49a8499a4156fbbe25eacbd075f4c60770876fd1fbde6b6285f1b367de93e14858651f6a1df1db3de99d6a5f642e1fa61f421fae0712 + "@ark/regex": 0.0.0 + "@ark/schema": 0.50.0 + "@ark/util": 0.50.0 + checksum: 5874ef1c0140aff0a99cd88537e11851b4d0a1a49ee7b097eb766c941f9de6bbd04427bbda8023c69171db0ee02c7d99f08e59114b63fa83a93c4130964fb616 languageName: node linkType: hard -"array-buffer-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "array-buffer-byte-length@npm:1.0.1" +"array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "array-buffer-byte-length@npm:1.0.2" dependencies: - call-bind: ^1.0.5 - is-array-buffer: ^3.0.4 - checksum: 53524e08f40867f6a9f35318fafe467c32e45e9c682ba67b11943e167344d2febc0f6977a17e699b05699e805c3e8f073d876f8bbf1b559ed494ad2cd0fae09e + call-bound: ^1.0.3 + is-array-buffer: ^3.0.5 + checksum: 0ae3786195c3211b423e5be8dd93357870e6fb66357d81da968c2c39ef43583ef6eece1f9cb1caccdae4806739c65dea832b44b8593414313cd76a89795fca63 languageName: node linkType: hard @@ -5356,16 +4180,18 @@ __metadata: linkType: hard "array-includes@npm:^3.1.6, array-includes@npm:^3.1.8": - version: 3.1.8 - resolution: "array-includes@npm:3.1.8" + version: 3.1.9 + resolution: "array-includes@npm:3.1.9" dependencies: - call-bind: ^1.0.7 + call-bind: ^1.0.8 + call-bound: ^1.0.4 define-properties: ^1.2.1 - es-abstract: ^1.23.2 - es-object-atoms: ^1.0.0 - get-intrinsic: ^1.2.4 - is-string: ^1.0.7 - checksum: eb39ba5530f64e4d8acab39297c11c1c5be2a4ea188ab2b34aba5fb7224d918f77717a9d57a3e2900caaa8440e59431bdaf5c974d5212ef65d97f132e38e2d91 + es-abstract: ^1.24.0 + es-object-atoms: ^1.1.1 + get-intrinsic: ^1.3.0 + is-string: ^1.1.1 + math-intrinsics: ^1.1.0 + checksum: b58dc526fe415252e50319eaf88336e06e75aa673e3b58d252414739a4612dbe56e7b613fdcc7c90561dc9cf9202bbe5ca029ccd8c08362746459475ae5a8f3e languageName: node linkType: hard @@ -5391,26 +4217,26 @@ __metadata: linkType: hard "array.prototype.flat@npm:^1.3.1": - version: 1.3.2 - resolution: "array.prototype.flat@npm:1.3.2" + version: 1.3.3 + resolution: "array.prototype.flat@npm:1.3.3" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - es-shim-unscopables: ^1.0.0 - checksum: 5d6b4bf102065fb3f43764bfff6feb3295d372ce89591e6005df3d0ce388527a9f03c909af6f2a973969a4d178ab232ffc9236654149173e0e187ec3a1a6b87b + call-bind: ^1.0.8 + define-properties: ^1.2.1 + es-abstract: ^1.23.5 + es-shim-unscopables: ^1.0.2 + checksum: 5d5a7829ab2bb271a8d30a1c91e6271cef0ec534593c0fe6d2fb9ebf8bb62c1e5326e2fddcbbcbbe5872ca04f5e6b54a1ecf092e0af704fb538da9b2bfd95b40 languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.3.2": - version: 1.3.2 - resolution: "array.prototype.flatmap@npm:1.3.2" +"array.prototype.flatmap@npm:^1.3.3": + version: 1.3.3 + resolution: "array.prototype.flatmap@npm:1.3.3" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - es-shim-unscopables: ^1.0.0 - checksum: ce09fe21dc0bcd4f30271f8144083aa8c13d4639074d6c8dc82054b847c7fc9a0c97f857491f4da19d4003e507172a78f4bcd12903098adac8b9cd374f734be3 + call-bind: ^1.0.8 + define-properties: ^1.2.1 + es-abstract: ^1.23.5 + es-shim-unscopables: ^1.0.2 + checksum: 11b4de09b1cf008be6031bb507d997ad6f1892e57dc9153583de6ebca0f74ea403fffe0f203461d359de05048d609f3f480d9b46fed4099652d8b62cc972f284 languageName: node linkType: hard @@ -5427,19 +4253,18 @@ __metadata: languageName: node linkType: hard -"arraybuffer.prototype.slice@npm:^1.0.3": - version: 1.0.3 - resolution: "arraybuffer.prototype.slice@npm:1.0.3" +"arraybuffer.prototype.slice@npm:^1.0.4": + version: 1.0.4 + resolution: "arraybuffer.prototype.slice@npm:1.0.4" dependencies: array-buffer-byte-length: ^1.0.1 - call-bind: ^1.0.5 + call-bind: ^1.0.8 define-properties: ^1.2.1 - es-abstract: ^1.22.3 - es-errors: ^1.2.1 - get-intrinsic: ^1.2.3 + es-abstract: ^1.23.5 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.6 is-array-buffer: ^3.0.4 - is-shared-array-buffer: ^1.0.2 - checksum: 352259cba534dcdd969c92ab002efd2ba5025b2e3b9bead3973150edbdf0696c629d7f4b3f061c5931511e8207bdc2306da614703c820b45dabce39e3daf7e3e + checksum: b1d1fd20be4e972a3779b1569226f6740170dca10f07aa4421d42cefeec61391e79c557cda8e771f5baefe47d878178cd4438f60916ce831813c08132bced765 languageName: node linkType: hard @@ -5473,6 +4298,20 @@ __metadata: languageName: node linkType: hard +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 9102e246d1ed9b37ac36f57f0a6ca55226876553251a31fc80677e71471f463a54c872dc78d5d7f80740c8ba624395cccbe8b60f7b690c4418f487d8e9fd1106 + languageName: node + linkType: hard + +"async-generator-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-generator-function@npm:1.0.0" + checksum: 74a71a4a2dd7afd06ebb612f6d612c7f4766a351bedffde466023bf6dae629e46b0d2cd38786239e0fbf245de0c7df76035465e16d1213774a0efb22fec0d713 + languageName: node + linkType: hard + "async-limiter@npm:~1.0.0": version: 1.0.1 resolution: "async-limiter@npm:1.0.1" @@ -5563,51 +4402,39 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs2@npm:^0.4.10": - version: 0.4.11 - resolution: "babel-plugin-polyfill-corejs2@npm:0.4.11" +"babel-plugin-polyfill-corejs2@npm:^0.4.14": + version: 0.4.14 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.14" dependencies: - "@babel/compat-data": ^7.22.6 - "@babel/helper-define-polyfill-provider": ^0.6.2 + "@babel/compat-data": ^7.27.7 + "@babel/helper-define-polyfill-provider": ^0.6.5 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: f098353ce7c7dde1a1d2710858e01b471e85689110c9e37813e009072347eb8c55d5f84d20d3bf1cab31755f20078ba90f8855fdc4686a9daa826a95ff280bd7 - languageName: node - linkType: hard - -"babel-plugin-polyfill-corejs3@npm:^0.10.6": - version: 0.10.6 - resolution: "babel-plugin-polyfill-corejs3@npm:0.10.6" - dependencies: - "@babel/helper-define-polyfill-provider": ^0.6.2 - core-js-compat: ^3.38.0 - peerDependencies: - "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: f762f29f7acca576897c63149c850f0a72babd3fb9ea436a2e36f0c339161c4b912a77828541d8188ce8a91e50965c6687120cf36071eabb1b7aa92f279e2164 + checksum: d654334c1b4390d08282416144b7b6f3d74d2cab44b2bfa2b6405c828882c82907b8b67698dce1be046c218d2d4fe5bf7fb6d01879938f3129dad969e8cfc44d languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.11.0": - version: 0.11.1 - resolution: "babel-plugin-polyfill-corejs3@npm:0.11.1" +"babel-plugin-polyfill-corejs3@npm:^0.13.0": + version: 0.13.0 + resolution: "babel-plugin-polyfill-corejs3@npm:0.13.0" dependencies: - "@babel/helper-define-polyfill-provider": ^0.6.3 - core-js-compat: ^3.40.0 + "@babel/helper-define-polyfill-provider": ^0.6.5 + core-js-compat: ^3.43.0 peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: ee39440475ef377a1570ccbc06b1a1d274cbfbbe2e7c3d4c60f38781a47f00a28bd10d8e23430828b965820c41beb2c93c84596baf72583a2c9c3fdfa4397994 + checksum: cf526031acd97ff2124e7c10e15047e6eeb0620d029c687f1dca99916a8fe6cac0e634b84c913db6cb68b7a024f82492ba8fdcc2a6266e7b05bdac2cba0c2434 languageName: node linkType: hard -"babel-plugin-polyfill-regenerator@npm:^0.6.1": - version: 0.6.2 - resolution: "babel-plugin-polyfill-regenerator@npm:0.6.2" +"babel-plugin-polyfill-regenerator@npm:^0.6.5": + version: 0.6.5 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.5" dependencies: - "@babel/helper-define-polyfill-provider": ^0.6.2 + "@babel/helper-define-polyfill-provider": ^0.6.5 peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 150233571072b6b3dfe946242da39cba8587b7f908d1c006f7545fc88b0e3c3018d445739beb61e7a75835f0c2751dbe884a94ff9b245ec42369d9267e0e1b3f + checksum: ed1932fa9a31e0752fd10ebf48ab9513a654987cab1182890839523cb898559d24ae0578fdc475d9f995390420e64eeaa4b0427045b56949dace3c725bc66dbb languageName: node linkType: hard @@ -5620,6 +4447,15 @@ __metadata: languageName: node linkType: hard +"babel-plugin-syntax-hermes-parser@npm:^0.28.0": + version: 0.28.1 + resolution: "babel-plugin-syntax-hermes-parser@npm:0.28.1" + dependencies: + hermes-parser: 0.28.1 + checksum: 2cbc921e663463480ead9ccc8bb229a5196032367ba2b5ccb18a44faa3afa84b4dc493297749983b9a837a3d76b0b123664aecc06f9122618c3246f03e076a9d + languageName: node + linkType: hard + "babel-plugin-transform-flow-enums@npm:^0.0.2": version: 0.0.2 resolution: "babel-plugin-transform-flow-enums@npm:0.0.2" @@ -5630,8 +4466,8 @@ __metadata: linkType: hard "babel-preset-current-node-syntax@npm:^1.0.0": - version: 1.1.0 - resolution: "babel-preset-current-node-syntax@npm:1.1.0" + version: 1.2.0 + resolution: "babel-preset-current-node-syntax@npm:1.2.0" dependencies: "@babel/plugin-syntax-async-generators": ^7.8.4 "@babel/plugin-syntax-bigint": ^7.8.3 @@ -5649,8 +4485,8 @@ __metadata: "@babel/plugin-syntax-private-property-in-object": ^7.14.5 "@babel/plugin-syntax-top-level-await": ^7.14.5 peerDependencies: - "@babel/core": ^7.0.0 - checksum: 9f93fac975eaba296c436feeca1031ca0539143c4066eaf5d1ba23525a31850f03b651a1049caea7287df837a409588c8252c15627ad3903f17864c8e25ed64b + "@babel/core": ^7.0.0 || ^8.0.0-0 + checksum: 3608fa671cfa46364ea6ec704b8fcdd7514b7b70e6ec09b1199e13ae73ed346c51d5ce2cb6d4d5b295f6a3f2cad1fdeec2308aa9e037002dd7c929194cc838ea languageName: node linkType: hard @@ -5680,6 +4516,15 @@ __metadata: languageName: node linkType: hard +"baseline-browser-mapping@npm:^2.8.9": + version: 2.8.17 + resolution: "baseline-browser-mapping@npm:2.8.17" + bin: + baseline-browser-mapping: dist/cli.js + checksum: 2ff31d36b475b628b551e0b29b2fb1ac36f903b99392da4da208ef718beefdc659b24b612a2922664fcffa1fc9bf733bb52d2e29756dcf09c54d764c64f0b964 + languageName: node + linkType: hard + "basic-ftp@npm:^5.0.2": version: 5.0.5 resolution: "basic-ftp@npm:5.0.5" @@ -5742,21 +4587,21 @@ __metadata: linkType: hard "brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" + version: 1.1.12 + resolution: "brace-expansion@npm:1.1.12" dependencies: balanced-match: ^1.0.0 concat-map: 0.0.1 - checksum: faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 + checksum: 12cb6d6310629e3048cadb003e1aca4d8c9bb5c67c3c321bafdd7e7a50155de081f78ea3e0ed92ecc75a9015e784f301efc8132383132f4f7904ad1ac529c562 languageName: node linkType: hard "brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" + version: 2.0.2 + resolution: "brace-expansion@npm:2.0.2" dependencies: balanced-match: ^1.0.0 - checksum: a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 + checksum: 01dff195e3646bc4b0d27b63d9bab84d2ebc06121ff5013ad6e5356daa5a9d6b60fa26cf73c74797f2dc3fbec112af13578d51f75228c1112b26c790a87b0488 languageName: node linkType: hard @@ -5769,45 +4614,18 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.20.4, browserslist@npm:^4.23.1, browserslist@npm:^4.23.3": - version: 4.24.0 - resolution: "browserslist@npm:4.24.0" - dependencies: - caniuse-lite: ^1.0.30001663 - electron-to-chromium: ^1.5.28 - node-releases: ^2.0.18 - update-browserslist-db: ^1.1.0 - bin: - browserslist: cli.js - checksum: de200d3eb8d6ed819dad99719099a28fb6ebeb88016a5ac42fbdc11607e910c236a84ca1b0bbf232477d4b88ab64e8ab6aa67557cdd40a73ca9c2834f92ccce0 - languageName: node - linkType: hard - -"browserslist@npm:^4.24.0": - version: 4.24.2 - resolution: "browserslist@npm:4.24.2" - dependencies: - caniuse-lite: ^1.0.30001669 - electron-to-chromium: ^1.5.41 - node-releases: ^2.0.18 - update-browserslist-db: ^1.1.1 - bin: - browserslist: cli.js - checksum: cf64085f12132d38638f38937a255edb82c7551b164a98577b055dd79719187a816112f7b97b9739e400c4954cd66479c0d7a843cb816e346f4795dc24fd5d97 - languageName: node - linkType: hard - -"browserslist@npm:^4.24.4": - version: 4.25.0 - resolution: "browserslist@npm:4.25.0" +"browserslist@npm:^4.20.4, browserslist@npm:^4.24.0, browserslist@npm:^4.26.3": + version: 4.26.3 + resolution: "browserslist@npm:4.26.3" dependencies: - caniuse-lite: ^1.0.30001718 - electron-to-chromium: ^1.5.160 - node-releases: ^2.0.19 + baseline-browser-mapping: ^2.8.9 + caniuse-lite: ^1.0.30001746 + electron-to-chromium: ^1.5.227 + node-releases: ^2.0.21 update-browserslist-db: ^1.1.3 bin: browserslist: cli.js - checksum: 0d34fa0c6e23e962598ba68ee9f4566a4b575ec550ff7e9e7287c5e94a6e0f208f75f4f7d578ccd060f843167e0e495bde8f6d278f353f0da783cd50f758e5c7 + checksum: aa5bbcda9db1eeb9952b4c2f11f9a5a2247da7bcce7fa14d3cc215e67246a93394eda2f86378a41c3f73e6e1a1561bf0e7eade93c5392cb6d37bc66f70d0c53f languageName: node linkType: hard @@ -5846,13 +4664,6 @@ __metadata: languageName: node linkType: hard -"bytes@npm:3.0.0": - version: 3.0.0 - resolution: "bytes@npm:3.0.0" - checksum: a2b386dd8188849a5325f58eef69c3b73c51801c08ffc6963eddc9be244089ba32d19347caf6d145c86f315ae1b1fc7061a32b0c1aa6379e6a719090287ed101 - languageName: node - linkType: hard - "bytes@npm:3.1.2": version: 3.1.2 resolution: "bytes@npm:3.1.2" @@ -5860,11 +4671,11 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^18.0.0": - version: 18.0.4 - resolution: "cacache@npm:18.0.4" +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" dependencies: - "@npmcli/fs": ^3.1.0 + "@npmcli/fs": ^4.0.0 fs-minipass: ^3.0.0 glob: ^10.2.2 lru-cache: ^10.0.1 @@ -5872,24 +4683,43 @@ __metadata: minipass-collect: ^2.0.1 minipass-flush: ^1.0.5 minipass-pipeline: ^1.2.4 - p-map: ^4.0.0 - ssri: ^10.0.0 - tar: ^6.1.11 - unique-filename: ^3.0.0 - checksum: b7422c113b4ec750f33beeca0f426a0024c28e3172f332218f48f963e5b970647fa1ac05679fe5bb448832c51efea9fda4456b9a95c3a1af1105fe6c1833cde2 + p-map: ^7.0.2 + ssri: ^12.0.0 + tar: ^7.4.3 + unique-filename: ^4.0.0 + checksum: e95684717de6881b4cdaa949fa7574e3171946421cd8291769dd3d2417dbf7abf4aa557d1f968cca83dcbc95bed2a281072b09abfc977c942413146ef7ed4525 languageName: node linkType: hard -"call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": - version: 1.0.7 - resolution: "call-bind@npm:1.0.7" +"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" dependencies: - es-define-property: ^1.0.0 es-errors: ^1.3.0 function-bind: ^1.1.2 + checksum: b2863d74fcf2a6948221f65d95b91b4b2d90cfe8927650b506141e669f7d5de65cea191bf788838bc40d13846b7886c5bc5c84ab96c3adbcf88ad69a72fcdc6b + languageName: node + linkType: hard + +"call-bind@npm:^1.0.7, call-bind@npm:^1.0.8": + version: 1.0.8 + resolution: "call-bind@npm:1.0.8" + dependencies: + call-bind-apply-helpers: ^1.0.0 + es-define-property: ^1.0.0 get-intrinsic: ^1.2.4 - set-function-length: ^1.2.1 - checksum: 295c0c62b90dd6522e6db3b0ab1ce26bdf9e7404215bda13cfee25b626b5ff1a7761324d58d38b1ef1607fc65aca2d06e44d2e18d0dfc6c14b465b00d8660029 + set-function-length: ^1.2.2 + checksum: aa2899bce917a5392fd73bd32e71799c37c0b7ab454e0ed13af7f6727549091182aade8bbb7b55f304a5bc436d543241c14090fb8a3137e9875e23f444f4f5a9 + languageName: node + linkType: hard + +"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3, call-bound@npm:^1.0.4": + version: 1.0.4 + resolution: "call-bound@npm:1.0.4" + dependencies: + call-bind-apply-helpers: ^1.0.2 + get-intrinsic: ^1.3.0 + checksum: 2f6399488d1c272f56306ca60ff696575e2b7f31daf23bc11574798c84d9f2759dceb0cb1f471a85b77f28962a7ac6411f51d283ea2e45319009a19b6ccab3b2 languageName: node linkType: hard @@ -5958,14 +4788,14 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001663, caniuse-lite@npm:^1.0.30001669, caniuse-lite@npm:^1.0.30001718": - version: 1.0.30001721 - resolution: "caniuse-lite@npm:1.0.30001721" - checksum: 1f1e1f5f070f97ee83a08601709413300957be624790a8f7b3aebd5746d648e8d50be4ef9572a50281198b2f7acc63fdfc1a0bc04c23bbffba0ab4b3c69d4b76 +"caniuse-lite@npm:^1.0.30001746": + version: 1.0.30001751 + resolution: "caniuse-lite@npm:1.0.30001751" + checksum: d11e25c44e40c21e7b7492a25c9fd60f4c04e94aa265573f7c487666f5e1b5ca3ed09d09560336f959237063616255cb294d415511bb6cf0486eb2cb6a3a4318 languageName: node linkType: hard -"chalk@npm:5.4.1, chalk@npm:^5.3.0": +"chalk@npm:5.4.1": version: 5.4.1 resolution: "chalk@npm:5.4.1" checksum: 0c656f30b782fed4d99198825c0860158901f449a6b12b818b0aabad27ec970389e7e8767d0e00762175b23620c812e70c4fd92c0210e55fc2d993638b74e86e @@ -5985,17 +4815,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^2.4.2": - version: 2.4.2 - resolution: "chalk@npm:2.4.2" - dependencies: - ansi-styles: ^3.2.1 - escape-string-regexp: ^1.0.5 - supports-color: ^5.3.0 - checksum: ec3661d38fe77f681200f878edbd9448821924e0f93a9cefc0e26a33b145f1027a2084bf19967160d11e1f03bfe4eaffcabf5493b89098b2782c3fe0b03d80c2 - languageName: node - linkType: hard - "chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" @@ -6006,6 +4825,13 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^5.3.0": + version: 5.6.2 + resolution: "chalk@npm:5.6.2" + checksum: 4ee2d47a626d79ca27cb5299ecdcce840ef5755e287412536522344db0fc51ca0f6d6433202332c29e2288c6a90a2b31f3bd626bc8c14743b6b6ee28abd3b796 + languageName: node + linkType: hard + "char-regex@npm:^1.0.2": version: 1.0.2 resolution: "char-regex@npm:1.0.2" @@ -6020,10 +4846,10 @@ __metadata: languageName: node linkType: hard -"chownr@npm:^2.0.0": - version: 2.0.0 - resolution: "chownr@npm:2.0.0" - checksum: c57cf9dd0791e2f18a5ee9c1a299ae6e801ff58fee96dc8bfd0dcb4738a6ce58dd252a3605b1c93c6418fe4f9d5093b28ffbf4d66648cb2a9c67eaef9679be2f +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: fd73a4bab48b79e66903fe1cafbdc208956f41ea4f856df883d0c7277b7ab29fd33ee65f93b2ec9192fc0169238f2f8307b7735d27c155821d886b84aa97aa8d languageName: node linkType: hard @@ -6070,16 +4896,16 @@ __metadata: linkType: hard "ci-info@npm:^4.1.0": - version: 4.3.0 - resolution: "ci-info@npm:4.3.0" - checksum: 77a851ec826e1fbcd993e0e3ef402e6a5e499c733c475af056b7808dea9c9ede53e560ed433020489a8efea2d824fd68ca203446c9988a0bac8475210b0d4491 + version: 4.3.1 + resolution: "ci-info@npm:4.3.1" + checksum: 66c159d92648e8a07acab0a3a0681bff6ccc39aa44916263208c4d97bbbeedbbc886d7611fd30c21df1aa624ce3c6fcdfde982e74689e3e014e064e1d0805f94 languageName: node linkType: hard "cjs-module-lexer@npm:^1.0.0": - version: 1.4.1 - resolution: "cjs-module-lexer@npm:1.4.1" - checksum: 2556807a99aec1f9daac60741af96cd613a707f343174ae7967da46402c91dced411bf830d209f2e93be4cecea46fc75cecf1f17c799d7d8a9e1dd6204bfcd22 + version: 1.4.3 + resolution: "cjs-module-lexer@npm:1.4.3" + checksum: 221a1661a9ff4944b472c85ac7cd5029b2f2dc7f6c5f4ecf887f261503611110b43a48acb6c07f8f04109c772d1637fdb20b31252bf27058f35aa97bf5ad8b12 languageName: node linkType: hard @@ -6175,9 +5001,9 @@ __metadata: linkType: hard "collect-v8-coverage@npm:^1.0.0": - version: 1.0.2 - resolution: "collect-v8-coverage@npm:1.0.2" - checksum: c10f41c39ab84629d16f9f6137bc8a63d332244383fc368caf2d2052b5e04c20cd1fd70f66fcf4e2422b84c8226598b776d39d5f2d2a51867cc1ed5d1982b4da + version: 1.0.3 + resolution: "collect-v8-coverage@npm:1.0.3" + checksum: ed1d1ebc9c05e7263fffa3ad6440031db6a1fdd9f574435aa689effcdfe9f2b93aba8ec600f9c7b99124cd6ff5d9415c17961d84ae829a72251a4fe668a49b63 languageName: node linkType: hard @@ -6297,7 +5123,7 @@ __metadata: languageName: node linkType: hard -"compressible@npm:~2.0.16": +"compressible@npm:~2.0.18": version: 2.0.18 resolution: "compressible@npm:2.0.18" dependencies: @@ -6307,17 +5133,17 @@ __metadata: linkType: hard "compression@npm:^1.7.1": - version: 1.7.4 - resolution: "compression@npm:1.7.4" + version: 1.8.1 + resolution: "compression@npm:1.8.1" dependencies: - accepts: ~1.3.5 - bytes: 3.0.0 - compressible: ~2.0.16 + bytes: 3.1.2 + compressible: ~2.0.18 debug: 2.6.9 - on-headers: ~1.0.2 - safe-buffer: 5.1.2 + negotiator: ~0.6.4 + on-headers: ~1.1.0 + safe-buffer: 5.2.1 vary: ~1.1.2 - checksum: 35c0f2eb1f28418978615dc1bc02075b34b1568f7f56c62d60f4214d4b7cc00d0f6d282b5f8a954f59872396bd770b6b15ffd8aa94c67d4bce9b8887b906999b + checksum: 906325935180cd3507d30ed898fb129deccab03689383d55536245a94610f5003923bb14c95ee6adc8d658ee13be549407eb4346ef55169045f3e41e9969808e languageName: node linkType: hard @@ -6351,14 +5177,14 @@ __metadata: linkType: hard "configstore@npm:^7.0.0": - version: 7.0.0 - resolution: "configstore@npm:7.0.0" + version: 7.1.0 + resolution: "configstore@npm:7.1.0" dependencies: atomically: ^2.0.3 dot-prop: ^9.0.0 graceful-fs: ^4.2.11 xdg-basedir: ^5.1.0 - checksum: 1f8f1ca51d10d5ef54a346e12dd82c81918d28144ff5f41af0a6eb65c394c0e3a37d0f91931516d8964efff8fd8802c6478d13a35a6c7924e7a6c83f11d19c16 + checksum: 0b5958a3e7a9eebddfea64564e49bb60d3948c9a6b4d160bddf00862316e16b4566fe1f23962cdd28cd5c05ee93776324667dfa6530d74fb92dd7e8c54719eae languageName: node linkType: hard @@ -6580,21 +5406,12 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.37.1, core-js-compat@npm:^3.38.0": - version: 3.38.1 - resolution: "core-js-compat@npm:3.38.1" - dependencies: - browserslist: ^4.23.3 - checksum: a0a5673bcd59f588f0cd0b59cdacd4712b82909738a87406d334dd412eb3d273ae72b275bdd8e8fef63fca9ef12b42ed651be139c7c44c8a1acb423c8906992e - languageName: node - linkType: hard - -"core-js-compat@npm:^3.40.0": - version: 3.42.0 - resolution: "core-js-compat@npm:3.42.0" +"core-js-compat@npm:^3.43.0": + version: 3.46.0 + resolution: "core-js-compat@npm:3.46.0" dependencies: - browserslist: ^4.24.4 - checksum: 4f0a7db9ed9a95c4edae0749fe9a4d4d4f8f51a53c7c3e06049887500e98763732e8afef9628d2145f875b6e262567e951a77e4d06273f9eac273f5241259fd3 + browserslist: ^4.26.3 + checksum: 16d381c51e34d38ecc65d429d5a5c1dbd198f70b5a0a6256a3a41dcb8523e07f0a8682f6349298a55ff6e9d039e131d67b07fe863047a28672ae5f10373c57cf languageName: node linkType: hard @@ -6606,15 +5423,15 @@ __metadata: linkType: hard "cosmiconfig-typescript-loader@npm:^6.1.0": - version: 6.1.0 - resolution: "cosmiconfig-typescript-loader@npm:6.1.0" + version: 6.2.0 + resolution: "cosmiconfig-typescript-loader@npm:6.2.0" dependencies: - jiti: ^2.4.1 + jiti: ^2.6.1 peerDependencies: "@types/node": "*" cosmiconfig: ">=9" typescript: ">=5" - checksum: 45114854faaa97178abd2ccad511363faa57c03321c7e39ad16619c63842b3f6147dd20118f9f07c9530a242a39c3107c791708bb0b987dad374e71f23f9468b + checksum: 2680bb585de1185aa23ba678cb0426cba1be8fa0a9d286f71c2ce5bd63f23e5b8f726161673a16babb2aa0e7d033fda8774268a025fb63f548d1c75977292212 languageName: node linkType: hard @@ -6664,14 +5481,14 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" dependencies: path-key: ^3.1.0 shebang-command: ^2.0.0 which: ^2.0.1 - checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52 + checksum: 8d306efacaf6f3f60e0224c287664093fa9185680b2d195852ba9a863f85d02dcc737094c6e512175f8ee0161f9b87c73c6826034c2422e39de7d6569cf4503b languageName: node linkType: hard @@ -6696,43 +5513,43 @@ __metadata: languageName: node linkType: hard -"data-view-buffer@npm:^1.0.1": - version: 1.0.1 - resolution: "data-view-buffer@npm:1.0.1" +"data-view-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-buffer@npm:1.0.2" dependencies: - call-bind: ^1.0.6 + call-bound: ^1.0.3 es-errors: ^1.3.0 - is-data-view: ^1.0.1 - checksum: ce24348f3c6231223b216da92e7e6a57a12b4af81a23f27eff8feabdf06acfb16c00639c8b705ca4d167f761cfc756e27e5f065d0a1f840c10b907fdaf8b988c + is-data-view: ^1.0.2 + checksum: 1e1cd509c3037ac0f8ba320da3d1f8bf1a9f09b0be09394b5e40781b8cc15ff9834967ba7c9f843a425b34f9fe14ce44cf055af6662c44263424c1eb8d65659b languageName: node linkType: hard -"data-view-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "data-view-byte-length@npm:1.0.1" +"data-view-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-byte-length@npm:1.0.2" dependencies: - call-bind: ^1.0.7 + call-bound: ^1.0.3 es-errors: ^1.3.0 - is-data-view: ^1.0.1 - checksum: dbb3200edcb7c1ef0d68979834f81d64fd8cab2f7691b3a4c6b97e67f22182f3ec2c8602efd7b76997b55af6ff8bce485829c1feda4fa2165a6b71fb7baa4269 + is-data-view: ^1.0.2 + checksum: 3600c91ced1cfa935f19ef2abae11029e01738de8d229354d3b2a172bf0d7e4ed08ff8f53294b715569fdf72dfeaa96aa7652f479c0f60570878d88e7e8bddf6 languageName: node linkType: hard -"data-view-byte-offset@npm:^1.0.0": - version: 1.0.0 - resolution: "data-view-byte-offset@npm:1.0.0" +"data-view-byte-offset@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-byte-offset@npm:1.0.1" dependencies: - call-bind: ^1.0.6 + call-bound: ^1.0.2 es-errors: ^1.3.0 is-data-view: ^1.0.1 - checksum: 7f0bf8720b7414ca719eedf1846aeec392f2054d7af707c5dc9a753cc77eb8625f067fa901e0b5127e831f9da9056138d894b9c2be79c27a21f6db5824f009c2 + checksum: 8dd492cd51d19970876626b5b5169fbb67ca31ec1d1d3238ee6a71820ca8b80cafb141c485999db1ee1ef02f2cc3b99424c5eda8d59e852d9ebb79ab290eb5ee languageName: node linkType: hard "dayjs@npm:^1.8.15": - version: 1.11.13 - resolution: "dayjs@npm:1.11.13" - checksum: f388db88a6aa93956c1f6121644e783391c7b738b73dbc54485578736565c8931bdfba4bb94e9b1535c6e509c97d5deb918bbe1ae6b34358d994de735055cca9 + version: 1.11.18 + resolution: "dayjs@npm:1.11.18" + checksum: cc90054bad30ab011417a7a474b2ffa70e7a28ca6f834d7e86fe53a408a40a14c174f26155072628670e9eda4c48c4ed0d847d2edf83d47c0bfb78be15bbf2dd languageName: node linkType: hard @@ -6745,27 +5562,15 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": - version: 4.3.7 - resolution: "debug@npm:4.3.7" - dependencies: - ms: ^2.1.3 - peerDependenciesMeta: - supports-color: - optional: true - checksum: 822d74e209cd910ef0802d261b150314bbcf36c582ccdbb3e70f0894823c17e49a50d3e66d96b633524263975ca16b6a833f3e3b7e030c157169a5fabac63160 - languageName: node - linkType: hard - -"debug@npm:^4.4.0": - version: 4.4.1 - resolution: "debug@npm:4.4.1" +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.4.0, debug@npm:^4.4.1": + version: 4.4.3 + resolution: "debug@npm:4.4.3" dependencies: ms: ^2.1.3 peerDependenciesMeta: supports-color: optional: true - checksum: a43826a01cda685ee4cec00fb2d3322eaa90ccadbef60d9287debc2a886be3e835d9199c80070ede75a409ee57828c4c6cd80e4b154f2843f0dc95a570dc0729 + checksum: 4805abd570e601acdca85b6aa3757186084a45cff9b2fa6eee1f3b173caa776b45f478b2a71a572d616d2010cea9211d0ac4a02a610e4c18ac4324bde3760834 languageName: node linkType: hard @@ -6808,14 +5613,14 @@ __metadata: linkType: hard "dedent@npm:^1.0.0": - version: 1.5.3 - resolution: "dedent@npm:1.5.3" + version: 1.7.0 + resolution: "dedent@npm:1.7.0" peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: babel-plugin-macros: optional: true - checksum: 045b595557b2a8ea2eb9b0b4623d764e9a87326486fe2b61191b4342ed93dc01245644d8a09f3108a50c0ee7965f1eedd92e4a3a503ed89ea8e810566ea27f9a + checksum: e07a21b7ae078f2c6502b46e6e9fb3f5592dc48ad8c6142d501d1a85ee04cd3add5d62260a9b20f87674a80edada2032918ca0718597752c5cb90b36ab5066ec languageName: node linkType: hard @@ -6884,7 +5689,7 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": +"define-properties@npm:^1.1.3, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" dependencies: @@ -7046,9 +5851,20 @@ __metadata: linkType: hard "dotenv@npm:^16.4.5": - version: 16.4.5 - resolution: "dotenv@npm:16.4.5" - checksum: 301a12c3d44fd49888b74eb9ccf9f07a1f5df43f489e7fcb89647a2edcd84c42d6bc349dc8df099cd18f07c35c7b04685c1a4f3e6a6a9e6b30f8d48c15b7f49c + version: 16.6.1 + resolution: "dotenv@npm:16.6.1" + checksum: e8bd63c9a37f57934f7938a9cf35de698097fadf980cb6edb61d33b3e424ceccfe4d10f37130b904a973b9038627c2646a3365a904b4406514ea94d7f1816b69 + languageName: node + linkType: hard + +"dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: ^1.0.1 + es-errors: ^1.3.0 + gopd: ^1.2.0 + checksum: 149207e36f07bd4941921b0ca929e3a28f1da7bd6b6ff8ff7f4e2f2e460675af4576eeba359c635723dc189b64cdd4787e0255897d5b135ccc5d15cb8685fc90 languageName: node linkType: hard @@ -7066,24 +5882,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.160": - version: 1.5.165 - resolution: "electron-to-chromium@npm:1.5.165" - checksum: 49725e9c02fcc2b1a89aa2624603d151b1da1ac7a9c017d9ab91f894f463466fea210785b46dea184bbaf3871893b2dac8e062fe05b94348d8e2853e91737e63 - languageName: node - linkType: hard - -"electron-to-chromium@npm:^1.5.28": - version: 1.5.30 - resolution: "electron-to-chromium@npm:1.5.30" - checksum: b1a9003d32b7ef2075580941e868e1ba9a5b57e8e8e6b7a26462dea830c194d26906a00c92366b41e09bb794ff37ae73865b5c25cbe1f96ae931fc3faf6ded64 - languageName: node - linkType: hard - -"electron-to-chromium@npm:^1.5.41": - version: 1.5.42 - resolution: "electron-to-chromium@npm:1.5.42" - checksum: 8527f6e050b7f869d0135869587b3273fefa1cc2cbb9799bff552e10586b61860139758ee9824c803cdce632e24d4897bb7f67dcecf1c2bef279977fdfa9afa1 +"electron-to-chromium@npm:^1.5.227": + version: 1.5.237 + resolution: "electron-to-chromium@npm:1.5.237" + checksum: 5905e2808dc6243ced0a83537afbafedec20c063feb6403a678b612a7855d79bc6ecb7d094bdab71f54173cf2ae5d1d8070b0c31572025001c94de62af84f5f8 languageName: node linkType: hard @@ -7095,9 +5897,9 @@ __metadata: linkType: hard "emoji-regex@npm:^10.3.0": - version: 10.4.0 - resolution: "emoji-regex@npm:10.4.0" - checksum: a6d9a0e454829a52e664e049847776ee1fff5646617b06cd87de7c03ce1dfcce4102a3b154d5e9c8e90f8125bc120fc1fe114d523dddf60a8a161f26c72658d2 + version: 10.6.0 + resolution: "emoji-regex@npm:10.6.0" + checksum: 8785f6a7ec4559c931bd6640f748fe23791f5af4c743b131d458c5551b4aa7da2a9cd882518723cb3859e8b0b59b0cc08f2ce0f8e65c61a026eed71c2dc407d5 languageName: node linkType: hard @@ -7139,11 +5941,11 @@ __metadata: linkType: hard "end-of-stream@npm:^1.1.0": - version: 1.4.4 - resolution: "end-of-stream@npm:1.4.4" + version: 1.4.5 + resolution: "end-of-stream@npm:1.4.5" dependencies: once: ^1.4.0 - checksum: 530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b + checksum: 1e0cfa6e7f49887544e03314f9dfc56a8cb6dde910cbb445983ecc2ff426fc05946df9d75d8a21a3a64f2cecfe1bf88f773952029f46756b2ed64a24e95b1fb8 languageName: node linkType: hard @@ -7162,11 +5964,11 @@ __metadata: linkType: hard "envinfo@npm:^7.13.0": - version: 7.14.0 - resolution: "envinfo@npm:7.14.0" + version: 7.19.0 + resolution: "envinfo@npm:7.19.0" bin: envinfo: dist/cli.js - checksum: 137c1dd9a4d5781c4a6cdc6b695454ba3c4ba1829f73927198aa4122f11b35b59d7b2cb7e1ceea1364925a30278897548511d22f860c14253a33797d0bebd551 + checksum: ae27a34200fab30c6898867b63024b016bf883f8a166854055be5ccda34d7e7fc81b5048df21f7f9acaf8f6ce49cf91247c5a58df8bb054ed08ccdab9ab12fe8 languageName: node linkType: hard @@ -7178,11 +5980,11 @@ __metadata: linkType: hard "error-ex@npm:^1.3.1": - version: 1.3.2 - resolution: "error-ex@npm:1.3.2" + version: 1.3.4 + resolution: "error-ex@npm:1.3.4" dependencies: is-arrayish: ^0.2.1 - checksum: c1c2b8b65f9c91b0f9d75f0debaa7ec5b35c266c2cac5de412c1a6de86d4cbae04ae44e510378cb14d032d0645a36925d0186f8bb7367bcc629db256b743a001 + checksum: 25136c0984569c8d68417036a9a1624804314296f24675199a391e5d20b2e26fe6d9304d40901293fa86900603a229983c9a8921ea7f1d16f814c2db946ff4ef languageName: node linkType: hard @@ -7205,135 +6007,144 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.17.5, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3": - version: 1.23.3 - resolution: "es-abstract@npm:1.23.3" +"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9, es-abstract@npm:^1.24.0": + version: 1.24.0 + resolution: "es-abstract@npm:1.24.0" dependencies: - array-buffer-byte-length: ^1.0.1 - arraybuffer.prototype.slice: ^1.0.3 + array-buffer-byte-length: ^1.0.2 + arraybuffer.prototype.slice: ^1.0.4 available-typed-arrays: ^1.0.7 - call-bind: ^1.0.7 - data-view-buffer: ^1.0.1 - data-view-byte-length: ^1.0.1 - data-view-byte-offset: ^1.0.0 - es-define-property: ^1.0.0 + call-bind: ^1.0.8 + call-bound: ^1.0.4 + data-view-buffer: ^1.0.2 + data-view-byte-length: ^1.0.2 + data-view-byte-offset: ^1.0.1 + es-define-property: ^1.0.1 es-errors: ^1.3.0 - es-object-atoms: ^1.0.0 - es-set-tostringtag: ^2.0.3 - es-to-primitive: ^1.2.1 - function.prototype.name: ^1.1.6 - get-intrinsic: ^1.2.4 - get-symbol-description: ^1.0.2 - globalthis: ^1.0.3 - gopd: ^1.0.1 + es-object-atoms: ^1.1.1 + es-set-tostringtag: ^2.1.0 + es-to-primitive: ^1.3.0 + function.prototype.name: ^1.1.8 + get-intrinsic: ^1.3.0 + get-proto: ^1.0.1 + get-symbol-description: ^1.1.0 + globalthis: ^1.0.4 + gopd: ^1.2.0 has-property-descriptors: ^1.0.2 - has-proto: ^1.0.3 - has-symbols: ^1.0.3 + has-proto: ^1.2.0 + has-symbols: ^1.1.0 hasown: ^2.0.2 - internal-slot: ^1.0.7 - is-array-buffer: ^3.0.4 + internal-slot: ^1.1.0 + is-array-buffer: ^3.0.5 is-callable: ^1.2.7 - is-data-view: ^1.0.1 + is-data-view: ^1.0.2 is-negative-zero: ^2.0.3 - is-regex: ^1.1.4 - is-shared-array-buffer: ^1.0.3 - is-string: ^1.0.7 - is-typed-array: ^1.1.13 - is-weakref: ^1.0.2 - object-inspect: ^1.13.1 + is-regex: ^1.2.1 + is-set: ^2.0.3 + is-shared-array-buffer: ^1.0.4 + is-string: ^1.1.1 + is-typed-array: ^1.1.15 + is-weakref: ^1.1.1 + math-intrinsics: ^1.1.0 + object-inspect: ^1.13.4 object-keys: ^1.1.1 - object.assign: ^4.1.5 - regexp.prototype.flags: ^1.5.2 - safe-array-concat: ^1.1.2 - safe-regex-test: ^1.0.3 - string.prototype.trim: ^1.2.9 - string.prototype.trimend: ^1.0.8 + object.assign: ^4.1.7 + own-keys: ^1.0.1 + regexp.prototype.flags: ^1.5.4 + safe-array-concat: ^1.1.3 + safe-push-apply: ^1.0.0 + safe-regex-test: ^1.1.0 + set-proto: ^1.0.0 + stop-iteration-iterator: ^1.1.0 + string.prototype.trim: ^1.2.10 + string.prototype.trimend: ^1.0.9 string.prototype.trimstart: ^1.0.8 - typed-array-buffer: ^1.0.2 - typed-array-byte-length: ^1.0.1 - typed-array-byte-offset: ^1.0.2 - typed-array-length: ^1.0.6 - unbox-primitive: ^1.0.2 - which-typed-array: ^1.1.15 - checksum: f840cf161224252512f9527306b57117192696571e07920f777cb893454e32999206198b4f075516112af6459daca282826d1735c450528470356d09eff3a9ae + typed-array-buffer: ^1.0.3 + typed-array-byte-length: ^1.0.3 + typed-array-byte-offset: ^1.0.4 + typed-array-length: ^1.0.7 + unbox-primitive: ^1.1.0 + which-typed-array: ^1.1.19 + checksum: 06b3d605e56e3da9d16d4db2629a42dac1ca31f2961a41d15c860422a266115e865b43e82d6b9da81a0fabbbb65ebc12fb68b0b755bc9dbddacb6bf7450e96df languageName: node linkType: hard -"es-define-property@npm:^1.0.0": - version: 1.0.0 - resolution: "es-define-property@npm:1.0.0" - dependencies: - get-intrinsic: ^1.2.4 - checksum: f66ece0a887b6dca71848fa71f70461357c0e4e7249696f81bad0a1f347eed7b31262af4a29f5d726dc026426f085483b6b90301855e647aa8e21936f07293c6 +"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 0512f4e5d564021c9e3a644437b0155af2679d10d80f21adaf868e64d30efdfbd321631956f20f42d655fedb2e3a027da479fad3fa6048f768eb453a80a5f80a languageName: node linkType: hard -"es-errors@npm:^1.2.1, es-errors@npm:^1.3.0": +"es-errors@npm:^1.3.0": version: 1.3.0 resolution: "es-errors@npm:1.3.0" checksum: ec1414527a0ccacd7f15f4a3bc66e215f04f595ba23ca75cdae0927af099b5ec865f9f4d33e9d7e86f512f252876ac77d4281a7871531a50678132429b1271b5 languageName: node linkType: hard -"es-iterator-helpers@npm:^1.0.19": - version: 1.0.19 - resolution: "es-iterator-helpers@npm:1.0.19" +"es-iterator-helpers@npm:^1.2.1": + version: 1.2.1 + resolution: "es-iterator-helpers@npm:1.2.1" dependencies: - call-bind: ^1.0.7 + call-bind: ^1.0.8 + call-bound: ^1.0.3 define-properties: ^1.2.1 - es-abstract: ^1.23.3 + es-abstract: ^1.23.6 es-errors: ^1.3.0 es-set-tostringtag: ^2.0.3 function-bind: ^1.1.2 - get-intrinsic: ^1.2.4 - globalthis: ^1.0.3 + get-intrinsic: ^1.2.6 + globalthis: ^1.0.4 + gopd: ^1.2.0 has-property-descriptors: ^1.0.2 - has-proto: ^1.0.3 - has-symbols: ^1.0.3 - internal-slot: ^1.0.7 - iterator.prototype: ^1.1.2 - safe-array-concat: ^1.1.2 - checksum: 7ae112b88359fbaf4b9d7d1d1358ae57c5138768c57ba3a8fb930393662653b0512bfd7917c15890d1471577fb012fee8b73b4465e59b331739e6ee94f961683 + has-proto: ^1.2.0 + has-symbols: ^1.1.0 + internal-slot: ^1.1.0 + iterator.prototype: ^1.1.4 + safe-array-concat: ^1.1.3 + checksum: 952808dd1df3643d67ec7adf20c30b36e5eecadfbf36354e6f39ed3266c8e0acf3446ce9bc465e38723d613cb1d915c1c07c140df65bdce85da012a6e7bda62b languageName: node linkType: hard -"es-object-atoms@npm:^1.0.0": - version: 1.0.0 - resolution: "es-object-atoms@npm:1.0.0" +"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" dependencies: es-errors: ^1.3.0 - checksum: 26f0ff78ab93b63394e8403c353842b2272836968de4eafe97656adfb8a7c84b9099bf0fe96ed58f4a4cddc860f6e34c77f91649a58a5daa4a9c40b902744e3c + checksum: 214d3767287b12f36d3d7267ef342bbbe1e89f899cfd67040309fc65032372a8e60201410a99a1645f2f90c1912c8c49c8668066f6bdd954bcd614dda2e3da97 languageName: node linkType: hard -"es-set-tostringtag@npm:^2.0.3": - version: 2.0.3 - resolution: "es-set-tostringtag@npm:2.0.3" +"es-set-tostringtag@npm:^2.0.3, es-set-tostringtag@npm:^2.1.0": + version: 2.1.0 + resolution: "es-set-tostringtag@npm:2.1.0" dependencies: - get-intrinsic: ^1.2.4 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.6 has-tostringtag: ^1.0.2 - hasown: ^2.0.1 - checksum: 7227fa48a41c0ce83e0377b11130d324ac797390688135b8da5c28994c0165be8b252e15cd1de41e1325e5a5412511586960213e88f9ab4a5e7d028895db5129 + hasown: ^2.0.2 + checksum: 789f35de4be3dc8d11fdcb91bc26af4ae3e6d602caa93299a8c45cf05d36cc5081454ae2a6d3afa09cceca214b76c046e4f8151e092e6fc7feeb5efb9e794fc6 languageName: node linkType: hard -"es-shim-unscopables@npm:^1.0.0, es-shim-unscopables@npm:^1.0.2": - version: 1.0.2 - resolution: "es-shim-unscopables@npm:1.0.2" +"es-shim-unscopables@npm:^1.0.2": + version: 1.1.0 + resolution: "es-shim-unscopables@npm:1.1.0" dependencies: - hasown: ^2.0.0 - checksum: 432bd527c62065da09ed1d37a3f8e623c423683285e6188108286f4a1e8e164a5bcbfbc0051557c7d14633cd2a41ce24c7048e6bbb66a985413fd32f1be72626 + hasown: ^2.0.2 + checksum: 33cfb1ebcb2f869f0bf528be1a8660b4fe8b6cec8fc641f330e508db2284b58ee2980fad6d0828882d22858c759c0806076427a3673b6daa60f753e3b558ee15 languageName: node linkType: hard -"es-to-primitive@npm:^1.2.1": - version: 1.2.1 - resolution: "es-to-primitive@npm:1.2.1" +"es-to-primitive@npm:^1.3.0": + version: 1.3.0 + resolution: "es-to-primitive@npm:1.3.0" dependencies: - is-callable: ^1.1.4 - is-date-object: ^1.0.1 - is-symbol: ^1.0.2 - checksum: 4ead6671a2c1402619bdd77f3503991232ca15e17e46222b0a41a5d81aebc8740a77822f5b3c965008e631153e9ef0580540007744521e72de8e33599fca2eed + is-callable: ^1.2.7 + is-date-object: ^1.0.5 + is-symbol: ^1.0.4 + checksum: 966965880356486cd4d1fe9a523deda2084c81b3702d951212c098f5f2ee93605d1b7c1840062efb48a07d892641c7ed1bc194db563645c0dd2b919cb6d65b93 languageName: node linkType: hard @@ -7358,7 +6169,7 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:5.0.0": +"escape-string-regexp@npm:5.0.0, escape-string-regexp@npm:^5.0.0": version: 5.0.0 resolution: "escape-string-regexp@npm:5.0.0" checksum: 20daabe197f3cb198ec28546deebcf24b3dbb1a5a269184381b3116d12f0532e06007f4bc8da25669d6a7f8efb68db0758df4cd981f57bc5b57f521a3e12c59e @@ -7405,24 +6216,24 @@ __metadata: linkType: hard "eslint-config-prettier@npm:^8.5.0": - version: 8.10.0 - resolution: "eslint-config-prettier@npm:8.10.0" + version: 8.10.2 + resolution: "eslint-config-prettier@npm:8.10.2" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: 153266badd477e49b0759816246b2132f1dbdb6c7f313ca60a9af5822fd1071c2bc5684a3720d78b725452bbac04bb130878b2513aea5e72b1b792de5a69fec8 + checksum: a92b7e8a996e65adf79de1579524235687e9d3552d088cfab4f170da60d23762addb4276169c8ca3a9551329dda8408c59f7e414101b238a6385379ac1bc3b16 languageName: node linkType: hard "eslint-config-prettier@npm:^9.0.0": - version: 9.1.0 - resolution: "eslint-config-prettier@npm:9.1.0" + version: 9.1.2 + resolution: "eslint-config-prettier@npm:9.1.2" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: 9229b768c879f500ee54ca05925f31b0c0bafff3d9f5521f98ff05127356de78c81deb9365c86a5ec4efa990cb72b74df8612ae15965b14136044c73e1f6a907 + checksum: e786b767331094fd024cb1b0899964a9da0602eaf4ebd617d6d9794752ccd04dbe997e3c14c17f256c97af20bee1c83c9273f69b74cb2081b6f514580d62408f languageName: node linkType: hard @@ -7470,8 +6281,8 @@ __metadata: linkType: hard "eslint-plugin-jest@npm:^28.9.0": - version: 28.9.0 - resolution: "eslint-plugin-jest@npm:28.9.0" + version: 28.14.0 + resolution: "eslint-plugin-jest@npm:28.14.0" dependencies: "@typescript-eslint/utils": ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependencies: @@ -7483,27 +6294,27 @@ __metadata: optional: true jest: optional: true - checksum: 90863fab5f3f2f033d98042b13769dc82504c489506872ae9926a1d2b6bcc25c5dc41105e28643f5eb81943aff1aa1cd4d44ada5c1add0a43f1c7a619adbc3d2 + checksum: 7daeb0ebc360ba159474246cef8ea7f0a3e020652571d948022af73bec7a53dd436b48de81332fd4d5d5556ef1046cec0e6a2213287a461e4e81390ce76ad2e7 languageName: node linkType: hard "eslint-plugin-prettier@npm:^5.0.1": - version: 5.2.1 - resolution: "eslint-plugin-prettier@npm:5.2.1" + version: 5.5.4 + resolution: "eslint-plugin-prettier@npm:5.5.4" dependencies: prettier-linter-helpers: ^1.0.0 - synckit: ^0.9.1 + synckit: ^0.11.7 peerDependencies: "@types/eslint": ">=8.0.0" eslint: ">=8.0.0" - eslint-config-prettier: "*" + eslint-config-prettier: ">= 7.0.0 <10.0.0 || >=10.1.0" prettier: ">=3.0.0" peerDependenciesMeta: "@types/eslint": optional: true eslint-config-prettier: optional: true - checksum: 812f4d1596dcd3a55963212dfbd818a4b38f880741aac75f6869aa740dc5d934060674d3b85d10ff9fec424defa61967dbdef26b8a893a92c9b51880264ed0d9 + checksum: 0dd05ed85018ab0e98da80325b7bd4c4ab6dd684398f1270a7c8cf4261df714dd4502ba4c7f85f651aade9989da0a7d2adda03af8873b73b52014141abf385de languageName: node linkType: hard @@ -7535,30 +6346,30 @@ __metadata: linkType: hard "eslint-plugin-react@npm:^7.30.1": - version: 7.37.0 - resolution: "eslint-plugin-react@npm:7.37.0" + version: 7.37.5 + resolution: "eslint-plugin-react@npm:7.37.5" dependencies: array-includes: ^3.1.8 array.prototype.findlast: ^1.2.5 - array.prototype.flatmap: ^1.3.2 + array.prototype.flatmap: ^1.3.3 array.prototype.tosorted: ^1.1.4 doctrine: ^2.1.0 - es-iterator-helpers: ^1.0.19 + es-iterator-helpers: ^1.2.1 estraverse: ^5.3.0 hasown: ^2.0.2 jsx-ast-utils: ^2.4.1 || ^3.0.0 minimatch: ^3.1.2 - object.entries: ^1.1.8 + object.entries: ^1.1.9 object.fromentries: ^2.0.8 - object.values: ^1.2.0 + object.values: ^1.2.1 prop-types: ^15.8.1 resolve: ^2.0.0-next.5 semver: ^6.3.1 - string.prototype.matchall: ^4.0.11 + string.prototype.matchall: ^4.0.12 string.prototype.repeat: ^1.0.0 peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - checksum: ece92e28b34ced0fd6bddebd41234ee53187b236fd507abef4f61cc868e27edd94fb7e290f44ff546037a6862c3302e848185a5e6511e2bcdf1883a1bfaa4ffc + checksum: 8675e7558e646e3c2fcb04bb60cfe416000b831ef0b363f0117838f5bfc799156113cb06058ad4d4b39fc730903b7360b05038da11093064ca37caf76b7cf2ca languageName: node linkType: hard @@ -7606,6 +6417,13 @@ __metadata: languageName: node linkType: hard +"eslint-visitor-keys@npm:^4.2.1": + version: 4.2.1 + resolution: "eslint-visitor-keys@npm:4.2.1" + checksum: 3a77e3f99a49109f6fb2c5b7784bc78f9743b834d238cdba4d66c602c6b52f19ed7bcd0a5c5dbbeae3a8689fd785e76c001799f53d2228b278282cf9f699fff5 + languageName: node + linkType: hard + "eslint@npm:^8.51.0, eslint@npm:^8.57.1": version: 8.57.1 resolution: "eslint@npm:8.57.1" @@ -7800,9 +6618,9 @@ __metadata: linkType: hard "exponential-backoff@npm:^3.1.1": - version: 3.1.1 - resolution: "exponential-backoff@npm:3.1.1" - checksum: 3d21519a4f8207c99f7457287291316306255a328770d320b401114ec8481986e4e467e854cb9914dd965e0a1ca810a23ccb559c642c88f4c7f55c55778a9b48 + version: 3.1.3 + resolution: "exponential-backoff@npm:3.1.3" + checksum: 471fdb70fd3d2c08a74a026973bdd4105b7832911f610ca67bbb74e39279411c1eed2f2a110c9d41c2edd89459ba58fdaba1c174beed73e7a42d773882dcff82 languageName: node linkType: hard @@ -7831,16 +6649,16 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" +"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2, fast-glob@npm:^3.3.3": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" dependencies: "@nodelib/fs.stat": ^2.0.2 "@nodelib/fs.walk": ^1.2.3 glob-parent: ^5.1.2 merge2: ^1.3.0 - micromatch: ^4.0.4 - checksum: 900e4979f4dbc3313840078419245621259f349950411ca2fa445a2f9a1a6d98c3b5e7e0660c5ccd563aa61abe133a21765c6c0dec8e57da1ba71d8000b05ec1 + micromatch: ^4.0.8 + checksum: 0704d7b85c0305fd2cef37777337dfa26230fdd072dce9fb5c82a4b03156f3ffb8ed3e636033e65d45d2a5805a4e475825369a27404c0307f2db0c8eb3366fbd languageName: node linkType: hard @@ -7859,29 +6677,29 @@ __metadata: linkType: hard "fast-uri@npm:^3.0.1": - version: 3.0.2 - resolution: "fast-uri@npm:3.0.2" - checksum: ca00aadc84e0ab93a8a1700c386bc7cbeb49f47d9801083c258444eed31221fdf864d68fb48ea8acd7c512bf046b53c09e3aafd6d4bdb9449ed21be29d8d6f75 + version: 3.1.0 + resolution: "fast-uri@npm:3.1.0" + checksum: daab0efd3548cc53d0db38ecc764d125773f8bd70c34552ff21abdc6530f26fa4cb1771f944222ca5e61a0a1a85d01a104848ff88c61736de445d97bd616ea7e languageName: node linkType: hard "fast-xml-parser@npm:^4.4.1": - version: 4.5.0 - resolution: "fast-xml-parser@npm:4.5.0" + version: 4.5.3 + resolution: "fast-xml-parser@npm:4.5.3" dependencies: - strnum: ^1.0.5 + strnum: ^1.1.1 bin: fxparser: src/cli/cli.js - checksum: 696dc98da46f0f48eb26dfe1640a53043ea64f2420056374e62abbb5e620f092f8df3c3ff3195505a2eefab2057db3bf0ebaac63557f277934f6cce4e7da027c + checksum: cd6a184941ec6c23f9e6b514421a3f396cfdff5f4a8c7c27bd0eff896edb4a2b55c27da16f09b789663613dfc4933602b9b71ac3e9d1d2ddcc0492fc46c8fa52 languageName: node linkType: hard "fastq@npm:^1.6.0": - version: 1.17.1 - resolution: "fastq@npm:1.17.1" + version: 1.19.1 + resolution: "fastq@npm:1.19.1" dependencies: reusify: ^1.0.4 - checksum: a8c5b26788d5a1763f88bae56a8ddeee579f935a831c5fe7a8268cea5b0a91fbfe705f612209e02d639b881d7b48e461a50da4a10cfaa40da5ca7cc9da098d88 + checksum: 7691d1794fb84ad0ec2a185f10e00f0e1713b894e2c9c4d42f0bc0ba5f8c00e6e655a202074ca0b91b9c3d977aab7c30c41a8dc069fb5368576ac0054870a0e6 languageName: node linkType: hard @@ -7894,6 +6712,18 @@ __metadata: languageName: node linkType: hard +"fdir@npm:^6.5.0": + version: 6.5.0 + resolution: "fdir@npm:6.5.0" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: bd537daa9d3cd53887eed35efa0eab2dbb1ca408790e10e024120e7a36c6e9ae2b33710cb8381e35def01bc9c1d7eaba746f886338413e68ff6ebaee07b9a6e8 + languageName: node + linkType: hard + "file-entry-cache@npm:^6.0.1": version: 6.0.1 resolution: "file-entry-cache@npm:6.0.1" @@ -8002,9 +6832,9 @@ __metadata: linkType: hard "flatted@npm:^3.2.9": - version: 3.3.1 - resolution: "flatted@npm:3.3.1" - checksum: 85ae7181650bb728c221e7644cbc9f4bf28bc556f2fc89bb21266962bdf0ce1029cc7acc44bb646cd469d9baac7c317f64e841c4c4c00516afa97320cdac7f94 + version: 3.3.3 + resolution: "flatted@npm:3.3.3" + checksum: 8c96c02fbeadcf4e8ffd0fa24983241e27698b0781295622591fc13585e2f226609d95e422bcf2ef044146ffacb6b68b1f20871454eddf75ab3caa6ee5f4a1fe languageName: node linkType: hard @@ -8015,22 +6845,22 @@ __metadata: languageName: node linkType: hard -"for-each@npm:^0.3.3": - version: 0.3.3 - resolution: "for-each@npm:0.3.3" +"for-each@npm:^0.3.3, for-each@npm:^0.3.5": + version: 0.3.5 + resolution: "for-each@npm:0.3.5" dependencies: - is-callable: ^1.1.3 - checksum: 6c48ff2bc63362319c65e2edca4a8e1e3483a2fabc72fbe7feaf8c73db94fc7861bd53bc02c8a66a0c1dd709da6b04eec42e0abdd6b40ce47305ae92a25e5d28 + is-callable: ^1.2.7 + checksum: 3c986d7e11f4381237cc98baa0a2f87eabe74719eee65ed7bed275163082b940ede19268c61d04c6260e0215983b12f8d885e3c8f9aa8c2113bf07c37051745c languageName: node linkType: hard "foreground-child@npm:^3.1.0": - version: 3.3.0 - resolution: "foreground-child@npm:3.3.0" + version: 3.3.1 + resolution: "foreground-child@npm:3.3.1" dependencies: - cross-spawn: ^7.0.0 + cross-spawn: ^7.0.6 signal-exit: ^4.0.1 - checksum: 1989698488f725b05b26bc9afc8a08f08ec41807cd7b92ad85d96004ddf8243fd3e79486b8348c64a3011ae5cc2c9f0936af989e1f28339805d8bc178a75b451 + checksum: b2c1a6fc0bf0233d645d9fefdfa999abf37db1b33e5dab172b3cbfb0662b88bfbd2c9e7ab853533d199050ec6b65c03fcf078fc212d26e4990220e98c6930eef languageName: node linkType: hard @@ -8052,17 +6882,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^11.2.0": - version: 11.2.0 - resolution: "fs-extra@npm:11.2.0" - dependencies: - graceful-fs: ^4.2.0 - jsonfile: ^6.0.1 - universalify: ^2.0.0 - checksum: b12e42fa40ba47104202f57b8480dd098aa931c2724565e5e70779ab87605665594e76ee5fb00545f772ab9ace167fe06d2ab009c416dc8c842c5ae6df7aa7e8 - languageName: node - linkType: hard - "fs-extra@npm:^8.1.0": version: 8.1.0 resolution: "fs-extra@npm:8.1.0" @@ -8074,15 +6893,6 @@ __metadata: languageName: node linkType: hard -"fs-minipass@npm:^2.0.0": - version: 2.1.0 - resolution: "fs-minipass@npm:2.1.0" - dependencies: - minipass: ^3.0.0 - checksum: 1b8d128dae2ac6cc94230cc5ead341ba3e0efaef82dab46a33d171c044caaa6ca001364178d42069b2809c35a1c3c35079a32107c770e9ffab3901b59af8c8b1 - languageName: node - linkType: hard - "fs-minipass@npm:^3.0.0": version: 3.0.3 resolution: "fs-minipass@npm:3.0.3" @@ -8125,15 +6935,17 @@ __metadata: languageName: node linkType: hard -"function.prototype.name@npm:^1.1.6": - version: 1.1.6 - resolution: "function.prototype.name@npm:1.1.6" +"function.prototype.name@npm:^1.1.6, function.prototype.name@npm:^1.1.8": + version: 1.1.8 + resolution: "function.prototype.name@npm:1.1.8" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 + call-bind: ^1.0.8 + call-bound: ^1.0.3 + define-properties: ^1.2.1 functions-have-names: ^1.2.3 - checksum: 7a3f9bd98adab09a07f6e1f03da03d3f7c26abbdeaeee15223f6c04a9fb5674792bdf5e689dac19b97ac71de6aad2027ba3048a9b883aa1b3173eed6ab07f479 + hasown: ^2.0.2 + is-callable: ^1.2.7 + checksum: 3a366535dc08b25f40a322efefa83b2da3cd0f6da41db7775f2339679120ef63b6c7e967266182609e655b8f0a8f65596ed21c7fd72ad8bd5621c2340edd4010 languageName: node linkType: hard @@ -8144,6 +6956,13 @@ __metadata: languageName: node linkType: hard +"generator-function@npm:^2.0.0": + version: 2.0.1 + resolution: "generator-function@npm:2.0.1" + checksum: 3bf87f7b0230de5d74529677e6c3ceb3b7b5d9618b5a22d92b45ce3876defbaf5a77791b25a61b0fa7d13f95675b5ff67a7769f3b9af33f096e34653519e873d + languageName: node + linkType: hard + "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -8159,22 +6978,30 @@ __metadata: linkType: hard "get-east-asian-width@npm:^1.0.0": - version: 1.3.0 - resolution: "get-east-asian-width@npm:1.3.0" - checksum: 757a34c7a46ff385e2775f96f9d3e553f6b6666a8898fb89040d36a1010fba692332772945606a7d4b0f0c6afb84cd394e75d5477c56e1f00f1eb79603b0aecc + version: 1.4.0 + resolution: "get-east-asian-width@npm:1.4.0" + checksum: 1d9a81a8004f4217ebef5d461875047d269e4b57e039558fd65130877cd4da8e3f61e1c4eada0c8b10e2816c7baf7d5fddb7006f561da13bc6f6dd19c1e964a4 languageName: node linkType: hard -"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": - version: 1.2.4 - resolution: "get-intrinsic@npm:1.2.4" +"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0": + version: 1.3.1 + resolution: "get-intrinsic@npm:1.3.1" dependencies: + async-function: ^1.0.0 + async-generator-function: ^1.0.0 + call-bind-apply-helpers: ^1.0.2 + es-define-property: ^1.0.1 es-errors: ^1.3.0 + es-object-atoms: ^1.1.1 function-bind: ^1.1.2 - has-proto: ^1.0.1 - has-symbols: ^1.0.3 - hasown: ^2.0.0 - checksum: 414e3cdf2c203d1b9d7d33111df746a4512a1aa622770b361dadddf8ed0b5aeb26c560f49ca077e24bfafb0acb55ca908d1f709216ccba33ffc548ec8a79a951 + generator-function: ^2.0.0 + get-proto: ^1.0.1 + gopd: ^1.2.0 + has-symbols: ^1.1.0 + hasown: ^2.0.2 + math-intrinsics: ^1.1.0 + checksum: c02b3b6a445f9cd53e14896303794ac60f9751f58a69099127248abdb0251957174c6524245fc68579dc8e6a35161d3d94c93e665f808274716f4248b269436a languageName: node linkType: hard @@ -8185,6 +7012,16 @@ __metadata: languageName: node linkType: hard +"get-proto@npm:^1.0.0, get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" + dependencies: + dunder-proto: ^1.0.1 + es-object-atoms: ^1.0.0 + checksum: 4fc96afdb58ced9a67558698b91433e6b037aaa6f1493af77498d7c85b141382cf223c0e5946f334fb328ee85dfe6edd06d218eaf09556f4bc4ec6005d7f5f7b + languageName: node + linkType: hard + "get-stream@npm:^5.0.0": version: 5.2.0 resolution: "get-stream@npm:5.2.0" @@ -8208,26 +7045,25 @@ __metadata: languageName: node linkType: hard -"get-symbol-description@npm:^1.0.2": - version: 1.0.2 - resolution: "get-symbol-description@npm:1.0.2" +"get-symbol-description@npm:^1.1.0": + version: 1.1.0 + resolution: "get-symbol-description@npm:1.1.0" dependencies: - call-bind: ^1.0.5 + call-bound: ^1.0.3 es-errors: ^1.3.0 - get-intrinsic: ^1.2.4 - checksum: e1cb53bc211f9dbe9691a4f97a46837a553c4e7caadd0488dc24ac694db8a390b93edd412b48dcdd0b4bbb4c595de1709effc75fc87c0839deedc6968f5bd973 + get-intrinsic: ^1.2.6 + checksum: 655ed04db48ee65ef2ddbe096540d4405e79ba0a7f54225775fef43a7e2afcb93a77d141c5f05fdef0afce2eb93bcbfb3597142189d562ac167ff183582683cd languageName: node linkType: hard "get-uri@npm:^6.0.1": - version: 6.0.3 - resolution: "get-uri@npm:6.0.3" + version: 6.0.5 + resolution: "get-uri@npm:6.0.5" dependencies: basic-ftp: ^5.0.2 data-uri-to-buffer: ^6.0.2 debug: ^4.3.4 - fs-extra: ^11.2.0 - checksum: 3eda448a59fa1ba82ad4f252e58490fec586b644f2dc9c98ba3ab20e801ecc8a1bc1784829c474c9d188edb633d4dfd81c33894ca6117a33a16e8e013b41b40f + checksum: aef94dbecde44bc9cd23f5c1b6af5bf772a3d16612c0fc37d3a4056ffd202f2cdd329746d4fdc2124813ea6c8b1c5279f3749d27226a2b161df43dbcb70082e3 languageName: node linkType: hard @@ -8305,7 +7141,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.2.2, glob@npm:^10.3.10": +"glob@npm:^10.2.2": version: 10.4.5 resolution: "glob@npm:10.4.5" dependencies: @@ -8369,13 +7205,6 @@ __metadata: languageName: node linkType: hard -"globals@npm:^11.1.0": - version: 11.12.0 - resolution: "globals@npm:11.12.0" - checksum: 67051a45eca3db904aee189dfc7cd53c20c7d881679c93f6146ddd4c9f4ab2268e68a919df740d39c71f4445d2b38ee360fc234428baea1dbdfe68bbcb46979e - languageName: node - linkType: hard - "globals@npm:^13.19.0": version: 13.24.0 resolution: "globals@npm:13.24.0" @@ -8385,7 +7214,7 @@ __metadata: languageName: node linkType: hard -"globalthis@npm:^1.0.3": +"globalthis@npm:^1.0.4": version: 1.0.4 resolution: "globalthis@npm:1.0.4" dependencies: @@ -8436,12 +7265,10 @@ __metadata: languageName: node linkType: hard -"gopd@npm:^1.0.1": - version: 1.0.1 - resolution: "gopd@npm:1.0.1" - dependencies: - get-intrinsic: ^1.1.3 - checksum: a5ccfb8806e0917a94e0b3de2af2ea4979c1da920bc381667c260e00e7cafdbe844e2cb9c5bcfef4e5412e8bf73bab837285bc35c7ba73aaaf0134d4583393a6 +"gopd@npm:^1.0.1, gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: cc6d8e655e360955bdccaca51a12a474268f95bb793fc3e1f2bdadb075f28bfd1fd988dab872daf77a61d78cbaf13744bc8727a17cfb1d150d76047d805375f3 languageName: node linkType: hard @@ -8500,17 +7327,10 @@ __metadata: languageName: node linkType: hard -"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": - version: 1.0.2 - resolution: "has-bigints@npm:1.0.2" - checksum: 390e31e7be7e5c6fe68b81babb73dfc35d413604d7ee5f56da101417027a4b4ce6a27e46eff97ad040c835b5d228676eae99a9b5c3bc0e23c8e81a49241ff45b - languageName: node - linkType: hard - -"has-flag@npm:^3.0.0": - version: 3.0.0 - resolution: "has-flag@npm:3.0.0" - checksum: 4a15638b454bf086c8148979aae044dd6e39d63904cd452d970374fa6a87623423da485dfb814e7be882e05c096a7ccf1ebd48e7e7501d0208d8384ff4dea73b +"has-bigints@npm:^1.0.2": + version: 1.1.0 + resolution: "has-bigints@npm:1.1.0" + checksum: 79730518ae02c77e4af6a1d1a0b6a2c3e1509785532771f9baf0241e83e36329542c3d7a0e723df8cbc85f74eff4f177828a2265a01ba576adbdc2d40d86538b languageName: node linkType: hard @@ -8530,21 +7350,23 @@ __metadata: languageName: node linkType: hard -"has-proto@npm:^1.0.1, has-proto@npm:^1.0.3": - version: 1.0.3 - resolution: "has-proto@npm:1.0.3" - checksum: fe7c3d50b33f50f3933a04413ed1f69441d21d2d2944f81036276d30635cad9279f6b43bc8f32036c31ebdfcf6e731150f46c1907ad90c669ffe9b066c3ba5c4 +"has-proto@npm:^1.2.0": + version: 1.2.0 + resolution: "has-proto@npm:1.2.0" + dependencies: + dunder-proto: ^1.0.0 + checksum: f55010cb94caa56308041d77967c72a02ffd71386b23f9afa8447e58bc92d49d15c19bf75173713468e92fe3fb1680b03b115da39c21c32c74886d1d50d3e7ff languageName: node linkType: hard -"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": - version: 1.0.3 - resolution: "has-symbols@npm:1.0.3" - checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 +"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: b2316c7302a0e8ba3aaba215f834e96c22c86f192e7310bdf689dd0e6999510c89b00fbc5742571507cebf25764d68c988b3a0da217369a73596191ac0ce694b languageName: node linkType: hard -"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.2": +"has-tostringtag@npm:^1.0.2": version: 1.0.2 resolution: "has-tostringtag@npm:1.0.2" dependencies: @@ -8553,7 +7375,7 @@ __metadata: languageName: node linkType: hard -"hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2": +"hasown@npm:^2.0.2": version: 2.0.2 resolution: "hasown@npm:2.0.2" dependencies: @@ -8583,6 +7405,13 @@ __metadata: languageName: node linkType: hard +"hermes-estree@npm:0.29.1": + version: 0.29.1 + resolution: "hermes-estree@npm:0.29.1" + checksum: a72fe490d99ba2f56b3e22f3d050ca7757cc8dc9ebcb9d907104e46aaabdea9d32b445f73cca724a2537090fad3dde3cce0dc733bad6d7b3930c6bcde484d45c + languageName: node + linkType: hard + "hermes-parser@npm:0.23.1": version: 0.23.1 resolution: "hermes-parser@npm:0.23.1" @@ -8610,6 +7439,15 @@ __metadata: languageName: node linkType: hard +"hermes-parser@npm:0.29.1": + version: 0.29.1 + resolution: "hermes-parser@npm:0.29.1" + dependencies: + hermes-estree: 0.29.1 + checksum: 3a7cd5cbdb191579f521dcb17edf199e24631314b9f69d043007e91762b53cd1f38eeb7688571f5be378b1c118e99af42040139e5f00e74a7cfd5c52c9d262e0 + languageName: node + linkType: hard + "hoist-non-react-statics@npm:^3.3.0": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" @@ -8652,9 +7490,9 @@ __metadata: linkType: hard "http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 83ac0bc60b17a3a36f9953e7be55e5c8f41acc61b22583060e8dedc9dd5e3607c823a88d0926f9150e571f90946835c7fe150732801010845c72cd8bbff1a236 + version: 4.2.0 + resolution: "http-cache-semantics@npm:4.2.0" + checksum: 7a7246ddfce629f96832791176fd643589d954e6f3b49548dadb4290451961237fab8fcea41cd2008fe819d95b41c1e8b97f47d088afc0a1c81705287b4ddbcc languageName: node linkType: hard @@ -8681,17 +7519,7 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.1": - version: 7.0.5 - resolution: "https-proxy-agent@npm:7.0.5" - dependencies: - agent-base: ^7.0.2 - debug: 4 - checksum: 2e1a28960f13b041a50702ee74f240add8e75146a5c37fc98f1960f0496710f6918b3a9fe1e5aba41e50f58e6df48d107edd9c405c5f0d73ac260dabf2210857 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^7.0.5, https-proxy-agent@npm:^7.0.6": +"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5, https-proxy-agent@npm:^7.0.6": version: 7.0.6 resolution: "https-proxy-agent@npm:7.0.6" dependencies: @@ -8754,14 +7582,21 @@ __metadata: languageName: node linkType: hard +"ignore@npm:^7.0.0": + version: 7.0.5 + resolution: "ignore@npm:7.0.5" + checksum: d0862bf64d3d58bf34d5fb0a9f725bec9ca5ce8cd1aecc8f28034269e8f69b8009ffd79ca3eda96962a6a444687781cd5efdb8c7c8ddc0a6996e36d31c217f14 + languageName: node + linkType: hard + "image-size@npm:^1.0.2": - version: 1.1.1 - resolution: "image-size@npm:1.1.1" + version: 1.2.1 + resolution: "image-size@npm:1.2.1" dependencies: queue: 6.0.2 bin: image-size: bin/image-size.js - checksum: 23b3a515dded89e7f967d52b885b430d6a5a903da954fce703130bfb6069d738d80e6588efd29acfaf5b6933424a56535aa7bf06867e4ebd0250c2ee51f19a4a + checksum: 8601ddd4edc1db16f097f5cf585c23214e29c3b8f4d8a8f8d59b8e3bae2338c8a5073236bfff421d8541091a98a38b802ed049203c745286a69d1aac4e5bc4c7 languageName: node linkType: hard @@ -8776,12 +7611,12 @@ __metadata: linkType: hard "import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": - version: 3.3.0 - resolution: "import-fresh@npm:3.3.0" + version: 3.3.1 + resolution: "import-fresh@npm:3.3.1" dependencies: parent-module: ^1.0.0 resolve-from: ^4.0.0 - checksum: 2cacfad06e652b1edc50be650f7ec3be08c5e5a6f6d12d035c440a42a8cc028e60a5b99ca08a77ab4d6b1346da7d971915828f33cdab730d3d42f08242d09baa + checksum: a06b19461b4879cc654d46f8a6244eb55eb053437afd4cbb6613cad6be203811849ed3e4ea038783092879487299fda24af932b86bdfff67c9055ba3612b8c87 languageName: node linkType: hard @@ -8798,9 +7633,9 @@ __metadata: linkType: hard "import-meta-resolve@npm:^4.0.0": - version: 4.1.0 - resolution: "import-meta-resolve@npm:4.1.0" - checksum: 6497af27bf3ee384ad4efd4e0ec3facf9a114863f35a7b35f248659f32faa5e1ae07baa74d603069f35734ae3718a78b3f66926f98dc9a62e261e7df37854a62 + version: 4.2.0 + resolution: "import-meta-resolve@npm:4.2.0" + checksum: fe5ca3258f22dc3dd4e2f2e8f6b54324c1cf0261216c7d9aae801b2eadf664bbd61e26cfb907a1238761285a3e9c8c23403321d52ca0e579c341b8d90c97fa52 languageName: node linkType: hard @@ -8826,9 +7661,9 @@ __metadata: linkType: hard "index-to-position@npm:^1.1.0": - version: 1.1.0 - resolution: "index-to-position@npm:1.1.0" - checksum: 078b05777ba4ccc2af13328cbdef8ac945c885aed7c28bf55b17b7e7722507dfb3afbdeb30b59ff224374857147d16043da1bcb2a4dc533c7924d81873ef4363 + version: 1.2.0 + resolution: "index-to-position@npm:1.2.0" + checksum: 2026188af74d4f4c19de44ca29116f093daf072ff4f4b8dda61668463bd28b097164d43f819684cb2f65ff749bc0dec14fb3956da0299a36faa68255c4eb6858 languageName: node linkType: hard @@ -8883,14 +7718,14 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.7": - version: 1.0.7 - resolution: "internal-slot@npm:1.0.7" +"internal-slot@npm:^1.1.0": + version: 1.1.0 + resolution: "internal-slot@npm:1.1.0" dependencies: es-errors: ^1.3.0 - hasown: ^2.0.0 - side-channel: ^1.0.4 - checksum: cadc5eea5d7d9bc2342e93aae9f31f04c196afebb11bde97448327049f492cd7081e18623ae71388aac9cd237b692ca3a105be9c68ac39c1dec679d7409e33eb + hasown: ^2.0.2 + side-channel: ^1.1.0 + checksum: 8e0991c2d048cc08dab0a91f573c99f6a4215075887517ea4fa32203ce8aea60fa03f95b177977fa27eb502e5168366d0f3e02c762b799691411d49900611861 languageName: node linkType: hard @@ -8910,13 +7745,10 @@ __metadata: languageName: node linkType: hard -"ip-address@npm:^9.0.5": - version: 9.0.5 - resolution: "ip-address@npm:9.0.5" - dependencies: - jsbn: 1.1.0 - sprintf-js: ^1.1.3 - checksum: aa15f12cfd0ef5e38349744e3654bae649a34c3b10c77a674a167e99925d1549486c5b14730eebce9fea26f6db9d5e42097b00aa4f9f612e68c79121c71652dc +"ip-address@npm:^10.0.1": + version: 10.0.1 + resolution: "ip-address@npm:10.0.1" + checksum: 525d5391cfd31a91f80f5857e98487aeaa8474e860a6725a0b6461ac8e436c7f8c869774dece391c8f8e7486306a34a4d1c094778c4c583a3f1f2cd905e5ed50 languageName: node linkType: hard @@ -8930,13 +7762,14 @@ __metadata: languageName: node linkType: hard -"is-array-buffer@npm:^3.0.4": - version: 3.0.4 - resolution: "is-array-buffer@npm:3.0.4" +"is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5": + version: 3.0.5 + resolution: "is-array-buffer@npm:3.0.5" dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.2.1 - checksum: e4e3e6ef0ff2239e75371d221f74bc3c26a03564a22efb39f6bb02609b598917ddeecef4e8c877df2a25888f247a98198959842a5e73236bc7f22cabdf6351a7 + call-bind: ^1.0.8 + call-bound: ^1.0.3 + get-intrinsic: ^1.2.6 + checksum: f137a2a6e77af682cdbffef1e633c140cf596f72321baf8bba0f4ef22685eb4339dde23dfe9e9ca430b5f961dee4d46577dcf12b792b68518c8449b134fb9156 languageName: node linkType: hard @@ -8948,57 +7781,52 @@ __metadata: linkType: hard "is-arrayish@npm:^0.3.1": - version: 0.3.2 - resolution: "is-arrayish@npm:0.3.2" - checksum: 977e64f54d91c8f169b59afcd80ff19227e9f5c791fa28fa2e5bce355cbaf6c2c356711b734656e80c9dd4a854dd7efcf7894402f1031dfc5de5d620775b4d5f + version: 0.3.4 + resolution: "is-arrayish@npm:0.3.4" + checksum: 09816634eb7b6e357067f6b49c7656b4aff6d8b25486553d086bab53ce0f929c0293906539503b2a317f3137b5a5cd7e9ea01305f6090c0037c4340d9121420d languageName: node linkType: hard "is-async-function@npm:^2.0.0": - version: 2.0.0 - resolution: "is-async-function@npm:2.0.0" + version: 2.1.1 + resolution: "is-async-function@npm:2.1.1" dependencies: - has-tostringtag: ^1.0.0 - checksum: e3471d95e6c014bf37cad8a93f2f4b6aac962178e0a5041e8903147166964fdc1c5c1d2ef87e86d77322c370ca18f2ea004fa7420581fa747bcaf7c223069dbd + async-function: ^1.0.0 + call-bound: ^1.0.3 + get-proto: ^1.0.1 + has-tostringtag: ^1.0.2 + safe-regex-test: ^1.1.0 + checksum: 9bece45133da26636488ca127d7686b85ad3ca18927e2850cff1937a650059e90be1c71a48623f8791646bb7a241b0cabf602a0b9252dcfa5ab273f2399000e6 languageName: node linkType: hard -"is-bigint@npm:^1.0.1": - version: 1.0.4 - resolution: "is-bigint@npm:1.0.4" +"is-bigint@npm:^1.1.0": + version: 1.1.0 + resolution: "is-bigint@npm:1.1.0" dependencies: - has-bigints: ^1.0.1 - checksum: c56edfe09b1154f8668e53ebe8252b6f185ee852a50f9b41e8d921cb2bed425652049fbe438723f6cb48a63ca1aa051e948e7e401e093477c99c84eba244f666 + has-bigints: ^1.0.2 + checksum: ee1544f0e664f253306786ed1dce494b8cf242ef415d6375d8545b4d8816b0f054bd9f948a8988ae2c6325d1c28260dd02978236b2f7b8fb70dfc4838a6c9fa7 languageName: node linkType: hard -"is-boolean-object@npm:^1.1.0": - version: 1.1.2 - resolution: "is-boolean-object@npm:1.1.2" +"is-boolean-object@npm:^1.2.1": + version: 1.2.2 + resolution: "is-boolean-object@npm:1.2.2" dependencies: - call-bind: ^1.0.2 - has-tostringtag: ^1.0.0 - checksum: c03b23dbaacadc18940defb12c1c0e3aaece7553ef58b162a0f6bba0c2a7e1551b59f365b91e00d2dbac0522392d576ef322628cb1d036a0fe51eb466db67222 + call-bound: ^1.0.3 + has-tostringtag: ^1.0.2 + checksum: 0415b181e8f1bfd5d3f8a20f8108e64d372a72131674eea9c2923f39d065b6ad08d654765553bdbffbd92c3746f1007986c34087db1bd89a31f71be8359ccdaa languageName: node linkType: hard -"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": +"is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" checksum: 61fd57d03b0d984e2ed3720fb1c7a897827ea174bd44402878e059542ea8c4aeedee0ea0985998aa5cc2736b2fa6e271c08587addb5b3959ac52cf665173d1ac languageName: node linkType: hard -"is-core-module@npm:^2.13.0, is-core-module@npm:^2.5.0": - version: 2.15.1 - resolution: "is-core-module@npm:2.15.1" - dependencies: - hasown: ^2.0.2 - checksum: df134c168115690724b62018c37b2f5bba0d5745fa16960b329c5a00883a8bea6a5632fdb1e3efcce237c201826ba09f93197b7cd95577ea56b0df335be23633 - languageName: node - linkType: hard - -"is-core-module@npm:^2.16.0": +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.16.0, is-core-module@npm:^2.5.0": version: 2.16.1 resolution: "is-core-module@npm:2.16.1" dependencies: @@ -9007,21 +7835,24 @@ __metadata: languageName: node linkType: hard -"is-data-view@npm:^1.0.1": - version: 1.0.1 - resolution: "is-data-view@npm:1.0.1" +"is-data-view@npm:^1.0.1, is-data-view@npm:^1.0.2": + version: 1.0.2 + resolution: "is-data-view@npm:1.0.2" dependencies: + call-bound: ^1.0.2 + get-intrinsic: ^1.2.6 is-typed-array: ^1.1.13 - checksum: 4ba4562ac2b2ec005fefe48269d6bd0152785458cd253c746154ffb8a8ab506a29d0cfb3b74af87513843776a88e4981ae25c89457bf640a33748eab1a7216b5 + checksum: 31600dd19932eae7fd304567e465709ffbfa17fa236427c9c864148e1b54eb2146357fcf3aed9b686dee13c217e1bb5a649cb3b9c479e1004c0648e9febde1b2 languageName: node linkType: hard -"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": - version: 1.0.5 - resolution: "is-date-object@npm:1.0.5" +"is-date-object@npm:^1.0.5, is-date-object@npm:^1.1.0": + version: 1.1.0 + resolution: "is-date-object@npm:1.1.0" dependencies: - has-tostringtag: ^1.0.0 - checksum: baa9077cdf15eb7b58c79398604ca57379b2fc4cf9aa7a9b9e295278648f628c9b201400c01c5e0f7afae56507d741185730307cbe7cad3b9f90a77e5ee342fc + call-bound: ^1.0.2 + has-tostringtag: ^1.0.2 + checksum: d6c36ab9d20971d65f3fc64cef940d57a4900a2ac85fb488a46d164c2072a33da1cb51eefcc039e3e5c208acbce343d3480b84ab5ff0983f617512da2742562a languageName: node linkType: hard @@ -9057,12 +7888,12 @@ __metadata: languageName: node linkType: hard -"is-finalizationregistry@npm:^1.0.2": - version: 1.0.2 - resolution: "is-finalizationregistry@npm:1.0.2" +"is-finalizationregistry@npm:^1.1.0": + version: 1.1.1 + resolution: "is-finalizationregistry@npm:1.1.1" dependencies: - call-bind: ^1.0.2 - checksum: 4f243a8e06228cd45bdab8608d2cb7abfc20f6f0189c8ac21ea8d603f1f196eabd531ce0bb8e08cbab047e9845ef2c191a3761c9a17ad5cabf8b35499c4ad35d + call-bound: ^1.0.3 + checksum: 38c646c506e64ead41a36c182d91639833311970b6b6c6268634f109eef0a1a9d2f1f2e499ef4cb43c744a13443c4cdd2f0812d5afdcee5e9b65b72b28c48557 languageName: node linkType: hard @@ -9088,11 +7919,15 @@ __metadata: linkType: hard "is-generator-function@npm:^1.0.10": - version: 1.0.10 - resolution: "is-generator-function@npm:1.0.10" + version: 1.1.2 + resolution: "is-generator-function@npm:1.1.2" dependencies: - has-tostringtag: ^1.0.0 - checksum: d54644e7dbaccef15ceb1e5d91d680eb5068c9ee9f9eb0a9e04173eb5542c9b51b5ab52c5537f5703e48d5fddfd376817c1ca07a84a407b7115b769d4bdde72b + call-bound: ^1.0.4 + generator-function: ^2.0.0 + get-proto: ^1.0.1 + has-tostringtag: ^1.0.2 + safe-regex-test: ^1.1.0 + checksum: 0b81c613752a5e534939e5b3835ff722446837a5b94c3a3934af5ded36a651d9aa31c3f11f8a3453884b9658bf26dbfb7eb855e744d920b07f084bd890a43414 languageName: node linkType: hard @@ -9169,13 +8004,6 @@ __metadata: languageName: node linkType: hard -"is-lambda@npm:^1.0.1": - version: 1.0.1 - resolution: "is-lambda@npm:1.0.1" - checksum: 93a32f01940220532e5948538699ad610d5924ac86093fcee83022252b363eb0cc99ba53ab084a04e4fb62bf7b5731f55496257a4c38adf87af9c4d352c71c35 - languageName: node - linkType: hard - "is-map@npm:^2.0.3": version: 2.0.3 resolution: "is-map@npm:2.0.3" @@ -9191,18 +8019,19 @@ __metadata: linkType: hard "is-npm@npm:^6.0.0": - version: 6.0.0 - resolution: "is-npm@npm:6.0.0" - checksum: fafe1ddc772345f5460514891bb8014376904ccdbddd59eee7525c9adcc08d426933f28b087bef3e17524da7ebf35c03ef484ff3b6ba9d5fecd8c6e6a7d4bf11 + version: 6.1.0 + resolution: "is-npm@npm:6.1.0" + checksum: 54779c55419da537da77f0f41a409516148d09f1c6db9063ee6598783b309abab109ce4f540ef68c45f4dc1fec8600ed251e393029da31691fa93ce18e72243a languageName: node linkType: hard -"is-number-object@npm:^1.0.4": - version: 1.0.7 - resolution: "is-number-object@npm:1.0.7" +"is-number-object@npm:^1.1.1": + version: 1.1.1 + resolution: "is-number-object@npm:1.1.1" dependencies: - has-tostringtag: ^1.0.0 - checksum: d1e8d01bb0a7134c74649c4e62da0c6118a0bfc6771ea3c560914d52a627873e6920dd0fd0ebc0e12ad2ff4687eac4c308f7e80320b973b2c8a2c8f97a7524f7 + call-bound: ^1.0.3 + has-tostringtag: ^1.0.2 + checksum: 6517f0a0e8c4b197a21afb45cd3053dc711e79d45d8878aa3565de38d0102b130ca8732485122c7b336e98c27dacd5236854e3e6526e0eb30cae64956535662f languageName: node linkType: hard @@ -9255,13 +8084,15 @@ __metadata: languageName: node linkType: hard -"is-regex@npm:^1.1.4": - version: 1.1.4 - resolution: "is-regex@npm:1.1.4" +"is-regex@npm:^1.2.1": + version: 1.2.1 + resolution: "is-regex@npm:1.2.1" dependencies: - call-bind: ^1.0.2 - has-tostringtag: ^1.0.0 - checksum: 362399b33535bc8f386d96c45c9feb04cf7f8b41c182f54174c1a45c9abbbe5e31290bbad09a458583ff6bf3b2048672cdb1881b13289569a7c548370856a652 + call-bound: ^1.0.2 + gopd: ^1.2.0 + has-tostringtag: ^1.0.2 + hasown: ^2.0.2 + checksum: 99ee0b6d30ef1bb61fa4b22fae7056c6c9b3c693803c0c284ff7a8570f83075a7d38cda53b06b7996d441215c27895ea5d1af62124562e13d91b3dbec41a5e13 languageName: node linkType: hard @@ -9281,21 +8112,21 @@ __metadata: languageName: node linkType: hard -"is-shared-array-buffer@npm:^1.0.2, is-shared-array-buffer@npm:^1.0.3": - version: 1.0.3 - resolution: "is-shared-array-buffer@npm:1.0.3" +"is-shared-array-buffer@npm:^1.0.4": + version: 1.0.4 + resolution: "is-shared-array-buffer@npm:1.0.4" dependencies: - call-bind: ^1.0.7 - checksum: a4fff602c309e64ccaa83b859255a43bb011145a42d3f56f67d9268b55bc7e6d98a5981a1d834186ad3105d6739d21547083fe7259c76c0468483fc538e716d8 + call-bound: ^1.0.3 + checksum: 1611fedc175796eebb88f4dfc393dd969a4a8e6c69cadaff424ee9d4464f9f026399a5f84a90f7c62d6d7ee04e3626a912149726de102b0bd6c1ee6a9868fa5a languageName: node linkType: hard "is-ssh@npm:^1.4.0": - version: 1.4.0 - resolution: "is-ssh@npm:1.4.0" + version: 1.4.1 + resolution: "is-ssh@npm:1.4.1" dependencies: protocols: ^2.0.1 - checksum: 75eaa17b538bee24b661fbeb0f140226ac77e904a6039f787bea418431e2162f1f9c4c4ccad3bd169e036cd701cc631406e8c505d9fa7e20164e74b47f86f40f + checksum: 005b461ac444398eb8b7cd2f489288e49dd18c8b6cbf1eb20767f9b79f330ab6e3308b2dac8ec6ca2a950d2a368912e0e992e2474bc1b5204693abb6226c1431 languageName: node linkType: hard @@ -9313,21 +8144,24 @@ __metadata: languageName: node linkType: hard -"is-string@npm:^1.0.5, is-string@npm:^1.0.7": - version: 1.0.7 - resolution: "is-string@npm:1.0.7" +"is-string@npm:^1.1.1": + version: 1.1.1 + resolution: "is-string@npm:1.1.1" dependencies: - has-tostringtag: ^1.0.0 - checksum: 323b3d04622f78d45077cf89aab783b2f49d24dc641aa89b5ad1a72114cfeff2585efc8c12ef42466dff32bde93d839ad321b26884cf75e5a7892a938b089989 + call-bound: ^1.0.3 + has-tostringtag: ^1.0.2 + checksum: 2eeaaff605250f5e836ea3500d33d1a5d3aa98d008641d9d42fb941e929ffd25972326c2ef912987e54c95b6f10416281aaf1b35cdf81992cfb7524c5de8e193 languageName: node linkType: hard -"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": - version: 1.0.4 - resolution: "is-symbol@npm:1.0.4" +"is-symbol@npm:^1.0.4, is-symbol@npm:^1.1.1": + version: 1.1.1 + resolution: "is-symbol@npm:1.1.1" dependencies: - has-symbols: ^1.0.2 - checksum: 92805812ef590738d9de49d677cd17dfd486794773fb6fa0032d16452af46e9b91bb43ffe82c983570f015b37136f4b53b28b8523bfb10b0ece7a66c31a54510 + call-bound: ^1.0.2 + has-symbols: ^1.1.0 + safe-regex-test: ^1.1.0 + checksum: bfafacf037af6f3c9d68820b74be4ae8a736a658a3344072df9642a090016e281797ba8edbeb1c83425879aae55d1cb1f30b38bf132d703692b2570367358032 languageName: node linkType: hard @@ -9340,12 +8174,12 @@ __metadata: languageName: node linkType: hard -"is-typed-array@npm:^1.1.13": - version: 1.1.13 - resolution: "is-typed-array@npm:1.1.13" +"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15": + version: 1.1.15 + resolution: "is-typed-array@npm:1.1.15" dependencies: - which-typed-array: ^1.1.14 - checksum: 150f9ada183a61554c91e1c4290086d2c100b0dff45f60b028519be72a8db964da403c48760723bf5253979b8dffe7b544246e0e5351dcd05c5fdb1dcc1dc0f0 + which-typed-array: ^1.1.16 + checksum: ea7cfc46c282f805d19a9ab2084fd4542fed99219ee9dbfbc26284728bd713a51eac66daa74eca00ae0a43b61322920ba334793607dc39907465913e921e0892 languageName: node linkType: hard @@ -9386,22 +8220,22 @@ __metadata: languageName: node linkType: hard -"is-weakref@npm:^1.0.2": - version: 1.0.2 - resolution: "is-weakref@npm:1.0.2" +"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.1": + version: 1.1.1 + resolution: "is-weakref@npm:1.1.1" dependencies: - call-bind: ^1.0.2 - checksum: 95bd9a57cdcb58c63b1c401c60a474b0f45b94719c30f548c891860f051bc2231575c290a6b420c6bc6e7ed99459d424c652bd5bf9a1d5259505dc35b4bf83de + call-bound: ^1.0.3 + checksum: 1769b9aed5d435a3a989ffc18fc4ad1947d2acdaf530eb2bd6af844861b545047ea51102f75901f89043bed0267ed61d914ee21e6e8b9aa734ec201cdfc0726f languageName: node linkType: hard "is-weakset@npm:^2.0.3": - version: 2.0.3 - resolution: "is-weakset@npm:2.0.3" + version: 2.0.4 + resolution: "is-weakset@npm:2.0.4" dependencies: - call-bind: ^1.0.7 - get-intrinsic: ^1.2.4 - checksum: 8b6a20ee9f844613ff8f10962cfee49d981d584525f2357fee0a04dfbcde9fd607ed60cb6dab626dbcc470018ae6392e1ff74c0c1aced2d487271411ad9d85ae + call-bound: ^1.0.3 + get-intrinsic: ^1.2.6 + checksum: 5c6c8415a06065d78bdd5e3a771483aa1cd928df19138aa73c4c51333226f203f22117b4325df55cc8b3085a6716870a320c2d757efee92d7a7091a039082041 languageName: node linkType: hard @@ -9534,25 +8368,26 @@ __metadata: linkType: hard "istanbul-reports@npm:^3.1.3": - version: 3.1.7 - resolution: "istanbul-reports@npm:3.1.7" + version: 3.2.0 + resolution: "istanbul-reports@npm:3.2.0" dependencies: html-escaper: ^2.0.0 istanbul-lib-report: ^3.0.0 - checksum: 2072db6e07bfbb4d0eb30e2700250636182398c1af811aea5032acb219d2080f7586923c09fa194029efd6b92361afb3dcbe1ebcc3ee6651d13340f7c6c4ed95 + checksum: 72b4c8525276147908d28b0917bc675b1019836b638e50875521ca3b8ec63672681aa98dbab88a6f49ef798c08fe041d428abdcf84f4f3fcff5844eee54af65a languageName: node linkType: hard -"iterator.prototype@npm:^1.1.2": - version: 1.1.2 - resolution: "iterator.prototype@npm:1.1.2" +"iterator.prototype@npm:^1.1.4": + version: 1.1.5 + resolution: "iterator.prototype@npm:1.1.5" dependencies: - define-properties: ^1.2.1 - get-intrinsic: ^1.2.1 - has-symbols: ^1.0.3 - reflect.getprototypeof: ^1.0.4 - set-function-name: ^2.0.1 - checksum: d8a507e2ccdc2ce762e8a1d3f4438c5669160ac72b88b648e59a688eec6bc4e64b22338e74000518418d9e693faf2a092d2af21b9ec7dbf7763b037a54701168 + define-data-property: ^1.1.4 + es-object-atoms: ^1.0.0 + get-intrinsic: ^1.2.6 + get-proto: ^1.0.0 + has-symbols: ^1.1.0 + set-function-name: ^2.0.2 + checksum: 7db23c42629ba4790e6e15f78b555f41dbd08818c85af306988364bd19d86716a1187cb333444f3a0036bfc078a0e9cb7ec67fef3a61662736d16410d7f77869 languageName: node linkType: hard @@ -10032,12 +8867,12 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^2.4.1": - version: 2.4.2 - resolution: "jiti@npm:2.4.2" +"jiti@npm:^2.6.1": + version: 2.6.1 + resolution: "jiti@npm:2.6.1" bin: jiti: lib/jiti-cli.mjs - checksum: c6c30c7b6b293e9f26addfb332b63d964a9f143cdd2cf5e946dbe5143db89f7c1b50ad9223b77fb1f6ddb0b9c5ecef995fea024ecf7d2861d285d779cde66e1e + checksum: 9394e29c5e40d1ca8267923160d8d86706173c9ff30c901097883434b0c4866de2c060427b6a9a5843bb3e42fa3a3c8b5b2228531d3dd4f4f10c5c6af355bb86 languageName: node linkType: hard @@ -10091,13 +8926,6 @@ __metadata: languageName: node linkType: hard -"jsbn@npm:1.1.0": - version: 1.1.0 - resolution: "jsbn@npm:1.1.0" - checksum: 944f924f2bd67ad533b3850eee47603eed0f6ae425fd1ee8c760f477e8c34a05f144c1bd4f5a5dd1963141dc79a2c55f89ccc5ab77d039e7077f3ad196b64965 - languageName: node - linkType: hard - "jsc-safe-url@npm:^0.2.2": version: 0.2.4 resolution: "jsc-safe-url@npm:0.2.4" @@ -10105,30 +8933,12 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:^2.5.1": - version: 2.5.2 - resolution: "jsesc@npm:2.5.2" - bin: - jsesc: bin/jsesc - checksum: 4dc190771129e12023f729ce20e1e0bfceac84d73a85bc3119f7f938843fe25a4aeccb54b6494dce26fcf263d815f5f31acdefac7cc9329efb8422a4f4d9fa9d - languageName: node - linkType: hard - -"jsesc@npm:^3.0.2, jsesc@npm:~3.0.2": - version: 3.0.2 - resolution: "jsesc@npm:3.0.2" - bin: - jsesc: bin/jsesc - checksum: a36d3ca40574a974d9c2063bf68c2b6141c20da8f2a36bd3279fc802563f35f0527a6c828801295bdfb2803952cf2cf387786c2c90ed564f88d5782475abfe3c - languageName: node - linkType: hard - -"jsesc@npm:~0.5.0": - version: 0.5.0 - resolution: "jsesc@npm:0.5.0" +"jsesc@npm:^3.0.2, jsesc@npm:~3.1.0": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" bin: jsesc: bin/jsesc - checksum: b8b44cbfc92f198ad972fba706ee6a1dfa7485321ee8c0b25f5cedd538dcb20cde3197de16a7265430fce8277a12db066219369e3d51055038946039f6e20e17 + checksum: 19c94095ea026725540c0d29da33ab03144f6bcf2d4159e4833d534976e99e0c09c38cefa9a575279a51fc36b31166f8d6d05c9fe2645d5f15851d690b41f17f languageName: node linkType: hard @@ -10196,15 +9006,15 @@ __metadata: linkType: hard "jsonfile@npm:^6.0.1": - version: 6.1.0 - resolution: "jsonfile@npm:6.1.0" + version: 6.2.0 + resolution: "jsonfile@npm:6.2.0" dependencies: graceful-fs: ^4.1.6 universalify: ^2.0.0 dependenciesMeta: graceful-fs: optional: true - checksum: 7af3b8e1ac8fe7f1eccc6263c6ca14e1966fcbc74b618d3c78a0a2075579487547b94f72b7a1114e844a1e15bb00d440e5d1720bfc4612d790a6f285d5ea8354 + checksum: c3028ec5c770bb41290c9bb9ca04bdd0a1b698ddbdf6517c9453d3f90fc9e000c9675959fb46891d317690a93c62de03ff1735d8dbe02be83e51168ce85815d3 languageName: node linkType: hard @@ -10258,9 +9068,9 @@ __metadata: linkType: hard "ky@npm:^1.2.0": - version: 1.8.1 - resolution: "ky@npm:1.8.1" - checksum: 802f3023ae1060b1d8c11376b9866fb5be82fa5174473d82c16a25d2905b3b41bc0121a134be87d8e3b40b24d56d34920a376e653785310803cbb8ea7cd43f85 + version: 1.12.0 + resolution: "ky@npm:1.12.0" + checksum: 55741f2c9f7fb93b4aa235520de4262dab0d7455dc989ffb32df7f0fb470f15a8d2d509db779859cc1de975578a3ef7da29066cbda2fdc05996bcfceb79f3aa6 languageName: node linkType: hard @@ -10274,12 +9084,12 @@ __metadata: linkType: hard "launch-editor@npm:^2.9.1": - version: 2.10.0 - resolution: "launch-editor@npm:2.10.0" + version: 2.11.1 + resolution: "launch-editor@npm:2.11.1" dependencies: - picocolors: ^1.0.0 - shell-quote: ^1.8.1 - checksum: 0cd219f98a8be1cedc73119c1a18ff232eb1386dcc0f4e710b21234e62bf55513342a3e0939cd67c3d920fc7d714457876bc782a5b17e03f59acbbafd23c5f50 + picocolors: ^1.1.1 + shell-quote: ^1.8.3 + checksum: 95a2e0a50ce15425a87fd035bdef2de37e13c2aee9cd62756783efb286a6e36a341cfcbaecb0d578131a5411c6a1c74c422f9c5b6cb6f4c8284d6078967e08b4 languageName: node linkType: hard @@ -10591,23 +9401,22 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^13.0.0": - version: 13.0.1 - resolution: "make-fetch-happen@npm:13.0.1" +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" dependencies: - "@npmcli/agent": ^2.0.0 - cacache: ^18.0.0 + "@npmcli/agent": ^3.0.0 + cacache: ^19.0.1 http-cache-semantics: ^4.1.1 - is-lambda: ^1.0.1 minipass: ^7.0.2 - minipass-fetch: ^3.0.0 + minipass-fetch: ^4.0.0 minipass-flush: ^1.0.5 minipass-pipeline: ^1.2.4 - negotiator: ^0.6.3 - proc-log: ^4.2.0 + negotiator: ^1.0.0 + proc-log: ^5.0.0 promise-retry: ^2.0.1 - ssri: ^10.0.0 - checksum: 5c9fad695579b79488fa100da05777213dd9365222f85e4757630f8dd2a21a79ddd3206c78cfd6f9b37346819681782b67900ac847a57cf04190f52dda5343fd + ssri: ^12.0.0 + checksum: 6fb2fee6da3d98f1953b03d315826b5c5a4ea1f908481afc113782d8027e19f080c85ae998454de4e5f27a681d3ec58d57278f0868d4e0b736f51d396b661691 languageName: node linkType: hard @@ -10651,9 +9460,16 @@ __metadata: linkType: hard "marky@npm:^1.2.2": - version: 1.2.5 - resolution: "marky@npm:1.2.5" - checksum: 823b946677749551cdfc3b5221685478b5d1b9cc0dc03eff977c6f9a615fb05c67559f9556cb3c0fcb941a9ea0e195e37befd83026443396ccee8b724f54f4c5 + version: 1.3.0 + resolution: "marky@npm:1.3.0" + checksum: c25fe1d45525e317f89d116e87a50d385cc7e7d0d418548e75334273cb97990db37228c365718b5572077c80f22a599c732ccbd3da9728cd806465d63c786eda + languageName: node + linkType: hard + +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 0e513b29d120f478c85a70f49da0b8b19bc638975eca466f2eeae0071f3ad00454c621bf66e16dd435896c208e719fc91ad79bbfba4e400fe0b372e7c1c9c9a2 languageName: node linkType: hard @@ -10738,15 +9554,15 @@ __metadata: languageName: node linkType: hard -"metro-babel-transformer@npm:0.82.4": - version: 0.82.4 - resolution: "metro-babel-transformer@npm:0.82.4" +"metro-babel-transformer@npm:0.82.5": + version: 0.82.5 + resolution: "metro-babel-transformer@npm:0.82.5" dependencies: "@babel/core": ^7.25.2 flow-enums-runtime: ^0.0.6 - hermes-parser: 0.28.1 + hermes-parser: 0.29.1 nullthrows: ^1.1.1 - checksum: 03587a3f3e84180eb560b5652ffa62b08e89a0ff9a3bd8292e39c4ccae7836ce5e2d156f9cb33b56b3a0e9ed51453b458db626df7eee1515c02cf9dfd1cb6457 + checksum: 3a3a8a9404c74290b5687290236e242f7b4edb3bc25cad6afe2424ddab8632a657b55ccbbd49dfa9b26078b5f3184f00930b8aa8b50d7c922247fd7d63ada395 languageName: node linkType: hard @@ -10759,12 +9575,12 @@ __metadata: languageName: node linkType: hard -"metro-cache-key@npm:0.82.4": - version: 0.82.4 - resolution: "metro-cache-key@npm:0.82.4" +"metro-cache-key@npm:0.82.5": + version: 0.82.5 + resolution: "metro-cache-key@npm:0.82.5" dependencies: flow-enums-runtime: ^0.0.6 - checksum: a6ab3908295b5ba346d4d991595cc8baf1d22be39fbd4bdf794b617868a003a4f9925d2d01fdbc4c616ff74196783cb4ea5f98dcb6a7c1b510e72e075d9f6b24 + checksum: d5dcd86249905c7adad0375111a4bef395a5021df251a463f840eb21bf7b34f4e581ae919a88fb612a63c48a5f379ce50f104a576bd71e052693d89ae6a0d9f0 languageName: node linkType: hard @@ -10779,15 +9595,15 @@ __metadata: languageName: node linkType: hard -"metro-cache@npm:0.82.4": - version: 0.82.4 - resolution: "metro-cache@npm:0.82.4" +"metro-cache@npm:0.82.5": + version: 0.82.5 + resolution: "metro-cache@npm:0.82.5" dependencies: exponential-backoff: ^3.1.1 flow-enums-runtime: ^0.0.6 https-proxy-agent: ^7.0.5 - metro-core: 0.82.4 - checksum: 8c6d9126872fc42de66bc8ebd8e827f7ed9da6c4f421db57e3efd7f43f1b44d664bcaea97c7d5b364e1391d5e0e4fc16581681f0b1c7f94db07c19569e2f80a5 + metro-core: 0.82.5 + checksum: d0d193845063b1e1241a770d928630c68418b6bff2a25d7d14e71b88e905c640b65817ac069abf807b6e7c6db5470b8c52fe6236b3850ae55ce68e910747eb63 languageName: node linkType: hard @@ -10807,19 +9623,19 @@ __metadata: languageName: node linkType: hard -"metro-config@npm:0.82.4, metro-config@npm:^0.82.0": - version: 0.82.4 - resolution: "metro-config@npm:0.82.4" +"metro-config@npm:0.82.5, metro-config@npm:^0.82.0": + version: 0.82.5 + resolution: "metro-config@npm:0.82.5" dependencies: connect: ^3.6.5 cosmiconfig: ^5.0.5 flow-enums-runtime: ^0.0.6 jest-validate: ^29.7.0 - metro: 0.82.4 - metro-cache: 0.82.4 - metro-core: 0.82.4 - metro-runtime: 0.82.4 - checksum: 05daf4477e5db1dfda26ce5631de23510f5d893f3486bb259e00a576ab4f16b613b3e1b97eee160cf64ef75aaf4b2560cb3cc840e6149b04aa00409b27f6cbfe + metro: 0.82.5 + metro-cache: 0.82.5 + metro-core: 0.82.5 + metro-runtime: 0.82.5 + checksum: 641c88d795394e551fffe238670ad09f3c8637b45da767ee95c5b401e11b65d5a4e86694fb68bd13fde1fc148d9c4f738439a0a427fe5325bd36aa19ea7a5fc9 languageName: node linkType: hard @@ -10834,14 +9650,14 @@ __metadata: languageName: node linkType: hard -"metro-core@npm:0.82.4, metro-core@npm:^0.82.0": - version: 0.82.4 - resolution: "metro-core@npm:0.82.4" +"metro-core@npm:0.82.5, metro-core@npm:^0.82.0": + version: 0.82.5 + resolution: "metro-core@npm:0.82.5" dependencies: flow-enums-runtime: ^0.0.6 lodash.throttle: ^4.1.1 - metro-resolver: 0.82.4 - checksum: bb17d2f1adcd32e6402000a0a27b3a1682b2cc1835cc29f1bae0136fd31b97b37c79f1def55bd60f3a2a85028d073c671c82e72a9b1eef1465f1dae5ce02d3c8 + metro-resolver: 0.82.5 + checksum: f6f0c91240ad4ff2ebd61e5cb23f433309fc82e8042e240da1347f8edf61cc6b893bd176cabecad0dc91d214dd315d501af21cb518459aeb0ed613881619b583 languageName: node linkType: hard @@ -10868,9 +9684,9 @@ __metadata: languageName: node linkType: hard -"metro-file-map@npm:0.82.4": - version: 0.82.4 - resolution: "metro-file-map@npm:0.82.4" +"metro-file-map@npm:0.82.5": + version: 0.82.5 + resolution: "metro-file-map@npm:0.82.5" dependencies: debug: ^4.4.0 fb-watchman: ^2.0.0 @@ -10881,7 +9697,7 @@ __metadata: micromatch: ^4.0.4 nullthrows: ^1.1.1 walker: ^1.0.7 - checksum: f5f24c5bcae7acbfbd2606707df35e1178e196c3e00d2a69bb8a4443942851989918e9f07e8301a7f8fb83d3fb17e9fd2320b9de322a2acfeb6f03f565c6bbf6 + checksum: 46bda99f0ae892071c1b48b09f884f017f48d564c30b2a1f858f6fae1c6c1848bbbce20f66a5be086d7e0acfec3d8c1ddbf69699aaf2829f10954ae39d8a27d7 languageName: node linkType: hard @@ -10895,13 +9711,13 @@ __metadata: languageName: node linkType: hard -"metro-minify-terser@npm:0.82.4": - version: 0.82.4 - resolution: "metro-minify-terser@npm:0.82.4" +"metro-minify-terser@npm:0.82.5": + version: 0.82.5 + resolution: "metro-minify-terser@npm:0.82.5" dependencies: flow-enums-runtime: ^0.0.6 terser: ^5.15.0 - checksum: 23170c34f519ebaa57189283f51847108395f53ebfcb798e2907bf28e3fce8649f80ff4d1b3f0ed2e321287b61ea84ff825923d8879d23d36f7a9bcbbb804294 + checksum: 754c150f0928460e1254e90e4e11bd87e069a0b286d21906758cb71fb8b4ec50dc8f78337bf8a9f8a28ddbd34230f5c66dad0fecf18dbe49715bf1300e5318c2 languageName: node linkType: hard @@ -10914,12 +9730,12 @@ __metadata: languageName: node linkType: hard -"metro-resolver@npm:0.82.4": - version: 0.82.4 - resolution: "metro-resolver@npm:0.82.4" +"metro-resolver@npm:0.82.5": + version: 0.82.5 + resolution: "metro-resolver@npm:0.82.5" dependencies: flow-enums-runtime: ^0.0.6 - checksum: d4833712d70516930e60cfd59fa7695eacb23eb064b89819903e27f53f1350ed4acfaa02011655f8aacc63f41d15b0781489db17a167994701596192054d791e + checksum: d1f7b57687c9cbb100114474689fee2fcfb86428a1228499b28391d16378573ac0f07c750874a2d75eabe237d67eb32a5c947bbbd70cd851885f1f6b13992472 languageName: node linkType: hard @@ -10933,13 +9749,13 @@ __metadata: languageName: node linkType: hard -"metro-runtime@npm:0.82.4, metro-runtime@npm:^0.82.0": - version: 0.82.4 - resolution: "metro-runtime@npm:0.82.4" +"metro-runtime@npm:0.82.5, metro-runtime@npm:^0.82.0": + version: 0.82.5 + resolution: "metro-runtime@npm:0.82.5" dependencies: "@babel/runtime": ^7.25.0 flow-enums-runtime: ^0.0.6 - checksum: a0fa5004db83c6e132f2228c6d91aa56a31d97406c252b27b8e1bdff8f2ff6e453290cc44c4f07b4f0e458fc01eb28c3b85b7d915f6caffb3cc4d2c10f38abd9 + checksum: 931c2b581ac1527899cfec6b9c4bbbac75545c78bf192abd8efddd4dbff481b052513857c8544507e7900e7c06f08a8da75e16c864cd86ec3a8c3d6c05738dae languageName: node linkType: hard @@ -10960,21 +9776,21 @@ __metadata: languageName: node linkType: hard -"metro-source-map@npm:0.82.4, metro-source-map@npm:^0.82.0": - version: 0.82.4 - resolution: "metro-source-map@npm:0.82.4" +"metro-source-map@npm:0.82.5, metro-source-map@npm:^0.82.0": + version: 0.82.5 + resolution: "metro-source-map@npm:0.82.5" dependencies: "@babel/traverse": ^7.25.3 "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3" "@babel/types": ^7.25.2 flow-enums-runtime: ^0.0.6 invariant: ^2.2.4 - metro-symbolicate: 0.82.4 + metro-symbolicate: 0.82.5 nullthrows: ^1.1.1 - ob1: 0.82.4 + ob1: 0.82.5 source-map: ^0.5.6 vlq: ^1.0.0 - checksum: 41a5efbf6eff61db338922b5651ed69ca0cb42786100dc794c273147c9af2698ee3f3d7d967232b7591e9b8875d416c12fe7e1f10bb9cf8cb46c9d6a13c10773 + checksum: 1bb53abe636524593207c578bfd0e15f47f4e15db919793a49b89359726d043cd69107244b6e1c2c8194983b8df7faa8b56ffa73a5f81c0fefc0cc1727907177 languageName: node linkType: hard @@ -10995,19 +9811,19 @@ __metadata: languageName: node linkType: hard -"metro-symbolicate@npm:0.82.4": - version: 0.82.4 - resolution: "metro-symbolicate@npm:0.82.4" +"metro-symbolicate@npm:0.82.5": + version: 0.82.5 + resolution: "metro-symbolicate@npm:0.82.5" dependencies: flow-enums-runtime: ^0.0.6 invariant: ^2.2.4 - metro-source-map: 0.82.4 + metro-source-map: 0.82.5 nullthrows: ^1.1.1 source-map: ^0.5.6 vlq: ^1.0.0 bin: metro-symbolicate: src/index.js - checksum: dbe92d7eea7d71ebbfd35cc901d3e428774d7a4747d10781a8f4350a6c341edd352f3b25939a7c3f174a07deffac019a92bab04f32fe8cb7e8c3a708eab11115 + checksum: ae91be09cca42567ea3c2bee695e0db42512fc8bf28cf2aa281ae8043edc3bbddcadd0793b401b6bcb7e0cc1df1428647662462a8f515ab6c47420421b1e96f8 languageName: node linkType: hard @@ -11025,9 +9841,9 @@ __metadata: languageName: node linkType: hard -"metro-transform-plugins@npm:0.82.4": - version: 0.82.4 - resolution: "metro-transform-plugins@npm:0.82.4" +"metro-transform-plugins@npm:0.82.5": + version: 0.82.5 + resolution: "metro-transform-plugins@npm:0.82.5" dependencies: "@babel/core": ^7.25.2 "@babel/generator": ^7.25.0 @@ -11035,7 +9851,7 @@ __metadata: "@babel/traverse": ^7.25.3 flow-enums-runtime: ^0.0.6 nullthrows: ^1.1.1 - checksum: b1a04093b41a8becd700ddae93278a87424f3c35b86bc0912eb5734948ea7f9d54c2440240277315cfabffc1dd9c4d4155c5286464546a97c5656981a97ce42d + checksum: 891838d529df2c3170614de9e55025d37fb799a8d444d9e898fc203496ec33620ad8066e0ab06244b7abb806ffdae4728b84047d0d01bceee877ea5d69240d04 languageName: node linkType: hard @@ -11060,24 +9876,24 @@ __metadata: languageName: node linkType: hard -"metro-transform-worker@npm:0.82.4": - version: 0.82.4 - resolution: "metro-transform-worker@npm:0.82.4" +"metro-transform-worker@npm:0.82.5": + version: 0.82.5 + resolution: "metro-transform-worker@npm:0.82.5" dependencies: "@babel/core": ^7.25.2 "@babel/generator": ^7.25.0 "@babel/parser": ^7.25.3 "@babel/types": ^7.25.2 flow-enums-runtime: ^0.0.6 - metro: 0.82.4 - metro-babel-transformer: 0.82.4 - metro-cache: 0.82.4 - metro-cache-key: 0.82.4 - metro-minify-terser: 0.82.4 - metro-source-map: 0.82.4 - metro-transform-plugins: 0.82.4 + metro: 0.82.5 + metro-babel-transformer: 0.82.5 + metro-cache: 0.82.5 + metro-cache-key: 0.82.5 + metro-minify-terser: 0.82.5 + metro-source-map: 0.82.5 + metro-transform-plugins: 0.82.5 nullthrows: ^1.1.1 - checksum: 5d17296ba1ca6ce939c4ffbd99d7372a6033ba6f6d2da42634509a9c121055440ae5c5eea8677d9201e06d71d811729b313c3f6b54f69cb87d05c5b9f92c6334 + checksum: 653868f5fc525ad5b36181e7d1b3bb893c49ce6647791c21b585dd29cccc2f00e68d66b16e00eeb385fcb0c5f205a713aba0fe57971b1ab2bf150938cb820aaa languageName: node linkType: hard @@ -11133,9 +9949,9 @@ __metadata: languageName: node linkType: hard -"metro@npm:0.82.4, metro@npm:^0.82.0": - version: 0.82.4 - resolution: "metro@npm:0.82.4" +"metro@npm:0.82.5, metro@npm:^0.82.0": + version: 0.82.5 + resolution: "metro@npm:0.82.5" dependencies: "@babel/code-frame": ^7.24.7 "@babel/core": ^7.25.2 @@ -11152,24 +9968,24 @@ __metadata: error-stack-parser: ^2.0.6 flow-enums-runtime: ^0.0.6 graceful-fs: ^4.2.4 - hermes-parser: 0.28.1 + hermes-parser: 0.29.1 image-size: ^1.0.2 invariant: ^2.2.4 jest-worker: ^29.7.0 jsc-safe-url: ^0.2.2 lodash.throttle: ^4.1.1 - metro-babel-transformer: 0.82.4 - metro-cache: 0.82.4 - metro-cache-key: 0.82.4 - metro-config: 0.82.4 - metro-core: 0.82.4 - metro-file-map: 0.82.4 - metro-resolver: 0.82.4 - metro-runtime: 0.82.4 - metro-source-map: 0.82.4 - metro-symbolicate: 0.82.4 - metro-transform-plugins: 0.82.4 - metro-transform-worker: 0.82.4 + metro-babel-transformer: 0.82.5 + metro-cache: 0.82.5 + metro-cache-key: 0.82.5 + metro-config: 0.82.5 + metro-core: 0.82.5 + metro-file-map: 0.82.5 + metro-resolver: 0.82.5 + metro-runtime: 0.82.5 + metro-source-map: 0.82.5 + metro-symbolicate: 0.82.5 + metro-transform-plugins: 0.82.5 + metro-transform-worker: 0.82.5 mime-types: ^2.1.27 nullthrows: ^1.1.1 serialize-error: ^2.1.0 @@ -11179,11 +9995,11 @@ __metadata: yargs: ^17.6.2 bin: metro: src/cli.js - checksum: cc155f963e393f0d1c6c2f5b094e9e2f3b1a0354d5bdf5bead5a5655ddbb2457fbd16fb101ba41bb0784b44970b7f72ba980229a24d2754598eabcefcccfb13f + checksum: 391411e1be9463f4d52e804f0a9680e59be1cfc5c76ca890f3a9e9c014561da65bbf6e3ccc44f7f52601add064b3b70862b3813c963384a0df2218a345a304e5 languageName: node linkType: hard -"micromatch@npm:^4.0.4": +"micromatch@npm:^4.0.4, micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -11201,9 +10017,9 @@ __metadata: linkType: hard "mime-db@npm:>= 1.43.0 < 2": - version: 1.53.0 - resolution: "mime-db@npm:1.53.0" - checksum: 3fd9380bdc0b085d0b56b580e4f89ca4fc3b823722310d795c248f0806b9a80afd5d8f4347f015ad943b9ecfa7cc0b71dffa0db96fa776d01a13474821a2c7fb + version: 1.54.0 + resolution: "mime-db@npm:1.54.0" + checksum: e99aaf2f23f5bd607deb08c83faba5dd25cf2fec90a7cc5b92d8260867ee08dab65312e1a589e60093dc7796d41e5fae013268418482f1db4c7d52d0a0960ac9 languageName: node linkType: hard @@ -11255,7 +10071,7 @@ __metadata: languageName: node linkType: hard -"min-indent@npm:^1.0.0, min-indent@npm:^1.0.1": +"min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" checksum: bfc6dd03c5eaf623a4963ebd94d087f6f4bbbfd8c41329a7f09706b0cb66969c4ddd336abeb587bc44bc6f08e13bf90f0b374f9d71f9f01e04adc2cd6f083ef1 @@ -11334,18 +10150,18 @@ __metadata: languageName: node linkType: hard -"minipass-fetch@npm:^3.0.0": - version: 3.0.5 - resolution: "minipass-fetch@npm:3.0.5" +"minipass-fetch@npm:^4.0.0": + version: 4.0.1 + resolution: "minipass-fetch@npm:4.0.1" dependencies: encoding: ^0.1.13 minipass: ^7.0.3 minipass-sized: ^1.0.3 - minizlib: ^2.1.2 + minizlib: ^3.0.1 dependenciesMeta: encoding: optional: true - checksum: 8047d273236157aab27ab7cd8eab7ea79e6ecd63e8f80c3366ec076cb9a0fed550a6935bab51764369027c414647fd8256c2a20c5445fb250c483de43350de83 + checksum: 3dfca705ce887ca9ff14d73e8d8593996dea1a1ecd8101fdbb9c10549d1f9670bc8fb66ad0192769ead4c2dc01b4f9ca1cf567ded365adff17827a303b948140 languageName: node linkType: hard @@ -11392,31 +10208,23 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass@npm:5.0.0" - checksum: 425dab288738853fded43da3314a0b5c035844d6f3097a8e3b5b29b328da8f3c1af6fc70618b32c29ff906284cf6406b6841376f21caaadd0793c1d5a6a620ea - languageName: node - linkType: hard - -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2": +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": version: 7.1.2 resolution: "minipass@npm:7.1.2" checksum: 2bfd325b95c555f2b4d2814d49325691c7bee937d753814861b0b49d5edcda55cbbf22b6b6a60bb91eddac8668771f03c5ff647dcd9d0f798e9548b9cdc46ee3 languageName: node linkType: hard -"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": - version: 2.1.2 - resolution: "minizlib@npm:2.1.2" +"minizlib@npm:^3.0.1, minizlib@npm:^3.1.0": + version: 3.1.0 + resolution: "minizlib@npm:3.1.0" dependencies: - minipass: ^3.0.0 - yallist: ^4.0.0 - checksum: f1fdeac0b07cf8f30fcf12f4b586795b97be856edea22b5e9072707be51fc95d41487faec3f265b42973a304fe3a64acd91a44a3826a963e37b37bafde0212c3 + minipass: ^7.1.2 + checksum: a15e6f0128f514b7d41a1c68ce531155447f4669e32d279bba1c1c071ef6c2abd7e4d4579bb59ccc2ed1531346749665968fdd7be8d83eb6b6ae2fe1f3d370a7 languageName: node linkType: hard -"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": +"mkdirp@npm:^1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" bin: @@ -11446,15 +10254,6 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.1.23": - version: 3.3.7 - resolution: "nanoid@npm:3.3.7" - bin: - nanoid: bin/nanoid.cjs - checksum: d36c427e530713e4ac6567d488b489a36582ef89da1d6d4e3b87eded11eb10d7042a877958c6f104929809b2ab0bafa17652b076cdf84324aa75b30b722204f2 - languageName: node - linkType: hard - "nanoid@npm:^3.3.11": version: 3.3.11 resolution: "nanoid@npm:3.3.11" @@ -11471,13 +10270,27 @@ __metadata: languageName: node linkType: hard -"negotiator@npm:0.6.3, negotiator@npm:^0.6.3": +"negotiator@npm:0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" checksum: b8ffeb1e262eff7968fc90a2b6767b04cfd9842582a9d0ece0af7049537266e7b2506dfb1d107a32f06dd849ab2aea834d5830f7f4d0e5cb7d36e1ae55d021d9 languageName: node linkType: hard +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 20ebfe79b2d2e7cf9cbc8239a72662b584f71164096e6e8896c8325055497c96f6b80cd22c258e8a2f2aa382a787795ec3ee8b37b422a302c7d4381b0d5ecfbb + languageName: node + linkType: hard + +"negotiator@npm:~0.6.4": + version: 0.6.4 + resolution: "negotiator@npm:0.6.4" + checksum: 7ded10aa02a0707d1d12a9973fdb5954f98547ca7beb60e31cb3a403cc6e8f11138db7a3b0128425cf836fc85d145ec4ce983b2bdf83dca436af879c2d683510 + languageName: node + linkType: hard + "neo-async@npm:^2.6.2": version: 2.6.2 resolution: "neo-async@npm:2.6.2" @@ -11516,22 +10329,22 @@ __metadata: linkType: hard "node-gyp@npm:latest": - version: 10.2.0 - resolution: "node-gyp@npm:10.2.0" + version: 11.5.0 + resolution: "node-gyp@npm:11.5.0" dependencies: env-paths: ^2.2.0 exponential-backoff: ^3.1.1 - glob: ^10.3.10 graceful-fs: ^4.2.6 - make-fetch-happen: ^13.0.0 - nopt: ^7.0.0 - proc-log: ^4.1.0 + make-fetch-happen: ^14.0.3 + nopt: ^8.0.0 + proc-log: ^5.0.0 semver: ^7.3.5 - tar: ^6.2.1 - which: ^4.0.0 + tar: ^7.4.3 + tinyglobby: ^0.2.12 + which: ^5.0.0 bin: node-gyp: bin/node-gyp.js - checksum: 0233759d8c19765f7fdc259a35eb046ad86c3d09e22f7384613ae2b89647dd27fcf833fdf5293d9335041e91f9b1c539494225959cdb312a5c8080b7534b926f + checksum: 6cc29b9d454d9a684c8fe299668db618875bb4282e37717ca5b79689cc5ce99cd553c70944bb367979f2eba40ad6a50afaf7b12a6b214172edc7377384efa051 languageName: node linkType: hard @@ -11542,17 +10355,10 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.18": - version: 2.0.18 - resolution: "node-releases@npm:2.0.18" - checksum: ef55a3d853e1269a6d6279b7692cd6ff3e40bc74947945101138745bfdc9a5edabfe72cb19a31a8e45752e1910c4c65c77d931866af6357f242b172b7283f5b3 - languageName: node - linkType: hard - -"node-releases@npm:^2.0.19": - version: 2.0.19 - resolution: "node-releases@npm:2.0.19" - checksum: 917dbced519f48c6289a44830a0ca6dc944c3ee9243c468ebd8515a41c97c8b2c256edb7f3f750416bc37952cc9608684e6483c7b6c6f39f6bd8d86c52cfe658 +"node-releases@npm:^2.0.21": + version: 2.0.25 + resolution: "node-releases@npm:2.0.25" + checksum: 9a23149cf3f6778e62440b1f26f91927aff06c3606a29996f3d196c7c0f5e31c17c24c324b5ef1f571cebef6b5a8db9adce9c09381ca271bc6422aac91463f75 languageName: node linkType: hard @@ -11563,14 +10369,14 @@ __metadata: languageName: node linkType: hard -"nopt@npm:^7.0.0": - version: 7.2.1 - resolution: "nopt@npm:7.2.1" +"nopt@npm:^8.0.0": + version: 8.1.0 + resolution: "nopt@npm:8.1.0" dependencies: - abbrev: ^2.0.0 + abbrev: ^3.0.0 bin: nopt: bin/nopt.js - checksum: 6fa729cc77ce4162cfad8abbc9ba31d4a0ff6850c3af61d59b505653bef4781ec059f8890ecfe93ee8aa0c511093369cca88bfc998101616a2904e715bbbb7c9 + checksum: 49cfd3eb6f565e292bf61f2ff1373a457238804d5a5a63a8d786c923007498cba89f3648e3b952bc10203e3e7285752abf5b14eaf012edb821e84f24e881a92a languageName: node linkType: hard @@ -11638,12 +10444,12 @@ __metadata: languageName: node linkType: hard -"ob1@npm:0.82.4": - version: 0.82.4 - resolution: "ob1@npm:0.82.4" +"ob1@npm:0.82.5": + version: 0.82.5 + resolution: "ob1@npm:0.82.5" dependencies: flow-enums-runtime: ^0.0.6 - checksum: 8385f5a20195c5c6e61bd18528a10baebe2287dd67fcf5721efeffe89dc61c7ab2b6c56ae9c6649687dda80a20663c33c18e4fc5cc651fd53e6befed3b9d9cf1 + checksum: 3faa161e5b5307188b6bbbf7e21727b1e434b8f6c31c51386808b2efd5e7238cf85a7ce71416d9a3f073625afb5a2212f80ec267996dc88fe086944adbb525d9 languageName: node linkType: hard @@ -11654,10 +10460,10 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.13.1": - version: 1.13.2 - resolution: "object-inspect@npm:1.13.2" - checksum: 9f850b3c045db60e0e97746e809ee4090d6ce62195af17dd1e9438ac761394a7d8ec4f7906559aea5424eaf61e35d3e53feded2ccd5f62fcc7d9670d3c8eb353 +"object-inspect@npm:^1.13.3, object-inspect@npm:^1.13.4": + version: 1.13.4 + resolution: "object-inspect@npm:1.13.4" + checksum: 582810c6a8d2ef988ea0a39e69e115a138dad8f42dd445383b394877e5816eb4268489f316a6f74ee9c4e0a984b3eab1028e3e79d62b1ed67c726661d55c7a8b languageName: node linkType: hard @@ -11668,26 +10474,29 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": - version: 4.1.5 - resolution: "object.assign@npm:4.1.5" +"object.assign@npm:^4.1.4, object.assign@npm:^4.1.7": + version: 4.1.7 + resolution: "object.assign@npm:4.1.7" dependencies: - call-bind: ^1.0.5 + call-bind: ^1.0.8 + call-bound: ^1.0.3 define-properties: ^1.2.1 - has-symbols: ^1.0.3 + es-object-atoms: ^1.0.0 + has-symbols: ^1.1.0 object-keys: ^1.1.1 - checksum: f9aeac0541661370a1fc86e6a8065eb1668d3e771f7dbb33ee54578201336c057b21ee61207a186dd42db0c62201d91aac703d20d12a79fc79c353eed44d4e25 + checksum: 60e07d2651cf4f5528c485f1aa4dbded9b384c47d80e8187cefd11320abb1aebebf78df5483451dfa549059f8281c21f7b4bf7d19e9e5e97d8d617df0df298de languageName: node linkType: hard -"object.entries@npm:^1.1.8": - version: 1.1.8 - resolution: "object.entries@npm:1.1.8" +"object.entries@npm:^1.1.9": + version: 1.1.9 + resolution: "object.entries@npm:1.1.9" dependencies: - call-bind: ^1.0.7 + call-bind: ^1.0.8 + call-bound: ^1.0.4 define-properties: ^1.2.1 - es-object-atoms: ^1.0.0 - checksum: 5314877cb637ef3437a30bba61d9bacdb3ce74bf73ac101518be0633c37840c8cc67407edb341f766e8093b3d7516d5c3358f25adfee4a2c697c0ec4c8491907 + es-object-atoms: ^1.1.1 + checksum: 0ab2ef331c4d6a53ff600a5d69182948d453107c3a1f7fd91bc29d387538c2aba21d04949a74f57c21907208b1f6fb175567fd1f39f1a7a4046ba1bca762fb41 languageName: node linkType: hard @@ -11703,14 +10512,15 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.6, object.values@npm:^1.2.0": - version: 1.2.0 - resolution: "object.values@npm:1.2.0" +"object.values@npm:^1.1.6, object.values@npm:^1.2.1": + version: 1.2.1 + resolution: "object.values@npm:1.2.1" dependencies: - call-bind: ^1.0.7 + call-bind: ^1.0.8 + call-bound: ^1.0.3 define-properties: ^1.2.1 es-object-atoms: ^1.0.0 - checksum: 51fef456c2a544275cb1766897f34ded968b22adfc13ba13b5e4815fdaf4304a90d42a3aee114b1f1ede048a4890381d47a5594d84296f2767c6a0364b9da8fa + checksum: f9b9a2a125ccf8ded29414d7c056ae0d187b833ee74919821fc60d7e216626db220d9cb3cf33f965c84aaaa96133626ca13b80f3c158b673976dc8cfcfcd26bb languageName: node linkType: hard @@ -11732,10 +10542,10 @@ __metadata: languageName: node linkType: hard -"on-headers@npm:~1.0.2": - version: 1.0.2 - resolution: "on-headers@npm:1.0.2" - checksum: 2bf13467215d1e540a62a75021e8b318a6cfc5d4fc53af8e8f84ad98dbcea02d506c6d24180cd62e1d769c44721ba542f3154effc1f7579a8288c9f7873ed8e5 +"on-headers@npm:~1.1.0": + version: 1.1.0 + resolution: "on-headers@npm:1.1.0" + checksum: 98aa64629f986fb8cc4517dd8bede73c980e31208cba97f4442c330959f60ced3dc6214b83420491f5111fc7c4f4343abe2ea62c85f505cf041d67850f238776 languageName: node linkType: hard @@ -11871,6 +10681,17 @@ __metadata: languageName: node linkType: hard +"own-keys@npm:^1.0.1": + version: 1.0.1 + resolution: "own-keys@npm:1.0.1" + dependencies: + get-intrinsic: ^1.2.6 + object-keys: ^1.1.1 + safe-push-apply: ^1.0.0 + checksum: cc9dd7d85c4ccfbe8109fce307d581ac7ede7b26de892b537873fbce2dc6a206d89aea0630dbb98e47ce0873517cefeaa7be15fcf94aaf4764a3b34b474a5b61 + languageName: node + linkType: hard + "p-limit@npm:^2.0.0, p-limit@npm:^2.2.0": version: 2.3.0 resolution: "p-limit@npm:2.3.0" @@ -11952,6 +10773,13 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 8c92d533acf82f0d12f7e196edccff773f384098bbb048acdd55a08778ce4fc8889d8f1bde72969487bd96f9c63212698d79744c20bedfce36c5b00b46d369f8 + languageName: node + linkType: hard + "p-try@npm:^2.0.0": version: 2.2.0 resolution: "p-try@npm:2.2.0" @@ -12047,11 +10875,11 @@ __metadata: linkType: hard "parse-path@npm:^7.0.0": - version: 7.0.0 - resolution: "parse-path@npm:7.0.0" + version: 7.1.0 + resolution: "parse-path@npm:7.1.0" dependencies: protocols: ^2.0.0 - checksum: 244b46523a58181d251dda9b888efde35d8afb957436598d948852f416d8c76ddb4f2010f9fc94218b4be3e5c0f716aa0d2026194a781e3b8981924142009302 + checksum: 1da6535a967b14911837bba98e5f8d16acb415b28753ff6225e3121dce71167a96c79278fbb631d695210dadae37462a9eff40d93b9c659cf1ce496fd5db9bb6 languageName: node linkType: hard @@ -12144,13 +10972,6 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0": - version: 1.1.0 - resolution: "picocolors@npm:1.1.0" - checksum: a64d653d3a188119ff45781dfcdaeedd7625583f45280aea33fcb032c7a0d3959f2368f9b192ad5e8aade75b74dbd954ffe3106c158509a45e4c18ab379a2acd - languageName: node - linkType: hard - "picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" @@ -12165,10 +10986,17 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.3": + version: 4.0.3 + resolution: "picomatch@npm:4.0.3" + checksum: 6817fb74eb745a71445debe1029768de55fd59a42b75606f478ee1d0dc1aa6e78b711d041a7c9d5550e042642029b7f373dc1a43b224c4b7f12d23436735dba0 + languageName: node + linkType: hard + "pirates@npm:^4.0.4": - version: 4.0.6 - resolution: "pirates@npm:4.0.6" - checksum: 46a65fefaf19c6f57460388a5af9ab81e3d7fd0e7bc44ca59d753cb5c4d0df97c6c6e583674869762101836d68675f027d60f841c105d72734df9dfca97cbcc6 + version: 4.0.7 + resolution: "pirates@npm:4.0.7" + checksum: 3dcbaff13c8b5bc158416feb6dc9e49e3c6be5fddc1ea078a05a73ef6b85d79324bbb1ef59b954cdeff000dbf000c1d39f32dc69310c7b78fbada5171b583e40 languageName: node linkType: hard @@ -12191,9 +11019,9 @@ __metadata: linkType: hard "possible-typed-array-names@npm:^1.0.0": - version: 1.0.0 - resolution: "possible-typed-array-names@npm:1.0.0" - checksum: b32d403ece71e042385cc7856385cecf1cd8e144fa74d2f1de40d1e16035dba097bc189715925e79b67bdd1472796ff168d3a90d296356c9c94d272d5b95f3ae + version: 1.1.0 + resolution: "possible-typed-array-names@npm:1.1.0" + checksum: cfcd4f05264eee8fd184cd4897a17890561d1d473434b43ab66ad3673d9c9128981ec01e0cb1d65a52cd6b1eebfb2eae1e53e39b2e0eca86afc823ede7a4f41b languageName: node linkType: hard @@ -12241,16 +11069,7 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^3.0.3": - version: 3.3.3 - resolution: "prettier@npm:3.3.3" - bin: - prettier: bin/prettier.cjs - checksum: bc8604354805acfdde6106852d14b045bb20827ad76a5ffc2455b71a8257f94de93f17f14e463fe844808d2ccc87248364a5691488a3304f1031326e62d9276e - languageName: node - linkType: hard - -"prettier@npm:^3.5.3": +"prettier@npm:^3.0.3, prettier@npm:^3.5.3": version: 3.6.2 resolution: "prettier@npm:3.6.2" bin: @@ -12293,10 +11112,10 @@ __metadata: languageName: node linkType: hard -"proc-log@npm:^4.1.0, proc-log@npm:^4.2.0": - version: 4.2.0 - resolution: "proc-log@npm:4.2.0" - checksum: 98f6cd012d54b5334144c5255ecb941ee171744f45fca8b43b58ae5a0c1af07352475f481cadd9848e7f0250376ee584f6aa0951a856ff8f021bdfbff4eb33fc +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: c78b26ecef6d5cce4a7489a1e9923d7b4b1679028c8654aef0463b27f4a90b0946cd598f55799da602895c52feb085ec76381d007ab8dcceebd40b89c2f9dfe0 languageName: node linkType: hard @@ -12355,9 +11174,9 @@ __metadata: linkType: hard "protocols@npm:^2.0.0, protocols@npm:^2.0.1": - version: 2.0.1 - resolution: "protocols@npm:2.0.1" - checksum: 4a9bef6aa0449a0245ded319ac3cbfd032c3e76ebb562777037a3a832c99253d0e8bc2847f7be350236df620a11f7d4fe683ea7f59a2cc14c69f746b6259eda4 + version: 2.0.2 + resolution: "protocols@npm:2.0.2" + checksum: 031cc068eb800468a50eb7c1e1c528bf142fb8314f5df9b9ea3c3f9df1697a19f97b9915b1229cef694d156812393172d9c3051ef7878d26eaa8c6faa5cccec4 languageName: node linkType: hard @@ -12385,12 +11204,12 @@ __metadata: linkType: hard "pump@npm:^3.0.0": - version: 3.0.2 - resolution: "pump@npm:3.0.2" + version: 3.0.3 + resolution: "pump@npm:3.0.3" dependencies: end-of-stream: ^1.1.0 once: ^1.3.1 - checksum: e0c4216874b96bd25ddf31a0b61a5613e26cc7afa32379217cf39d3915b0509def3565f5f6968fafdad2894c8bbdbd67d340e84f3634b2a29b950cffb6442d9f + checksum: 52843fc933b838c0330f588388115a1b28ef2a5ffa7774709b142e35431e8ab0c2edec90de3fa34ebb72d59fef854f151eea7dfc211b6dcf586b384556bd2f39 languageName: node linkType: hard @@ -12409,11 +11228,11 @@ __metadata: linkType: hard "pupa@npm:^3.1.0": - version: 3.1.0 - resolution: "pupa@npm:3.1.0" + version: 3.3.0 + resolution: "pupa@npm:3.3.0" dependencies: escape-goat: ^4.0.0 - checksum: 0e4f4ab6bbdce600fa6d23b1833f1af57b2641246ff4cbe10f9d66e4e5479b0de2864a88d5bd629eef59524eda3c6680726acd7f3f873d9ed46b7f095d0bb5f6 + checksum: a26b57cb4ff761495628b3630ab65fd97229d19314dbd9a08133d34f3f85fdb368da478f7b4a57647660c6d2973f0dae740668f8809c5861e3ede99e938ded05 languageName: node linkType: hard @@ -12502,12 +11321,12 @@ __metadata: linkType: hard "react-devtools-core@npm:^6.1.1": - version: 6.1.2 - resolution: "react-devtools-core@npm:6.1.2" + version: 6.1.5 + resolution: "react-devtools-core@npm:6.1.5" dependencies: shell-quote: ^1.6.1 ws: ^7 - checksum: aa72d4ad993af861088ead93bcce789dbf084a530a7723d94d3a040dad6cdb3fa46e14ff0d6e1c1c8f22713f30cf52505c6083f3c91b5114c1d90f7a3c2c1e43 + checksum: b54f2d2416f5f5ca61b1741367865eab18b0040d7e4b3236693595803dfdf82ae02adbcb480acc5b9767748b615a2d5ce3af286cde3a7f8c193123c62c777428 languageName: node linkType: hard @@ -12520,7 +11339,7 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^16.13.0, react-is@npm:^16.13.1, react-is@npm:^16.7.0": +"react-is@npm:^16.13.1, react-is@npm:^16.7.0": version: 16.13.1 resolution: "react-is@npm:16.13.1" checksum: f7a19ac3496de32ca9ae12aa030f00f14a3d45374f1ceca0af707c831b2a6098ef0d6bdae51bd437b0a306d7f01d4677fcc8de7c0d331eb47ad0f46130e53c5f @@ -12541,23 +11360,16 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^19.0.0": - version: 19.1.0 - resolution: "react-is@npm:19.1.0" - checksum: 3eb4eac7f09bf178bdc6fa98d384f5f243b85de7c99679a88b0154ead4d818ad94386ccb00ea31ec52409ffd13299057f5ec6ca2eaec06f9f7eddc1ad4832332 - languageName: node - linkType: hard - -"react-is@npm:^19.1.0": - version: 19.1.1 - resolution: "react-is@npm:19.1.1" - checksum: e60ed01c27fe4d22b08f8a31f18831d144a801d08a909ca31fb1d02721b4f4cde0759148d6341f660a4d6ce54a78e22b8b39520b67e2e76254e583885868ab43 +"react-is@npm:^19.0.0, react-is@npm:^19.1.0": + version: 19.2.0 + resolution: "react-is@npm:19.2.0" + checksum: 9a23e1c2d0bbc13b383bc59a05f54e6eb95dd87e01aec8aa92a88618364b7b0ee8a5b057ad813cf61e2f7ae7d24503b624706acb609d07c54754e5ad2c522568 languageName: node linkType: hard "react-native-builder-bob@npm:^0.30.2": - version: 0.30.2 - resolution: "react-native-builder-bob@npm:0.30.2" + version: 0.30.3 + resolution: "react-native-builder-bob@npm:0.30.3" dependencies: "@babel/core": ^7.25.2 "@babel/plugin-transform-strict-mode": ^7.24.7 @@ -12583,22 +11395,22 @@ __metadata: yargs: ^17.5.1 bin: bob: bin/bob - checksum: 880ba5c9cf45f20dc5d7423a82b6963bb61d3fa41096b1d7ac2c7a141dfaedd5386ae6d29f80861922911220b8d0d689c831e01d9c8aca06afbb53933fa0f8b5 + checksum: 32b2159559a08310656b6b2f5f591a6aeeb9595f0f2d0e8dff7602af6aa62f59ae7206b023789de0a08f231d747c9bcab19e3efc874fad124b38e40c61f1ec90 languageName: node linkType: hard "react-native-builder-bob@npm:^0.40.4": - version: 0.40.4 - resolution: "react-native-builder-bob@npm:0.40.4" + version: 0.40.13 + resolution: "react-native-builder-bob@npm:0.40.13" dependencies: "@babel/core": ^7.25.2 + "@babel/plugin-transform-flow-strip-types": ^7.26.5 "@babel/plugin-transform-strict-mode": ^7.24.7 "@babel/preset-env": ^7.25.2 - "@babel/preset-flow": ^7.24.7 "@babel/preset-react": ^7.24.7 "@babel/preset-typescript": ^7.24.7 arktype: ^2.1.15 - babel-plugin-module-resolver: ^5.0.2 + babel-plugin-syntax-hermes-parser: ^0.28.0 browserslist: ^4.20.4 cross-spawn: ^7.0.3 dedent: ^0.7.0 @@ -12609,13 +11421,13 @@ __metadata: is-git-dirty: ^2.0.1 json5: ^2.2.1 kleur: ^4.1.4 - metro-config: ^0.80.9 prompts: ^2.4.2 + react-native-monorepo-config: ^0.1.8 which: ^2.0.2 yargs: ^17.5.1 bin: bob: bin/bob - checksum: 2b3576a5b3afb142400427f51197485fd0a8d7611b2ca6edb610fbcf320279c5951846c3ebe00715904e808f91106367e1f95c4e32f29405a07fb517a87927bb + checksum: 3140749ce4c2b4362502b2074ef2a6de92e03ab1a49bdbfc8058fbea0335a000d0554d012d9ce857b18bc395a2d6796c011d922725089e4688d6760f0b56b519 languageName: node linkType: hard @@ -12630,20 +11442,6 @@ __metadata: languageName: node linkType: hard -"react-native-gesture-handler@npm:^2.24.0": - version: 2.25.0 - resolution: "react-native-gesture-handler@npm:2.25.0" - dependencies: - "@egjs/hammerjs": ^2.0.17 - hoist-non-react-statics: ^3.3.0 - invariant: ^2.2.4 - peerDependencies: - react: "*" - react-native: "*" - checksum: 51b155bcc56043b9e06bf8ded089c44348e8da297b38e73f203f2d6ce8bd51698f85a38dca8eeab3d2ab721aeddefc270acd99e16cf493b20f1f429ad02214b8 - languageName: node - linkType: hard - "react-native-gesture-handler@npm:^2.26.0": version: 2.28.0 resolution: "react-native-gesture-handler@npm:2.28.0" @@ -12658,84 +11456,36 @@ __metadata: languageName: node linkType: hard -"react-native-is-edge-to-edge@npm:^1.1.7": - version: 1.1.7 - resolution: "react-native-is-edge-to-edge@npm:1.1.7" - peerDependencies: - react: "*" - react-native: "*" - checksum: 4cdf2b2fb5b131f2015c26d2cb7688b4a0c5f3c8474b1bf0ddfa9eabb0263df440c87262ae8f812a6ecab0d5310df0373bddad4b51f53dabb2ffee01e9ef0f44 - languageName: node - linkType: hard - -"react-native-is-edge-to-edge@npm:^1.2.1": - version: 1.2.1 - resolution: "react-native-is-edge-to-edge@npm:1.2.1" - peerDependencies: - react: "*" - react-native: "*" - checksum: 8fb6d8ab7b953c7d7cec8c987cef24f1c5348a293a85cb49c7c53b54ef110c0ca746736ae730e297603c8c76020df912e93915fb17518c4f2f91143757177aba - languageName: node - linkType: hard - -"react-native-safe-area-context@npm:^5.1.0": - version: 5.4.1 - resolution: "react-native-safe-area-context@npm:5.4.1" - peerDependencies: - react: "*" - react-native: "*" - checksum: 695e2a46a988725ac7a948e2a0f52fa91dbf6cfd29e7fd8c4b9e511022279cc7530fcec5dc6430415dcb5d137c593c53dd88249d41d1e049a254c32421a12d44 - languageName: node - linkType: hard - -"react-native-safe-area-context@npm:^5.4.0": - version: 5.6.1 - resolution: "react-native-safe-area-context@npm:5.6.1" - peerDependencies: - react: "*" - react-native: "*" - checksum: f346615d5f8f26c0c8459d29c149ea3f66684b8ae79cea6fd48d118d039851a69a92955d67b455d0e7ab46639155c4357ebf58ec1859b2377ee459e2a04b602b - languageName: node - linkType: hard - -"react-native-screens@npm:^4.10.0": - version: 4.16.0 - resolution: "react-native-screens@npm:4.16.0" - dependencies: - react-freeze: ^1.0.0 - react-native-is-edge-to-edge: ^1.2.1 - warn-once: ^0.1.0 - peerDependencies: - react: "*" - react-native: "*" - checksum: 71bebbead1d8f886b80b70cf9d69b0179e035fb425fae84fbcbb2930167220cb90c2ee70b26d3fd94f940fa3e6ce325b0ec2e283d039d5abb29bf6898c58e485 - languageName: node - linkType: hard - -"react-native-screens@npm:^4.9.1": - version: 4.11.1 - resolution: "react-native-screens@npm:4.11.1" +"react-native-monorepo-config@npm:^0.1.8": + version: 0.1.10 + resolution: "react-native-monorepo-config@npm:0.1.10" dependencies: - react-freeze: ^1.0.0 - react-native-is-edge-to-edge: ^1.1.7 - warn-once: ^0.1.0 + escape-string-regexp: ^5.0.0 + fast-glob: ^3.3.3 + checksum: 9b1c6fefb4d67e4a9f3f11554d33072c2112f56d578b8e9b68becc3457383e4f487f31af00d9e85cd43f0b23996c1b22e10cbec57e80c3fb2e4557a0e3db176d + languageName: node + linkType: hard + +"react-native-safe-area-context@npm:^5.4.0": + version: 5.6.1 + resolution: "react-native-safe-area-context@npm:5.6.1" peerDependencies: react: "*" react-native: "*" - checksum: 22d3c302ef90a1cb20eed8c130b32e53d49288a19eba844f506a5e38342ef2add0d4f7a2ff5501cc05052aef6bf7f180db26a067b01f70f3cc12d3e1497329d6 + checksum: f346615d5f8f26c0c8459d29c149ea3f66684b8ae79cea6fd48d118d039851a69a92955d67b455d0e7ab46639155c4357ebf58ec1859b2377ee459e2a04b602b languageName: node linkType: hard -"react-native-webview@npm:^13.13.1": - version: 13.14.1 - resolution: "react-native-webview@npm:13.14.1" +"react-native-screens@npm:^4.10.0": + version: 4.17.1 + resolution: "react-native-screens@npm:4.17.1" dependencies: - escape-string-regexp: ^4.0.0 - invariant: 2.2.4 + react-freeze: ^1.0.0 + warn-once: ^0.1.0 peerDependencies: react: "*" react-native: "*" - checksum: 3860c17dc0ccfb8df5d1bfc2f970a31dc2a28e132fb36779b0d253c5b0d3c2457b0bde071ada1c4f0ea415ccc72b6216892ad46e497d9eb879504d07b2a2f00e + checksum: 7c17118bc1313acd6001e63bf1d6c6a95ca5250c9a06450cceec50768571648d2d5f3e17ed19fb757d176a65bbe80fcba142b937a92cbbc795a6da71243c375e languageName: node linkType: hard @@ -12932,27 +11682,28 @@ __metadata: languageName: node linkType: hard -"reflect.getprototypeof@npm:^1.0.4": - version: 1.0.6 - resolution: "reflect.getprototypeof@npm:1.0.6" +"reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9": + version: 1.0.10 + resolution: "reflect.getprototypeof@npm:1.0.10" dependencies: - call-bind: ^1.0.7 + call-bind: ^1.0.8 define-properties: ^1.2.1 - es-abstract: ^1.23.1 + es-abstract: ^1.23.9 es-errors: ^1.3.0 - get-intrinsic: ^1.2.4 - globalthis: ^1.0.3 - which-builtin-type: ^1.1.3 - checksum: 88e9e65a7eaa0bf8e9a8bbf8ac07571363bc333ba8b6769ed5e013e0042ed7c385e97fae9049510b3b5fe4b42472d8f32de9ce8ce84902bc4297d4bbe3777dba + es-object-atoms: ^1.0.0 + get-intrinsic: ^1.2.7 + get-proto: ^1.0.1 + which-builtin-type: ^1.2.1 + checksum: ccc5debeb66125e276ae73909cecb27e47c35d9bb79d9cc8d8d055f008c58010ab8cb401299786e505e4aab733a64cba9daf5f312a58e96a43df66adad221870 languageName: node linkType: hard -"regenerate-unicode-properties@npm:^10.1.0, regenerate-unicode-properties@npm:^10.2.0": - version: 10.2.0 - resolution: "regenerate-unicode-properties@npm:10.2.0" +"regenerate-unicode-properties@npm:^10.2.2": + version: 10.2.2 + resolution: "regenerate-unicode-properties@npm:10.2.2" dependencies: regenerate: ^1.4.2 - checksum: d5c5fc13f8b8d7e16e791637a4bfef741f8d70e267d51845ee7d5404a32fa14c75b181c4efba33e4bff8b0000a2f13e9773593713dfe5b66597df4259275ce63 + checksum: 7ae4c1c32460c4360e3118c45eec0621424908f430fdd6f162c9172067786bf2b1682fbc885a33b26bc85e76e06f4d3f398b52425e801b0bb0cbae147dafb0b2 languageName: node linkType: hard @@ -12970,59 +11721,31 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.14.0": - version: 0.14.1 - resolution: "regenerator-runtime@npm:0.14.1" - checksum: 9f57c93277b5585d3c83b0cf76be47b473ae8c6d9142a46ce8b0291a04bb2cf902059f0f8445dcabb3fb7378e5fe4bb4ea1e008876343d42e46d3b484534ce38 - languageName: node - linkType: hard - -"regenerator-transform@npm:^0.15.2": - version: 0.15.2 - resolution: "regenerator-transform@npm:0.15.2" - dependencies: - "@babel/runtime": ^7.8.4 - checksum: 20b6f9377d65954980fe044cfdd160de98df415b4bff38fbade67b3337efaf078308c4fed943067cd759827cc8cfeca9cb28ccda1f08333b85d6a2acbd022c27 - languageName: node - linkType: hard - -"regexp.prototype.flags@npm:^1.5.2": - version: 1.5.2 - resolution: "regexp.prototype.flags@npm:1.5.2" +"regexp.prototype.flags@npm:^1.5.3, regexp.prototype.flags@npm:^1.5.4": + version: 1.5.4 + resolution: "regexp.prototype.flags@npm:1.5.4" dependencies: - call-bind: ^1.0.6 + call-bind: ^1.0.8 define-properties: ^1.2.1 es-errors: ^1.3.0 - set-function-name: ^2.0.1 - checksum: d7f333667d5c564e2d7a97c56c3075d64c722c9bb51b2b4df6822b2e8096d623a5e63088fb4c83df919b6951ef8113841de8b47de7224872fa6838bc5d8a7d64 - languageName: node - linkType: hard - -"regexpu-core@npm:^5.3.1": - version: 5.3.2 - resolution: "regexpu-core@npm:5.3.2" - dependencies: - "@babel/regjsgen": ^0.8.0 - regenerate: ^1.4.2 - regenerate-unicode-properties: ^10.1.0 - regjsparser: ^0.9.1 - unicode-match-property-ecmascript: ^2.0.0 - unicode-match-property-value-ecmascript: ^2.1.0 - checksum: 95bb97088419f5396e07769b7de96f995f58137ad75fac5811fb5fe53737766dfff35d66a0ee66babb1eb55386ef981feaef392f9df6d671f3c124812ba24da2 + get-proto: ^1.0.1 + gopd: ^1.2.0 + set-function-name: ^2.0.2 + checksum: 18cb667e56cb328d2dda569d7f04e3ea78f2683135b866d606538cf7b1d4271f7f749f09608c877527799e6cf350e531368f3c7a20ccd1bb41048a48926bdeeb languageName: node linkType: hard "regexpu-core@npm:^6.2.0": - version: 6.2.0 - resolution: "regexpu-core@npm:6.2.0" + version: 6.4.0 + resolution: "regexpu-core@npm:6.4.0" dependencies: regenerate: ^1.4.2 - regenerate-unicode-properties: ^10.2.0 + regenerate-unicode-properties: ^10.2.2 regjsgen: ^0.8.0 - regjsparser: ^0.12.0 + regjsparser: ^0.13.0 unicode-match-property-ecmascript: ^2.0.0 - unicode-match-property-value-ecmascript: ^2.1.0 - checksum: 67d3c4a3f6c99bc80b5d690074a27e6f675be1c1739f8a9acf028fbc36f1a468472574ea65e331e217995198ba4404d7878f3cb3739a73552dd3c70d3fb7f8e6 + unicode-match-property-value-ecmascript: ^2.2.1 + checksum: a316eb988599b7fb9d77f4adb937c41c022504dc91ddd18175c11771addc7f1d9dce550f34e36038395e459a2cf9ffc0d663bfe8d3c6c186317ca000ba79a8cf languageName: node linkType: hard @@ -13051,25 +11774,14 @@ __metadata: languageName: node linkType: hard -"regjsparser@npm:^0.12.0": - version: 0.12.0 - resolution: "regjsparser@npm:0.12.0" - dependencies: - jsesc: ~3.0.2 - bin: - regjsparser: bin/parser - checksum: 094b55b0ab3e1fd58f8ce5132a1d44dab08d91f7b0eea4132b0157b303ebb8ded20a9cbd893d25402d2aeddb23fac1f428ab4947b295d6fa51dd1c334a9e76f0 - languageName: node - linkType: hard - -"regjsparser@npm:^0.9.1": - version: 0.9.1 - resolution: "regjsparser@npm:0.9.1" +"regjsparser@npm:^0.13.0": + version: 0.13.0 + resolution: "regjsparser@npm:0.13.0" dependencies: - jsesc: ~0.5.0 + jsesc: ~3.1.0 bin: regjsparser: bin/parser - checksum: 5e1b76afe8f1d03c3beaf9e0d935dd467589c3625f6d65fb8ffa14f224d783a0fed4bf49c2c1b8211043ef92b6117313419edf055a098ed8342e340586741afc + checksum: 1cf09f6afde2b2d1c1e89e1ce3034e3ee8d9433912728dbaa48e123f5f43ce34e263b2a8ab228817dce85d676ee0c801a512101b015ac9ab80ed449cf7329d3a languageName: node linkType: hard @@ -13173,13 +11885,13 @@ __metadata: linkType: hard "resolve.exports@npm:^2.0.0": - version: 2.0.2 - resolution: "resolve.exports@npm:2.0.2" - checksum: 1c7778ca1b86a94f8ab4055d196c7d87d1874b96df4d7c3e67bbf793140f0717fd506dcafd62785b079cd6086b9264424ad634fb904409764c3509c3df1653f2 + version: 2.0.3 + resolution: "resolve.exports@npm:2.0.3" + checksum: abfb9f98278dcd0c19b8a49bb486abfafa23df4636d49128ea270dc982053c3ef230a530aecda1fae1322873fdfa6c97674fc539651ddfdb375ac58e0b8ef6df languageName: node linkType: hard -"resolve@npm:^1.1.6": +"resolve@npm:^1.1.6, resolve@npm:^1.20.0, resolve@npm:^1.22.10, resolve@npm:^1.22.8, resolve@npm:~1.22.2": version: 1.22.10 resolution: "resolve@npm:1.22.10" dependencies: @@ -13192,19 +11904,6 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.8, resolve@npm:~1.22.2": - version: 1.22.8 - resolution: "resolve@npm:1.22.8" - dependencies: - is-core-module: ^2.13.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: f8a26958aa572c9b064562750b52131a37c29d072478ea32e129063e2da7f83e31f7f11e7087a18225a8561cfe8d2f0df9dbea7c9d331a897571c0a2527dbb4c - languageName: node - linkType: hard - "resolve@npm:^2.0.0-next.5": version: 2.0.0-next.5 resolution: "resolve@npm:2.0.0-next.5" @@ -13218,7 +11917,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.6#~builtin": +"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.10#~builtin, resolve@patch:resolve@^1.22.8#~builtin, resolve@patch:resolve@~1.22.2#~builtin": version: 1.22.10 resolution: "resolve@patch:resolve@npm%3A1.22.10#~builtin::version=1.22.10&hash=c3c19d" dependencies: @@ -13231,19 +11930,6 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.8#~builtin, resolve@patch:resolve@~1.22.2#~builtin": - version: 1.22.8 - resolution: "resolve@patch:resolve@npm%3A1.22.8#~builtin::version=1.22.8&hash=c3c19d" - dependencies: - is-core-module: ^2.13.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: 5479b7d431cacd5185f8db64bfcb7286ae5e31eb299f4c4f404ad8aa6098b77599563ac4257cb2c37a42f59dfc06a1bec2bcf283bb448f319e37f0feb9a09847 - languageName: node - linkType: hard - "resolve@patch:resolve@^2.0.0-next.5#~builtin": version: 2.0.0-next.5 resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#~builtin::version=2.0.0-next.5&hash=c3c19d" @@ -13292,9 +11978,9 @@ __metadata: linkType: hard "reusify@npm:^1.0.4": - version: 1.0.4 - resolution: "reusify@npm:1.0.4" - checksum: c3076ebcc22a6bc252cb0b9c77561795256c22b757f40c0d8110b1300723f15ec0fc8685e8d4ea6d7666f36c79ccc793b1939c748bf36f18f542744a4e379fcc + version: 1.1.0 + resolution: "reusify@npm:1.1.0" + checksum: 64cb3142ac5e9ad689aca289585cb41d22521f4571f73e9488af39f6b1bd62f0cbb3d65e2ecc768ec6494052523f473f1eb4b55c3e9014b3590c17fc6a03e22a languageName: node linkType: hard @@ -13310,9 +11996,9 @@ __metadata: linkType: hard "run-applescript@npm:^7.0.0": - version: 7.0.0 - resolution: "run-applescript@npm:7.0.0" - checksum: b02462454d8b182ad4117e5d4626e9e6782eb2072925c9fac582170b0627ae3c1ea92ee9b2df7daf84b5e9ffe14eb1cf5fb70bc44b15c8a0bfcdb47987e2410c + version: 7.1.0 + resolution: "run-applescript@npm:7.1.0" + checksum: 8659fb5f2717b2b37a68cbfe5f678254cf24b5a82a6df3372b180c80c7c137dcd757a4166c3887e459f59a090ca414e8ea7ca97cf3ee5123db54b3b4006d7b7a languageName: node linkType: hard @@ -13341,40 +12027,51 @@ __metadata: languageName: node linkType: hard -"safe-array-concat@npm:^1.1.2": - version: 1.1.2 - resolution: "safe-array-concat@npm:1.1.2" +"safe-array-concat@npm:^1.1.3": + version: 1.1.3 + resolution: "safe-array-concat@npm:1.1.3" dependencies: - call-bind: ^1.0.7 - get-intrinsic: ^1.2.4 - has-symbols: ^1.0.3 + call-bind: ^1.0.8 + call-bound: ^1.0.2 + get-intrinsic: ^1.2.6 + has-symbols: ^1.1.0 isarray: ^2.0.5 - checksum: a3b259694754ddfb73ae0663829e396977b99ff21cbe8607f35a469655656da8e271753497e59da8a7575baa94d2e684bea3e10ddd74ba046c0c9b4418ffa0c4 + checksum: 00f6a68140e67e813f3ad5e73e6dedcf3e42a9fa01f04d44b0d3f7b1f4b257af876832a9bfc82ac76f307e8a6cc652e3cf95876048a26cbec451847cf6ae3707 + languageName: node + linkType: hard + +"safe-buffer@npm:5.2.1, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 languageName: node linkType: hard -"safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": version: 5.1.2 resolution: "safe-buffer@npm:5.1.2" checksum: f2f1f7943ca44a594893a852894055cf619c1fbcb611237fc39e461ae751187e7baf4dc391a72125e0ac4fb2d8c5c0b3c71529622e6a58f46b960211e704903c languageName: node linkType: hard -"safe-buffer@npm:~5.2.0": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 +"safe-push-apply@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-push-apply@npm:1.0.0" + dependencies: + es-errors: ^1.3.0 + isarray: ^2.0.5 + checksum: 8c11cbee6dc8ff5cc0f3d95eef7052e43494591384015902e4292aef4ae9e539908288520ed97179cee17d6ffb450fe5f05a46ce7a1749685f7524fd568ab5db languageName: node linkType: hard -"safe-regex-test@npm:^1.0.3": - version: 1.0.3 - resolution: "safe-regex-test@npm:1.0.3" +"safe-regex-test@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex-test@npm:1.1.0" dependencies: - call-bind: ^1.0.6 + call-bound: ^1.0.2 es-errors: ^1.3.0 - is-regex: ^1.1.4 - checksum: 6c7d392ff1ae7a3ae85273450ed02d1d131f1d2c76e177d6b03eb88e6df8fa062639070e7d311802c1615f351f18dc58f9454501c58e28d5ffd9b8f502ba6489 + is-regex: ^1.2.1 + checksum: 3c809abeb81977c9ed6c869c83aca6873ea0f3ab0f806b8edbba5582d51713f8a6e9757d24d2b4b088f563801475ea946c8e77e7713e8c65cdd02305b6caedab languageName: node linkType: hard @@ -13392,7 +12089,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.6.3, semver@npm:^7.1.3, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": +"semver@npm:7.6.3": version: 7.6.3 resolution: "semver@npm:7.6.3" bin: @@ -13410,7 +12107,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.6": +"semver@npm:^7.1.3, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3": version: 7.7.3 resolution: "semver@npm:7.7.3" bin: @@ -13419,15 +12116,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.6.3": - version: 7.7.2 - resolution: "semver@npm:7.7.2" - bin: - semver: bin/semver.js - checksum: dd94ba8f1cbc903d8eeb4dd8bf19f46b3deb14262b6717d0de3c804b594058ae785ef2e4b46c5c3b58733c99c83339068203002f9e37cfe44f7e2cc5e3d2f621 - languageName: node - linkType: hard - "send@npm:0.19.0": version: 0.19.0 resolution: "send@npm:0.19.0" @@ -13475,7 +12163,7 @@ __metadata: languageName: node linkType: hard -"set-function-length@npm:^1.2.1": +"set-function-length@npm:^1.2.2": version: 1.2.2 resolution: "set-function-length@npm:1.2.2" dependencies: @@ -13489,7 +12177,7 @@ __metadata: languageName: node linkType: hard -"set-function-name@npm:^2.0.1, set-function-name@npm:^2.0.2": +"set-function-name@npm:^2.0.2": version: 2.0.2 resolution: "set-function-name@npm:2.0.2" dependencies: @@ -13501,6 +12189,17 @@ __metadata: languageName: node linkType: hard +"set-proto@npm:^1.0.0": + version: 1.0.0 + resolution: "set-proto@npm:1.0.0" + dependencies: + dunder-proto: ^1.0.1 + es-errors: ^1.3.0 + es-object-atoms: ^1.0.0 + checksum: ec27cbbe334598547e99024403e96da32aca3e530583e4dba7f5db1c43cbc4affa9adfbd77c7b2c210b9b8b2e7b2e600bad2a6c44fd62e804d8233f96bbb62f4 + languageName: node + linkType: hard + "setprototypeof@npm:1.2.0": version: 1.2.0 resolution: "setprototypeof@npm:1.2.0" @@ -13524,14 +12223,7 @@ __metadata: languageName: node linkType: hard -"shell-quote@npm:^1.6.1": - version: 1.8.1 - resolution: "shell-quote@npm:1.8.1" - checksum: 5f01201f4ef504d4c6a9d0d283fa17075f6770bfbe4c5850b074974c68062f37929ca61700d95ad2ac8822e14e8c4b990ca0e6e9272e64befd74ce5e19f0736b - languageName: node - linkType: hard - -"shell-quote@npm:^1.8.1": +"shell-quote@npm:^1.6.1, shell-quote@npm:^1.8.3": version: 1.8.3 resolution: "shell-quote@npm:1.8.3" checksum: 550dd84e677f8915eb013d43689c80bb114860649ec5298eb978f40b8f3d4bc4ccb072b82c094eb3548dc587144bb3965a8676f0d685c1cf4c40b5dc27166242 @@ -13551,15 +12243,51 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": - version: 1.0.6 - resolution: "side-channel@npm:1.0.6" +"side-channel-list@npm:^1.0.0": + version: 1.0.0 + resolution: "side-channel-list@npm:1.0.0" dependencies: - call-bind: ^1.0.7 es-errors: ^1.3.0 - get-intrinsic: ^1.2.4 - object-inspect: ^1.13.1 - checksum: bfc1afc1827d712271453e91b7cd3878ac0efd767495fd4e594c4c2afaa7963b7b510e249572bfd54b0527e66e4a12b61b80c061389e129755f34c493aad9b97 + object-inspect: ^1.13.3 + checksum: 603b928997abd21c5a5f02ae6b9cc36b72e3176ad6827fab0417ead74580cc4fb4d5c7d0a8a2ff4ead34d0f9e35701ed7a41853dac8a6d1a664fcce1a044f86f + languageName: node + linkType: hard + +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" + dependencies: + call-bound: ^1.0.2 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.5 + object-inspect: ^1.13.3 + checksum: 42501371cdf71f4ccbbc9c9e2eb00aaaab80a4c1c429d5e8da713fd4d39ef3b8d4a4b37ed4f275798a65260a551a7131fd87fe67e922dba4ac18586d6aab8b06 + languageName: node + linkType: hard + +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" + dependencies: + call-bound: ^1.0.2 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.5 + object-inspect: ^1.13.3 + side-channel-map: ^1.0.1 + checksum: a815c89bc78c5723c714ea1a77c938377ea710af20d4fb886d362b0d1f8ac73a17816a5f6640f354017d7e292a43da9c5e876c22145bac00b76cfb3468001736 + languageName: node + linkType: hard + +"side-channel@npm:^1.0.6, side-channel@npm:^1.1.0": + version: 1.1.0 + resolution: "side-channel@npm:1.1.0" + dependencies: + es-errors: ^1.3.0 + object-inspect: ^1.13.3 + side-channel-list: ^1.0.0 + side-channel-map: ^1.0.1 + side-channel-weakmap: ^1.0.2 + checksum: bf73d6d6682034603eb8e99c63b50155017ed78a522d27c2acec0388a792c3ede3238b878b953a08157093b85d05797217d270b7666ba1f111345fbe933380ff languageName: node linkType: hard @@ -13578,11 +12306,11 @@ __metadata: linkType: hard "simple-swizzle@npm:^0.2.2": - version: 0.2.2 - resolution: "simple-swizzle@npm:0.2.2" + version: 0.2.4 + resolution: "simple-swizzle@npm:0.2.4" dependencies: is-arrayish: ^0.3.1 - checksum: a7f3f2ab5c76c4472d5c578df892e857323e452d9f392e1b5cf74b74db66e6294a1e1b8b390b519fa1b96b5b613f2a37db6cffef52c3f1f8f3c5ea64eb2d54c0 + checksum: 9a2f6f39a6b9fab68f96903523bf19953ec21e5e843108154cf47a9cc0f78955dd44f64499ffb71a849ac10c758d9fab7533627c7ca3ab40b5c177117acfdc1b languageName: node linkType: hard @@ -13632,18 +12360,7 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:^8.0.3": - version: 8.0.4 - resolution: "socks-proxy-agent@npm:8.0.4" - dependencies: - agent-base: ^7.1.1 - debug: ^4.3.4 - socks: ^2.8.3 - checksum: b2ec5051d85fe49072f9a250c427e0e9571fd09d5db133819192d078fd291276e1f0f50f6dbc04329b207738b1071314cee8bdbb4b12e27de42dbcf1d4233c67 - languageName: node - linkType: hard - -"socks-proxy-agent@npm:^8.0.5": +"socks-proxy-agent@npm:^8.0.3, socks-proxy-agent@npm:^8.0.5": version: 8.0.5 resolution: "socks-proxy-agent@npm:8.0.5" dependencies: @@ -13655,12 +12372,12 @@ __metadata: linkType: hard "socks@npm:^2.8.3": - version: 2.8.3 - resolution: "socks@npm:2.8.3" + version: 2.8.7 + resolution: "socks@npm:2.8.7" dependencies: - ip-address: ^9.0.5 + ip-address: ^10.0.1 smart-buffer: ^4.2.0 - checksum: 7a6b7f6eedf7482b9e4597d9a20e09505824208006ea8f2c49b71657427f3c137ca2ae662089baa73e1971c62322d535d9d0cf1c9235cf6f55e315c18203eadd + checksum: 4bbe2c88cf0eeaf49f94b7f11564a99b2571bde6fd1e714ff95b38f89e1f97858c19e0ab0e6d39eb7f6a984fa67366825895383ed563fe59962a1d57a1d55318 languageName: node linkType: hard @@ -13726,9 +12443,9 @@ __metadata: linkType: hard "spdx-license-ids@npm:^3.0.0": - version: 3.0.20 - resolution: "spdx-license-ids@npm:3.0.20" - checksum: 0c57750bedbcff48f3d0e266fbbdaf0aab54217e182f669542ffe0b5a902dce69e8cdfa126a131e1ddd39a9bef4662e357b2b41315d7240b4a28c0a7e782bb40 + version: 3.0.22 + resolution: "spdx-license-ids@npm:3.0.22" + checksum: 3810ce1ddd8c67d7cfa76a0af05157090a2d93e5bb93bd85bf9735f1fd8062c5b510423a4669dc7d8c34b0892b27a924b1c6f8965f85d852aa25062cceff5e29 languageName: node linkType: hard @@ -13746,13 +12463,6 @@ __metadata: languageName: node linkType: hard -"sprintf-js@npm:^1.1.3": - version: 1.1.3 - resolution: "sprintf-js@npm:1.1.3" - checksum: a3fdac7b49643875b70864a9d9b469d87a40dfeaf5d34d9d0c5b1cda5fd7d065531fcb43c76357d62254c57184a7b151954156563a4d6a747015cfb41021cad0 - languageName: node - linkType: hard - "sprintf-js@npm:~1.0.2": version: 1.0.3 resolution: "sprintf-js@npm:1.0.3" @@ -13760,12 +12470,12 @@ __metadata: languageName: node linkType: hard -"ssri@npm:^10.0.0": - version: 10.0.6 - resolution: "ssri@npm:10.0.6" +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" dependencies: minipass: ^7.0.3 - checksum: 4603d53a05bcd44188747d38f1cc43833b9951b5a1ee43ba50535bdfc5fe4a0897472dbe69837570a5417c3c073377ef4f8c1a272683b401857f72738ee57299 + checksum: ef4b6b0ae47b4a69896f5f1c4375f953b9435388c053c36d27998bc3d73e046969ccde61ab659e679142971a0b08e50478a1228f62edb994105b280f17900c98 languageName: node linkType: hard @@ -13786,11 +12496,11 @@ __metadata: linkType: hard "stacktrace-parser@npm:^0.1.10": - version: 0.1.10 - resolution: "stacktrace-parser@npm:0.1.10" + version: 0.1.11 + resolution: "stacktrace-parser@npm:0.1.11" dependencies: type-fest: ^0.7.1 - checksum: f4fbddfc09121d91e587b60de4beb4941108e967d71ad3a171812dc839b010ca374d064ad0a296295fed13acd103609d99a4224a25b4e67de13cae131f1901ee + checksum: 1120cf716606ec6a8e25cc9b6ada79d7b91e6a599bba1a6664e6badc8b5f37987d7df7d9ad0344f717a042781fd8e1e999de08614a5afea451b68902421036b5 languageName: node linkType: hard @@ -13815,6 +12525,16 @@ __metadata: languageName: node linkType: hard +"stop-iteration-iterator@npm:^1.1.0": + version: 1.1.0 + resolution: "stop-iteration-iterator@npm:1.1.0" + dependencies: + es-errors: ^1.3.0 + internal-slot: ^1.1.0 + checksum: be944489d8829fb3bdec1a1cc4a2142c6b6eb317305eeace1ece978d286d6997778afa1ae8cb3bd70e2b274b9aa8c69f93febb1e15b94b1359b11058f9d3c3a1 + languageName: node + linkType: hard + "strict-uri-encode@npm:^2.0.0": version: 2.0.0 resolution: "strict-uri-encode@npm:2.0.0" @@ -13872,23 +12592,24 @@ __metadata: languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.11": - version: 4.0.11 - resolution: "string.prototype.matchall@npm:4.0.11" +"string.prototype.matchall@npm:^4.0.12": + version: 4.0.12 + resolution: "string.prototype.matchall@npm:4.0.12" dependencies: - call-bind: ^1.0.7 + call-bind: ^1.0.8 + call-bound: ^1.0.3 define-properties: ^1.2.1 - es-abstract: ^1.23.2 + es-abstract: ^1.23.6 es-errors: ^1.3.0 es-object-atoms: ^1.0.0 - get-intrinsic: ^1.2.4 - gopd: ^1.0.1 - has-symbols: ^1.0.3 - internal-slot: ^1.0.7 - regexp.prototype.flags: ^1.5.2 + get-intrinsic: ^1.2.6 + gopd: ^1.2.0 + has-symbols: ^1.1.0 + internal-slot: ^1.1.0 + regexp.prototype.flags: ^1.5.3 set-function-name: ^2.0.2 - side-channel: ^1.0.6 - checksum: 6ac6566ed065c0c8489c91156078ca077db8ff64d683fda97ae652d00c52dfa5f39aaab0a710d8243031a857fd2c7c511e38b45524796764d25472d10d7075ae + side-channel: ^1.1.0 + checksum: 98a09d6af91bfc6ee25556f3d7cd6646d02f5f08bda55d45528ed273d266d55a71af7291fe3fc76854deffb9168cc1a917d0b07a7d5a178c7e9537c99e6d2b57 languageName: node linkType: hard @@ -13902,26 +12623,30 @@ __metadata: languageName: node linkType: hard -"string.prototype.trim@npm:^1.2.9": - version: 1.2.9 - resolution: "string.prototype.trim@npm:1.2.9" +"string.prototype.trim@npm:^1.2.10": + version: 1.2.10 + resolution: "string.prototype.trim@npm:1.2.10" dependencies: - call-bind: ^1.0.7 + call-bind: ^1.0.8 + call-bound: ^1.0.2 + define-data-property: ^1.1.4 define-properties: ^1.2.1 - es-abstract: ^1.23.0 + es-abstract: ^1.23.5 es-object-atoms: ^1.0.0 - checksum: ea2df6ec1e914c9d4e2dc856fa08228e8b1be59b59e50b17578c94a66a176888f417264bb763d4aac638ad3b3dad56e7a03d9317086a178078d131aa293ba193 + has-property-descriptors: ^1.0.2 + checksum: 87659cd8561237b6c69f5376328fda934693aedde17bb7a2c57008e9d9ff992d0c253a391c7d8d50114e0e49ff7daf86a362f7961cf92f7564cd01342ca2e385 languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.8": - version: 1.0.8 - resolution: "string.prototype.trimend@npm:1.0.8" +"string.prototype.trimend@npm:^1.0.9": + version: 1.0.9 + resolution: "string.prototype.trimend@npm:1.0.9" dependencies: - call-bind: ^1.0.7 + call-bind: ^1.0.8 + call-bound: ^1.0.2 define-properties: ^1.2.1 es-object-atoms: ^1.0.0 - checksum: cc3bd2de08d8968a28787deba9a3cb3f17ca5f9f770c91e7e8fa3e7d47f079bad70fadce16f05dda9f261788be2c6e84a942f618c3bed31e42abc5c1084f8dfd + checksum: cb86f639f41d791a43627784be2175daa9ca3259c7cb83e7a207a729909b74f2ea0ec5d85de5761e6835e5f443e9420c6ff3f63a845378e4a61dd793177bc287 languageName: node linkType: hard @@ -13982,11 +12707,11 @@ __metadata: linkType: hard "strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" + version: 7.1.2 + resolution: "strip-ansi@npm:7.1.2" dependencies: ansi-regex: ^6.0.1 - checksum: 859c73fcf27869c22a4e4d8c6acfe690064659e84bef9458aa6d13719d09ca88dcfd40cbf31fd0be63518ea1a643fe070b4827d353e09533a5b0b9fd4553d64d + checksum: db0e3f9654e519c8a33c50fc9304d07df5649388e7da06d3aabf66d29e5ad65d5e6315d8519d409c15b32fa82c1df7e11ed6f8cd50b0e4404463f0c9d77c8d0b languageName: node linkType: hard @@ -14021,11 +12746,9 @@ __metadata: linkType: hard "strip-indent@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-indent@npm:4.0.0" - dependencies: - min-indent: ^1.0.1 - checksum: 06cbcd93da721c46bc13caeb1c00af93a9b18146a1c95927672d2decab6a25ad83662772417cea9317a2507fb143253ecc23c4415b64f5828cef9b638a744598 + version: 4.1.1 + resolution: "strip-indent@npm:4.1.1" + checksum: d322bfdc59855006791a4aebe2a66e0892eab7004a5c064d74b86a0c6ecff2818974c9a5eda54b16d8af6aadbc90a6c02635ffcbec11ab33dd8979b1a6346fc0 languageName: node linkType: hard @@ -14043,10 +12766,10 @@ __metadata: languageName: node linkType: hard -"strnum@npm:^1.0.5": - version: 1.0.5 - resolution: "strnum@npm:1.0.5" - checksum: 651b2031db5da1bf4a77fdd2f116a8ac8055157c5420f5569f64879133825915ad461513e7202a16d7fec63c54fd822410d0962f8ca12385c4334891b9ae6dd2 +"strnum@npm:^1.1.1": + version: 1.1.2 + resolution: "strnum@npm:1.1.2" + checksum: a85219eda13e97151c95e343a9e5960eacfb0a0ff98104b4c9cb7a212e3008bddf0c9714c9c37c2e508be78e741a04afc80027c2dc18509d1b5ffd4c37191fc2 languageName: node linkType: hard @@ -14064,15 +12787,6 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^5.3.0": - version: 5.5.0 - resolution: "supports-color@npm:5.5.0" - dependencies: - has-flag: ^3.0.0 - checksum: 95f6f4ba5afdf92f495b5a912d4abee8dcba766ae719b975c56c084f5004845f6f5a5f7769f52d53f40e21952a6d87411bafe34af4a01e65f9926002e38e1dac - languageName: node - linkType: hard - "supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" @@ -14098,41 +12812,39 @@ __metadata: languageName: node linkType: hard -"synckit@npm:^0.9.1": - version: 0.9.1 - resolution: "synckit@npm:0.9.1" +"synckit@npm:^0.11.7": + version: 0.11.11 + resolution: "synckit@npm:0.11.11" dependencies: - "@pkgr/core": ^0.1.0 - tslib: ^2.6.2 - checksum: 4042941a4d939675f1d7b01124b8405b6ac616f3e3f396d00e46c67f38d0d5b7f9a1de05bc7ceea4ce80d967b450cfa2460e5f6aca81f7cea8f1a28be9392985 + "@pkgr/core": ^0.2.9 + checksum: bc896d4320525501495654766e6b0aa394e522476ea0547af603bdd9fd7e9b65dcd6e3a237bc7eb3ab7e196376712f228bf1bf6ed1e1809f4b32dc9baf7ad413 languageName: node linkType: hard -"tar@npm:^6.1.11, tar@npm:^6.2.1": - version: 6.2.1 - resolution: "tar@npm:6.2.1" +"tar@npm:^7.4.3": + version: 7.5.1 + resolution: "tar@npm:7.5.1" dependencies: - chownr: ^2.0.0 - fs-minipass: ^2.0.0 - minipass: ^5.0.0 - minizlib: ^2.1.1 - mkdirp: ^1.0.3 - yallist: ^4.0.0 - checksum: f1322768c9741a25356c11373bce918483f40fa9a25c69c59410c8a1247632487edef5fe76c5f12ac51a6356d2f1829e96d2bc34098668a2fc34d76050ac2b6c + "@isaacs/fs-minipass": ^4.0.0 + chownr: ^3.0.0 + minipass: ^7.1.2 + minizlib: ^3.1.0 + yallist: ^5.0.0 + checksum: dbd55d4c3bd9e3c69aed137d9dc9fcb8f86afd103c28d97d52728ca80708f4c84b07e0a01d0bf1c8e820be84d37632325debf19f672a06e0c605c57a03636fd0 languageName: node linkType: hard "terser@npm:^5.15.0": - version: 5.34.1 - resolution: "terser@npm:5.34.1" + version: 5.44.0 + resolution: "terser@npm:5.44.0" dependencies: "@jridgewell/source-map": ^0.3.3 - acorn: ^8.8.2 + acorn: ^8.15.0 commander: ^2.20.0 source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: 19a6710e17ff3f20d3b0661090640a572ce5ff6f2e95c731bb5a9eb1dcc1fe563cd0f1e4a22cde89b2717667336252bc2adb8894bdfbec6d1996b3e70b44f365 + checksum: 4e1868d9662ea280dad7b49cfe61b7693187be2b529b31b1f86782db00833c03ba05f2b82fc513d928e937260f2a5fbf42a93724e86eaf55f069288f934ccdb3 languageName: node linkType: hard @@ -14192,6 +12904,16 @@ __metadata: languageName: node linkType: hard +"tinyglobby@npm:^0.2.12": + version: 0.2.15 + resolution: "tinyglobby@npm:0.2.15" + dependencies: + fdir: ^6.5.0 + picomatch: ^4.0.3 + checksum: 0e33b8babff966c6ab86e9b825a350a6a98a63700fa0bb7ae6cf36a7770a508892383adc272f7f9d17aaf46a9d622b455e775b9949a3f951eaaf5dfb26331d44 + languageName: node + linkType: hard + "tmp@npm:^0.0.33": version: 0.0.33 resolution: "tmp@npm:0.0.33" @@ -14208,13 +12930,6 @@ __metadata: languageName: node linkType: hard -"to-fast-properties@npm:^2.0.0": - version: 2.0.0 - resolution: "to-fast-properties@npm:2.0.0" - checksum: be2de62fe58ead94e3e592680052683b1ec986c72d589e7b21e5697f8744cdbf48c266fa72f6c15932894c10187b5f54573a3bcf7da0bfd964d5caf23d436168 - languageName: node - linkType: hard - "to-regex-range@npm:^5.0.1": version: 5.0.1 resolution: "to-regex-range@npm:5.0.1" @@ -14238,7 +12953,7 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^1.0.1": +"ts-api-utils@npm:^1.0.1, ts-api-utils@npm:^1.3.0": version: 1.4.3 resolution: "ts-api-utils@npm:1.4.3" peerDependencies: @@ -14247,12 +12962,12 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^1.3.0": - version: 1.4.0 - resolution: "ts-api-utils@npm:1.4.0" +"ts-api-utils@npm:^2.1.0": + version: 2.1.0 + resolution: "ts-api-utils@npm:2.1.0" peerDependencies: - typescript: ">=4.2.0" - checksum: 477601317dc8a6d961788663ee76984005ed20c70689bd6f807eed2cad258d3731edcc4162d438ce04782ca62a05373ba51e484180fc2a081d8dab2bf693a5af + typescript: ">=4.8.4" + checksum: 5b1ef89105654d93d67582308bd8dfe4bbf6874fccbcaa729b08fbb00a940fd4c691ca6d0d2b18c3c70878d9a7e503421b7cc473dbc3d0d54258b86401d4b15d languageName: node linkType: hard @@ -14263,14 +12978,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.6.2": - version: 2.7.0 - resolution: "tslib@npm:2.7.0" - checksum: 1606d5c89f88d466889def78653f3aab0f88692e80bb2066d090ca6112ae250ec1cfa9dbfaab0d17b60da15a4186e8ec4d893801c67896b277c17374e36e1d28 - languageName: node - linkType: hard - -"tslib@npm:^2.8.1": +"tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.8.1": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: e4aba30e632b8c8902b47587fd13345e2827fa639e7c3121074d5ee0880723282411a8838f830b55100cbe4517672f84a2472667d355b81e8af165a55dc6203a @@ -14427,55 +13135,56 @@ __metadata: languageName: node linkType: hard -"typed-array-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "typed-array-buffer@npm:1.0.2" +"typed-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-buffer@npm:1.0.3" dependencies: - call-bind: ^1.0.7 + call-bound: ^1.0.3 es-errors: ^1.3.0 - is-typed-array: ^1.1.13 - checksum: 02ffc185d29c6df07968272b15d5319a1610817916ec8d4cd670ded5d1efe72901541ff2202fcc622730d8a549c76e198a2f74e312eabbfb712ed907d45cbb0b + is-typed-array: ^1.1.14 + checksum: 3fb91f0735fb413b2bbaaca9fabe7b8fc14a3fa5a5a7546bab8a57e755be0e3788d893195ad9c2b842620592de0e68d4c077d4c2c41f04ec25b8b5bb82fa9a80 languageName: node linkType: hard -"typed-array-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "typed-array-byte-length@npm:1.0.1" +"typed-array-byte-length@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-byte-length@npm:1.0.3" dependencies: - call-bind: ^1.0.7 + call-bind: ^1.0.8 for-each: ^0.3.3 - gopd: ^1.0.1 - has-proto: ^1.0.3 - is-typed-array: ^1.1.13 - checksum: f65e5ecd1cf76b1a2d0d6f631f3ea3cdb5e08da106c6703ffe687d583e49954d570cc80434816d3746e18be889ffe53c58bf3e538081ea4077c26a41055b216d + gopd: ^1.2.0 + has-proto: ^1.2.0 + is-typed-array: ^1.1.14 + checksum: cda9352178ebeab073ad6499b03e938ebc30c4efaea63a26839d89c4b1da9d2640b0d937fc2bd1f049eb0a38def6fbe8a061b601292ae62fe079a410ce56e3a6 languageName: node linkType: hard -"typed-array-byte-offset@npm:^1.0.2": - version: 1.0.2 - resolution: "typed-array-byte-offset@npm:1.0.2" +"typed-array-byte-offset@npm:^1.0.4": + version: 1.0.4 + resolution: "typed-array-byte-offset@npm:1.0.4" dependencies: available-typed-arrays: ^1.0.7 - call-bind: ^1.0.7 + call-bind: ^1.0.8 for-each: ^0.3.3 - gopd: ^1.0.1 - has-proto: ^1.0.3 - is-typed-array: ^1.1.13 - checksum: c8645c8794a621a0adcc142e0e2c57b1823bbfa4d590ad2c76b266aa3823895cf7afb9a893bf6685e18454ab1b0241e1a8d885a2d1340948efa4b56add4b5f67 + gopd: ^1.2.0 + has-proto: ^1.2.0 + is-typed-array: ^1.1.15 + reflect.getprototypeof: ^1.0.9 + checksum: 670b7e6bb1d3c2cf6160f27f9f529e60c3f6f9611c67e47ca70ca5cfa24ad95415694c49d1dbfeda016d3372cab7dfc9e38c7b3e1bb8d692cae13a63d3c144d7 languageName: node linkType: hard -"typed-array-length@npm:^1.0.6": - version: 1.0.6 - resolution: "typed-array-length@npm:1.0.6" +"typed-array-length@npm:^1.0.7": + version: 1.0.7 + resolution: "typed-array-length@npm:1.0.7" dependencies: call-bind: ^1.0.7 for-each: ^0.3.3 gopd: ^1.0.1 - has-proto: ^1.0.3 is-typed-array: ^1.1.13 possible-typed-array-names: ^1.0.0 - checksum: f0315e5b8f0168c29d390ff410ad13e4d511c78e6006df4a104576844812ee447fcc32daab1f3a76c9ef4f64eff808e134528b5b2439de335586b392e9750e5c + reflect.getprototypeof: ^1.0.6 + checksum: deb1a4ffdb27cd930b02c7030cb3e8e0993084c643208e52696e18ea6dd3953dfc37b939df06ff78170423d353dc8b10d5bae5796f3711c1b3abe52872b3774c languageName: node linkType: hard @@ -14487,11 +13196,11 @@ __metadata: linkType: hard "typedoc-plugin-coverage@npm:^3.3.0": - version: 3.3.0 - resolution: "typedoc-plugin-coverage@npm:3.3.0" + version: 3.4.1 + resolution: "typedoc-plugin-coverage@npm:3.4.1" peerDependencies: - typedoc: 0.25.x || 0.26.x - checksum: b1779429618ab4df38c6b066c4113376b455d19863f70a170fe2e3a06cdcb276b82c4205c67922ea05e926b2fb0c85d932d7e09d00a42d4c4d95689768243524 + typedoc: 0.25.x || 0.26.x || 0.27.x + checksum: 4594aa61681e7f9732ef1c7a6be88db9508ef95f6231ea93d10d81e5f68937853cb9414f92f74f418175d27b7ba516f97a94848942bc589db54478f1a2b29650 languageName: node linkType: hard @@ -14507,8 +13216,8 @@ __metadata: linkType: hard "typedoc@npm:^0.28.13": - version: 0.28.13 - resolution: "typedoc@npm:0.28.13" + version: 0.28.14 + resolution: "typedoc@npm:0.28.14" dependencies: "@gerrit0/mini-shiki": ^3.12.0 lunr: ^2.3.9 @@ -14519,27 +13228,27 @@ __metadata: typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x bin: typedoc: bin/typedoc - checksum: 238b567661d4118eaf1bc61696ce2129dc0f0d4bd9b0928942bdd40ab9165df842143a04bc1fd8c7c1c2a8978ad2b48118f4bfcd753be322476568a8cc27e355 + checksum: d579280e58f50dfdb4c0017ab1ed5807a98c468ebd2aca4ae4d725194c3b575de2524543d142382c0fa7cd1b7a7b3732245f459677406365c7ba7151b3c87ebc languageName: node linkType: hard "typescript@npm:^5.2.2": - version: 5.6.2 - resolution: "typescript@npm:5.6.2" + version: 5.9.3 + resolution: "typescript@npm:5.9.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 48777e1dabd9044519f56cd012b0296e3b72bafe12b7e8e34222751d45c67e0eba5387ecdaa6c14a53871a29361127798df6dc8d1d35643a0a47cb0b1c65a33a + checksum: 0d0ffb84f2cd072c3e164c79a2e5a1a1f4f168e84cb2882ff8967b92afe1def6c2a91f6838fb58b168428f9458c57a2ba06a6737711fdd87a256bbe83e9a217f languageName: node linkType: hard "typescript@patch:typescript@^5.2.2#~builtin": - version: 5.6.2 - resolution: "typescript@patch:typescript@npm%3A5.6.2#~builtin::version=5.6.2&hash=14eedb" + version: 5.9.3 + resolution: "typescript@patch:typescript@npm%3A5.9.3#~builtin::version=5.9.3&hash=14eedb" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: c084ee1ab865f108c787e6233a5f63c126c482c0c8e87ec998ac5288a2ad54b603e1ea8b8b272355823b833eb31b9fabb99e8c6152283e1cb47e3a76bd6faf6c + checksum: 8bb8d86819ac86a498eada254cad7fb69c5f74778506c700c2a712daeaff21d3a6f51fd0d534fe16903cb010d1b74f89437a3d02d4d0ff5ca2ba9a4660de8497 languageName: node linkType: hard @@ -14559,15 +13268,15 @@ __metadata: languageName: node linkType: hard -"unbox-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "unbox-primitive@npm:1.0.2" +"unbox-primitive@npm:^1.1.0": + version: 1.1.0 + resolution: "unbox-primitive@npm:1.1.0" dependencies: - call-bind: ^1.0.2 + call-bound: ^1.0.3 has-bigints: ^1.0.2 - has-symbols: ^1.0.3 - which-boxed-primitive: ^1.0.2 - checksum: b7a1cf5862b5e4b5deb091672ffa579aa274f648410009c81cca63fed3b62b610c4f3b773f912ce545bb4e31edc3138975b5bc777fc6e4817dca51affb6380e9 + has-symbols: ^1.1.0 + which-boxed-primitive: ^1.1.1 + checksum: 729f13b84a5bfa3fead1d8139cee5c38514e63a8d6a437819a473e241ba87eeb593646568621c7fc7f133db300ef18d65d1a5a60dc9c7beb9000364d93c581df languageName: node linkType: hard @@ -14578,10 +13287,10 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~6.19.2": - version: 6.19.8 - resolution: "undici-types@npm:6.19.8" - checksum: de51f1b447d22571cf155dfe14ff6d12c5bdaec237c765085b439c38ca8518fc360e88c70f99469162bf2e14188a7b0bcb06e1ed2dc031042b984b0bb9544017 +"undici-types@npm:~7.14.0": + version: 7.14.0 + resolution: "undici-types@npm:7.14.0" + checksum: bd28cb36b33a51359f02c27b84bfe8563cdad57bdab0aa6ac605ce64d51aff49fd0aa4cb2d3b043caaa93c3ec42e96b5757df5d2d9bcc06a5f3e71899c765035 languageName: node linkType: hard @@ -14602,17 +13311,17 @@ __metadata: languageName: node linkType: hard -"unicode-match-property-value-ecmascript@npm:^2.1.0": - version: 2.2.0 - resolution: "unicode-match-property-value-ecmascript@npm:2.2.0" - checksum: 9e3151e1d0bc6be35c4cef105e317c04090364173e8462005b5cde08a1e7c858b6586486cfebac39dc2c6c8c9ee24afb245de6d527604866edfa454fe2a35fae +"unicode-match-property-value-ecmascript@npm:^2.2.1": + version: 2.2.1 + resolution: "unicode-match-property-value-ecmascript@npm:2.2.1" + checksum: e6c73e07bb4dc4aa399797a14b170e84a30ed290bcf97cc4305cf67dde8744119721ce17cef03f4f9d4ff48654bfa26eadc7fe1e8dd4b71b8f3b2e9a9742f013 languageName: node linkType: hard "unicode-property-aliases-ecmascript@npm:^2.0.0": - version: 2.1.0 - resolution: "unicode-property-aliases-ecmascript@npm:2.1.0" - checksum: 243524431893649b62cc674d877bd64ef292d6071dd2fd01ab4d5ad26efbc104ffcd064f93f8a06b7e4ec54c172bf03f6417921a0d8c3a9994161fe1f88f815b + version: 2.2.0 + resolution: "unicode-property-aliases-ecmascript@npm:2.2.0" + checksum: 0dd0f6e70130c59b4a841bac206758f70227b113145e4afe238161e3e8540e8eb79963e7a228cd90ad13d499e96f7ef4ee8940835404b2181ad9bf9c174818e3 languageName: node linkType: hard @@ -14623,21 +13332,21 @@ __metadata: languageName: node linkType: hard -"unique-filename@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-filename@npm:3.0.0" +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" dependencies: - unique-slug: ^4.0.0 - checksum: 8e2f59b356cb2e54aab14ff98a51ac6c45781d15ceaab6d4f1c2228b780193dc70fae4463ce9e1df4479cb9d3304d7c2043a3fb905bdeca71cc7e8ce27e063df + unique-slug: ^5.0.0 + checksum: 6a62094fcac286b9ec39edbd1f8f64ff92383baa430af303dfed1ffda5e47a08a6b316408554abfddd9730c78b6106bef4ca4d02c1231a735ddd56ced77573df languageName: node linkType: hard -"unique-slug@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-slug@npm:4.0.0" +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" dependencies: imurmurhash: ^0.1.4 - checksum: 0884b58365af59f89739e6f71e3feacb5b1b41f2df2d842d0757933620e6de08eff347d27e9d499b43c40476cbaf7988638d3acb2ffbcb9d35fd035591adfd15 + checksum: 222d0322bc7bbf6e45c08967863212398313ef73423f4125e075f893a02405a5ffdbaaf150f7dd1e99f8861348a486dd079186d27c5f2c60e465b7dcbb1d3e5b languageName: node linkType: hard @@ -14669,20 +13378,6 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.1.0, update-browserslist-db@npm:^1.1.1": - version: 1.1.1 - resolution: "update-browserslist-db@npm:1.1.1" - dependencies: - escalade: ^3.2.0 - picocolors: ^1.1.0 - peerDependencies: - browserslist: ">= 4.21.0" - bin: - update-browserslist-db: cli.js - checksum: 2ea11bd2562122162c3e438d83a1f9125238c0844b6d16d366e3276d0c0acac6036822dc7df65fc5a89c699cdf9f174acf439c39bedf3f9a2f3983976e4b4c3e - languageName: node - linkType: hard - "update-browserslist-db@npm:^1.1.3": version: 1.1.3 resolution: "update-browserslist-db@npm:1.1.3" @@ -14731,30 +13426,21 @@ __metadata: languageName: node linkType: hard -"use-latest-callback@npm:^0.2.1": - version: 0.2.1 - resolution: "use-latest-callback@npm:0.2.1" - peerDependencies: - react: ">=16.8" - checksum: da5718eda625738cc7dac8fb502d0f8f2039435eb71203565a72c32e0f5769e7b8ddac074e650066636e7f4b29b45524f751cb18a2b430856d98879bbb10d274 - languageName: node - linkType: hard - "use-latest-callback@npm:^0.2.4": - version: 0.2.4 - resolution: "use-latest-callback@npm:0.2.4" + version: 0.2.6 + resolution: "use-latest-callback@npm:0.2.6" peerDependencies: react: ">=16.8" - checksum: 60c3a6b1b6567e1794f9e48cd86b8cde8a149485cc2fed60570f69ec3b157f6812e0ff0a877f0b971592fb9254b1363cc21c120fd1fc993b1dad1406c69211df + checksum: 67a245bf91b23ef0d2d2c8a52845da62e006867bd9d93a99ca4d2f859101fcd54c7afd4f5a3b8bb5d24283f516e7e41bd8226250ee39affc33bd1cfd622a5cfb languageName: node linkType: hard "use-sync-external-store@npm:^1.5.0": - version: 1.5.0 - resolution: "use-sync-external-store@npm:1.5.0" + version: 1.6.0 + resolution: "use-sync-external-store@npm:1.6.0" peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - checksum: 5e639c9273200adb6985b512c96a3a02c458bc8ca1a72e91da9cdc6426144fc6538dca434b0f99b28fb1baabc82e1c383ba7900b25ccdcb43758fb058dc66c34 + checksum: 61a62e910713adfaf91bdb72ff2cd30e5ba83687accaf3b6e75a903b45bf635f5722e3694af30d83a03e92cb533c0a5c699298d2fef639a03ffc86b469f4eee2 languageName: node linkType: hard @@ -14833,7 +13519,7 @@ __metadata: languageName: node linkType: hard -"warn-once@npm:^0.1.0": +"warn-once@npm:^0.1.0, warn-once@npm:^0.1.1": version: 0.1.1 resolution: "warn-once@npm:0.1.1" checksum: e6a5a1f5a8dba7744399743d3cfb571db4c3947897875d4962a7c5b1bf2195ab4518c838cb4cea652e71729f21bba2e98dc75686f5fccde0fabbd894e2ed0c0d @@ -14863,36 +13549,37 @@ __metadata: languageName: node linkType: hard -"which-boxed-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "which-boxed-primitive@npm:1.0.2" +"which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1": + version: 1.1.1 + resolution: "which-boxed-primitive@npm:1.1.1" dependencies: - is-bigint: ^1.0.1 - is-boolean-object: ^1.1.0 - is-number-object: ^1.0.4 - is-string: ^1.0.5 - is-symbol: ^1.0.3 - checksum: 53ce774c7379071729533922adcca47220228405e1895f26673bbd71bdf7fb09bee38c1d6399395927c6289476b5ae0629863427fd151491b71c4b6cb04f3a5e + is-bigint: ^1.1.0 + is-boolean-object: ^1.2.1 + is-number-object: ^1.1.1 + is-string: ^1.1.1 + is-symbol: ^1.1.1 + checksum: ee41d0260e4fd39551ad77700c7047d3d281ec03d356f5e5c8393fe160ba0db53ef446ff547d05f76ffabfd8ad9df7c9a827e12d4cccdbc8fccf9239ff8ac21e languageName: node linkType: hard -"which-builtin-type@npm:^1.1.3": - version: 1.1.4 - resolution: "which-builtin-type@npm:1.1.4" +"which-builtin-type@npm:^1.2.1": + version: 1.2.1 + resolution: "which-builtin-type@npm:1.2.1" dependencies: + call-bound: ^1.0.2 function.prototype.name: ^1.1.6 has-tostringtag: ^1.0.2 is-async-function: ^2.0.0 - is-date-object: ^1.0.5 - is-finalizationregistry: ^1.0.2 + is-date-object: ^1.1.0 + is-finalizationregistry: ^1.1.0 is-generator-function: ^1.0.10 - is-regex: ^1.1.4 + is-regex: ^1.2.1 is-weakref: ^1.0.2 isarray: ^2.0.5 - which-boxed-primitive: ^1.0.2 + which-boxed-primitive: ^1.1.0 which-collection: ^1.0.2 - which-typed-array: ^1.1.15 - checksum: 1f413025250072534de2a2ee25139a24d477512b532b05c85fb9aa05aef04c6e1ca8e2668acf971b777e602721dbdec4b9d6a4f37c6b9ff8f026ad030352707f + which-typed-array: ^1.1.16 + checksum: 7a3617ba0e7cafb795f74db418df889867d12bce39a477f3ee29c6092aa64d396955bf2a64eae3726d8578440e26777695544057b373c45a8bcf5fbe920bf633 languageName: node linkType: hard @@ -14915,16 +13602,18 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15": - version: 1.1.15 - resolution: "which-typed-array@npm:1.1.15" +"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.19": + version: 1.1.19 + resolution: "which-typed-array@npm:1.1.19" dependencies: available-typed-arrays: ^1.0.7 - call-bind: ^1.0.7 - for-each: ^0.3.3 - gopd: ^1.0.1 + call-bind: ^1.0.8 + call-bound: ^1.0.4 + for-each: ^0.3.5 + get-proto: ^1.0.1 + gopd: ^1.2.0 has-tostringtag: ^1.0.2 - checksum: 65227dcbfadf5677aacc43ec84356d17b5500cb8b8753059bb4397de5cd0c2de681d24e1a7bd575633f976a95f88233abfd6549c2105ef4ebd58af8aa1807c75 + checksum: 162d2a07f68ea323f88ed9419861487ce5d02cb876f2cf9dd1e428d04a63133f93a54f89308f337b27cabd312ee3d027cae4a79002b2f0a85b79b9ef4c190670 languageName: node linkType: hard @@ -14939,14 +13628,14 @@ __metadata: languageName: node linkType: hard -"which@npm:^4.0.0": - version: 4.0.0 - resolution: "which@npm:4.0.0" +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" dependencies: isexe: ^3.1.1 bin: node-which: bin/which.js - checksum: f17e84c042592c21e23c8195108cff18c64050b9efb8459589116999ea9da6dd1509e6a1bac3aeebefd137be00fabbb61b5c2bc0aa0f8526f32b58ee2f545651 + checksum: 6ec99e89ba32c7e748b8a3144e64bfc74aa63e2b2eacbb61a0060ad0b961eb1a632b08fb1de067ed59b002cec3e21de18299216ebf2325ef0f78e0f121e14e90 languageName: node linkType: hard @@ -15023,13 +13712,13 @@ __metadata: linkType: hard "wrap-ansi@npm:^9.0.0": - version: 9.0.0 - resolution: "wrap-ansi@npm:9.0.0" + version: 9.0.2 + resolution: "wrap-ansi@npm:9.0.2" dependencies: ansi-styles: ^6.2.1 string-width: ^7.0.0 strip-ansi: ^7.1.0 - checksum: b2d43b76b3d8dcbdd64768165e548aad3e54e1cae4ecd31bac9966faaa7cf0b0345677ad6879db10ba58eb446ba8fa44fb82b4951872fd397f096712467a809f + checksum: 9827bf8bbb341d2d15f26d8507d98ca2695279359073422fe089d374b30e233d24ab95beca55cf9ab8dcb89face00e919be4158af50d4b6d8eab5ef4ee399e0c languageName: node linkType: hard @@ -15116,16 +13805,14 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.2.1": - version: 2.5.1 - resolution: "yaml@npm:2.5.1" - bin: - yaml: bin.mjs - checksum: 31275223863fbd0b47ba9d2b248fbdf085db8d899e4ca43fff8a3a009497c5741084da6871d11f40e555d61360951c4c910b98216c1325d2c94753c0036d8172 +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: eba51182400b9f35b017daa7f419f434424410691bbc5de4f4240cc830fdef906b504424992700dc047f16b4d99100a6f8b8b11175c193f38008e9c96322b6a5 languageName: node linkType: hard -"yaml@npm:^2.8.1": +"yaml@npm:^2.2.1, yaml@npm:^2.8.1": version: 2.8.1 resolution: "yaml@npm:2.8.1" bin: @@ -15207,8 +13894,8 @@ __metadata: linkType: hard "yoctocolors-cjs@npm:^2.1.1": - version: 2.1.2 - resolution: "yoctocolors-cjs@npm:2.1.2" - checksum: 1c474d4b30a8c130e679279c5c2c33a0d48eba9684ffa0252cc64846c121fb56c3f25457fef902edbe1e2d7a7872130073a9fc8e795299d75e13fa3f5f548f1b + version: 2.1.3 + resolution: "yoctocolors-cjs@npm:2.1.3" + checksum: 207df586996c3b604fa85903f81cc54676f1f372613a0c7247f0d24b1ca781905685075d06955211c4d5d4f629d7d5628464f8af0a42d286b7a8ff88e9dadcb8 languageName: node linkType: hard