diff --git a/.eslintrc.json b/.eslintrc.json
deleted file mode 100644
index 9ad2bb4cb..000000000
--- a/.eslintrc.json
+++ /dev/null
@@ -1,115 +0,0 @@
-{
- "extends": [
- "./eslint/eslint-mattermost",
- "./eslint/eslint-react",
- "plugin:@typescript-eslint/eslint-recommended",
- "plugin:@typescript-eslint/recommended",
- "plugin:react-hooks/recommended"
- ],
- "parser": "@typescript-eslint/parser",
- "plugins": [
- "@typescript-eslint",
- "import"
- ],
- "settings": {
- "react": {
- "pragma": "React",
- "version": "17.0"
- }
- },
- "env": {
- "jest": true
- },
- "globals": {
- "__DEV__": true
- },
- "rules": {
- "eol-last": ["error", "always"],
- "global-require": 0,
- "no-undefined": 0,
- "no-shadow": "off",
- "react/display-name": [2, { "ignoreTranspilerName": false }],
- "react/jsx-filename-extension": 0,
- "react-hooks/exhaustive-deps": "warn",
- "camelcase": [
- 0,
- {
- "properties": "never"
- }
- ],
- "@typescript-eslint/ban-types": 0,
- "@typescript-eslint/no-non-null-assertion": 0,
- "@typescript-eslint/no-unused-vars": [
- 2,
- {
- "vars": "all",
- "args": "after-used"
- }
- ],
- "@typescript-eslint/no-shadow": ["error"],
- "@typescript-eslint/no-explicit-any": "warn",
- "no-use-before-define": "off",
- "@typescript-eslint/no-use-before-define": 0,
- "@typescript-eslint/no-var-requires": 0,
- "@typescript-eslint/explicit-function-return-type": 0,
- "@typescript-eslint/explicit-module-boundary-types": "off",
- "no-underscore-dangle": "off",
- "indent": [2, 4, {"SwitchCase": 1}],
- "key-spacing": [2, {
- "singleLine": {
- "beforeColon": false,
- "afterColon": true
- }}],
- "@typescript-eslint/member-delimiter-style": 2,
- "@typescript-eslint/no-unsafe-declaration-merging": "off",
- "import/order": [
- 2,
- {
- "groups": ["builtin", "external", "parent", "sibling", "index", "type"],
- "newlines-between": "always",
- "pathGroups": [
- {
- "pattern": "{@(@actions|@app|@assets|@calls|@client|@components|@constants|@context|@database|@helpers|@hooks|@init|@managers|@queries|@screens|@selectors|@share|@store|@telemetry|@typings|@test|@utils)/**,@(@constants|@i18n|@store|@websocket)}",
- "group": "external",
- "position": "after"
- },
- {
- "pattern": "app/**",
- "group": "parent",
- "position": "before"
- }
- ],
- "alphabetize": {
- "order": "asc",
- "caseInsensitive": true
- },
- "pathGroupsExcludedImportTypes": ["type"]
- }
- ]
- },
- "overrides": [
- {
- "files": ["*.test.js", "*.test.jsx"],
- "env": {
- "jest": true
- }
- },
- {
- "files": ["detox/e2e/**"],
- "globals": {
- "by": true,
- "detox": true,
- "device": true,
- "element": true,
- "waitFor": true
- },
- "rules": {
- "func-names": 0,
- "import/no-unresolved": 0,
- "max-nested-callbacks": 0,
- "no-process-env": 0,
- "no-unused-expressions": 0
- }
- }
- ]
-}
diff --git a/android/app/build.gradle b/android/app/build.gradle
index a0916b993..701d73abc 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -202,14 +202,14 @@ dependencies {
implementation jscFlavor
}
- implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1'
- implementation 'androidx.appcompat:appcompat:1.6.1'
+ implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3'
+ implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'com.google.android.material:material:1.12.0'
- implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
+ implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
implementation "com.google.firebase:firebase-messaging:$firebaseVersion"
androidTestImplementation('com.wix:detox:+')
- androidTestImplementation 'androidx.test:core:1.6.0'
- androidTestImplementation 'androidx.test:runner:1.5.2'
+ androidTestImplementation 'androidx.test:core:1.6.1'
+ androidTestImplementation 'androidx.test:runner:1.6.2'
androidTestImplementation 'com.wix:detox:20.26.2'
// For animated GIF support
@@ -231,16 +231,16 @@ dependencies {
configurations.all {
resolutionStrategy {
- force 'androidx.test:core:1.6.0'
+ force 'androidx.test:core:1.6.1'
eachDependency { DependencyResolveDetails details ->
if (details.requested.name == 'play-services-base') {
- details.useTarget group: details.requested.group, name: details.requested.name, version: '18.2.0'
+ details.useTarget group: details.requested.group, name: details.requested.name, version: '18.5.0'
}
if (details.requested.name == 'play-services-tasks') {
- details.useTarget group: details.requested.group, name: details.requested.name, version: '18.0.2'
+ details.useTarget group: details.requested.group, name: details.requested.name, version: '18.2.0'
}
if (details.requested.name == 'play-services-basement') {
- details.useTarget group: details.requested.group, name: details.requested.name, version: '18.2.0'
+ details.useTarget group: details.requested.group, name: details.requested.name, version: '18.5.0'
}
if (details.requested.name == 'okhttp') {
details.useTarget group: details.requested.group, name: details.requested.name, version: '4.12.0'
diff --git a/android/app/src/main/java/com/mattermost/rnbeta/CustomPushNotification.kt b/android/app/src/main/java/com/mattermost/rnbeta/CustomPushNotification.kt
index 2fff04971..db550d16d 100644
--- a/android/app/src/main/java/com/mattermost/rnbeta/CustomPushNotification.kt
+++ b/android/app/src/main/java/com/mattermost/rnbeta/CustomPushNotification.kt
@@ -105,7 +105,7 @@ class CustomPushNotification(
CustomPushNotificationHelper.PUSH_TYPE_MESSAGE, CustomPushNotificationHelper.PUSH_TYPE_SESSION -> {
val currentActivityName = mAppLifecycleFacade.runningReactContext?.currentActivity?.componentName?.className ?: ""
TurboLog.i("ReactNative", currentActivityName)
- if (!mAppLifecycleFacade.isAppVisible() || currentActivityName != "MainActivity") {
+ if (!mAppLifecycleFacade.isAppVisible() || !currentActivityName.contains("MainActivity")) {
var createSummary = type == CustomPushNotificationHelper.PUSH_TYPE_MESSAGE
if (type == CustomPushNotificationHelper.PUSH_TYPE_MESSAGE) {
channelId?.let {
diff --git a/android/build.gradle b/android/build.gradle
index 67e3cd8c2..0f4ee6b3f 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -19,7 +19,7 @@ buildscript {
dependencies {
classpath("com.android.tools.build:gradle")
classpath("com.facebook.react:react-native-gradle-plugin")
- classpath('com.google.gms:google-services:4.4.0')
+ classpath('com.google.gms:google-services:4.4.2')
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin")
// NOTE: Do not place your application dependencies here; they belong
diff --git a/android/buildscript-gradle.lockfile b/android/buildscript-gradle.lockfile
index 80805c20c..fbd5e94f9 100644
--- a/android/buildscript-gradle.lockfile
+++ b/android/buildscript-gradle.lockfile
@@ -1,68 +1,68 @@
# This is a Gradle generated file for dependency locking.
# Manual edits can break the build and are not advised.
# This file is expected to be part of source control.
-androidx.databinding:databinding-common:8.2.1=classpath
-androidx.databinding:databinding-compiler-common:8.2.1=classpath
-com.android.databinding:baseLibrary:8.2.1=classpath
-com.android.tools.analytics-library:crash:31.2.1=classpath
-com.android.tools.analytics-library:protos:31.2.1=classpath
-com.android.tools.analytics-library:shared:31.2.1=classpath
-com.android.tools.analytics-library:tracker:31.2.1=classpath
+androidx.databinding:databinding-common:8.6.0=classpath
+androidx.databinding:databinding-compiler-common:8.6.0=classpath
+com.android.databinding:baseLibrary:8.6.0=classpath
+com.android.tools.analytics-library:crash:31.6.0=classpath
+com.android.tools.analytics-library:protos:31.6.0=classpath
+com.android.tools.analytics-library:shared:31.6.0=classpath
+com.android.tools.analytics-library:tracker:31.6.0=classpath
com.android.tools.build.jetifier:jetifier-core:1.0.0-beta10=classpath
com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta10=classpath
-com.android.tools.build:aapt2-proto:8.2.1-10154469=classpath
-com.android.tools.build:aaptcompiler:8.2.1=classpath
-com.android.tools.build:apksig:8.2.1=classpath
-com.android.tools.build:apkzlib:8.2.1=classpath
-com.android.tools.build:builder-model:8.2.1=classpath
-com.android.tools.build:builder-test-api:8.2.1=classpath
-com.android.tools.build:builder:8.2.1=classpath
-com.android.tools.build:bundletool:1.15.2=classpath
-com.android.tools.build:gradle-api:8.2.1=classpath
-com.android.tools.build:gradle-settings-api:8.2.1=classpath
-com.android.tools.build:gradle:8.2.1=classpath
-com.android.tools.build:manifest-merger:31.2.1=classpath
+com.android.tools.build:aapt2-proto:8.6.0-11315950=classpath
+com.android.tools.build:aaptcompiler:8.6.0=classpath
+com.android.tools.build:apksig:8.6.0=classpath
+com.android.tools.build:apkzlib:8.6.0=classpath
+com.android.tools.build:builder-model:8.6.0=classpath
+com.android.tools.build:builder-test-api:8.6.0=classpath
+com.android.tools.build:builder:8.6.0=classpath
+com.android.tools.build:bundletool:1.16.0=classpath
+com.android.tools.build:gradle-api:8.6.0=classpath
+com.android.tools.build:gradle-settings-api:8.6.0=classpath
+com.android.tools.build:gradle:8.6.0=classpath
+com.android.tools.build:manifest-merger:31.6.0=classpath
com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
-com.android.tools.ddms:ddmlib:31.2.1=classpath
-com.android.tools.layoutlib:layoutlib-api:31.2.1=classpath
-com.android.tools.lint:lint-model:31.2.1=classpath
-com.android.tools.lint:lint-typedef-remover:31.2.1=classpath
-com.android.tools.utp:android-device-provider-ddmlib-proto:31.2.1=classpath
-com.android.tools.utp:android-device-provider-gradle-proto:31.2.1=classpath
-com.android.tools.utp:android-test-plugin-host-additional-test-output-proto:31.2.1=classpath
-com.android.tools.utp:android-test-plugin-host-apk-installer-proto:31.2.1=classpath
-com.android.tools.utp:android-test-plugin-host-coverage-proto:31.2.1=classpath
-com.android.tools.utp:android-test-plugin-host-emulator-control-proto:31.2.1=classpath
-com.android.tools.utp:android-test-plugin-host-logcat-proto:31.2.1=classpath
-com.android.tools.utp:android-test-plugin-host-retention-proto:31.2.1=classpath
-com.android.tools.utp:android-test-plugin-result-listener-gradle-proto:31.2.1=classpath
-com.android.tools:annotations:31.2.1=classpath
-com.android.tools:common:31.2.1=classpath
-com.android.tools:dvlib:31.2.1=classpath
-com.android.tools:repository:31.2.1=classpath
-com.android.tools:sdk-common:31.2.1=classpath
-com.android.tools:sdklib:31.2.1=classpath
-com.android:signflinger:8.2.1=classpath
-com.android:zipflinger:8.2.1=classpath
+com.android.tools.ddms:ddmlib:31.6.0=classpath
+com.android.tools.layoutlib:layoutlib-api:31.6.0=classpath
+com.android.tools.lint:lint-model:31.6.0=classpath
+com.android.tools.lint:lint-typedef-remover:31.6.0=classpath
+com.android.tools.utp:android-device-provider-ddmlib-proto:31.6.0=classpath
+com.android.tools.utp:android-device-provider-gradle-proto:31.6.0=classpath
+com.android.tools.utp:android-test-plugin-host-additional-test-output-proto:31.6.0=classpath
+com.android.tools.utp:android-test-plugin-host-apk-installer-proto:31.6.0=classpath
+com.android.tools.utp:android-test-plugin-host-coverage-proto:31.6.0=classpath
+com.android.tools.utp:android-test-plugin-host-emulator-control-proto:31.6.0=classpath
+com.android.tools.utp:android-test-plugin-host-logcat-proto:31.6.0=classpath
+com.android.tools.utp:android-test-plugin-host-retention-proto:31.6.0=classpath
+com.android.tools.utp:android-test-plugin-result-listener-gradle-proto:31.6.0=classpath
+com.android.tools:annotations:31.6.0=classpath
+com.android.tools:common:31.6.0=classpath
+com.android.tools:dvlib:31.6.0=classpath
+com.android.tools:repository:31.6.0=classpath
+com.android.tools:sdk-common:31.6.0=classpath
+com.android.tools:sdklib:31.6.0=classpath
+com.android:signflinger:8.6.0=classpath
+com.android:zipflinger:8.6.0=classpath
com.google.android.gms:strict-version-matcher-plugin:1.2.4=classpath
com.google.android:annotations:4.1.1.4=classpath
-com.google.api.grpc:proto-google-common-protos:2.0.1=classpath
+com.google.api.grpc:proto-google-common-protos:2.17.0=classpath
com.google.auto.value:auto-value-annotations:1.6.2=classpath
com.google.code.findbugs:jsr305:3.0.2=classpath
-com.google.code.gson:gson:2.10=classpath
+com.google.code.gson:gson:2.10.1=classpath
com.google.crypto.tink:tink:1.7.0=classpath
com.google.dagger:dagger:2.28.3=classpath
-com.google.errorprone:error_prone_annotations:2.11.0=classpath
+com.google.errorprone:error_prone_annotations:2.18.0=classpath
com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
-com.google.gms:google-services:4.4.0=classpath
+com.google.gms:google-services:4.4.2=classpath
com.google.guava:failureaccess:1.0.1=classpath
-com.google.guava:guava:31.1-jre=classpath
+com.google.guava:guava:32.0.1-jre=classpath
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
-com.google.j2objc:j2objc-annotations:1.3=classpath
+com.google.j2objc:j2objc-annotations:2.8=classpath
com.google.jimfs:jimfs:1.1=classpath
-com.google.protobuf:protobuf-java-util:3.19.3=classpath
-com.google.protobuf:protobuf-java:3.19.3=classpath
-com.google.testing.platform:core-proto:0.0.8-alpha08=classpath
+com.google.protobuf:protobuf-java-util:3.22.3=classpath
+com.google.protobuf:protobuf-java:3.22.3=classpath
+com.google.testing.platform:core-proto:0.0.9-alpha02=classpath
com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
com.squareup:javapoet:1.13.0=classpath
com.squareup:javawriter:2.5.0=classpath
@@ -70,27 +70,27 @@ com.sun.activation:javax.activation:1.2.0=classpath
com.sun.istack:istack-commons-runtime:3.0.8=classpath
com.sun.xml.fastinfoset:FastInfoset:1.2.16=classpath
commons-codec:commons-codec:1.11=classpath
-commons-io:commons-io:2.4=classpath
+commons-io:commons-io:2.13.0=classpath
commons-logging:commons-logging:1.2=classpath
-io.grpc:grpc-api:1.45.1=classpath
-io.grpc:grpc-context:1.45.1=classpath
-io.grpc:grpc-core:1.45.1=classpath
-io.grpc:grpc-netty:1.45.1=classpath
-io.grpc:grpc-protobuf-lite:1.45.1=classpath
-io.grpc:grpc-protobuf:1.45.1=classpath
-io.grpc:grpc-stub:1.45.1=classpath
-io.netty:netty-buffer:4.1.72.Final=classpath
-io.netty:netty-codec-http2:4.1.72.Final=classpath
-io.netty:netty-codec-http:4.1.72.Final=classpath
-io.netty:netty-codec-socks:4.1.72.Final=classpath
-io.netty:netty-codec:4.1.72.Final=classpath
-io.netty:netty-common:4.1.72.Final=classpath
-io.netty:netty-handler-proxy:4.1.72.Final=classpath
-io.netty:netty-handler:4.1.72.Final=classpath
-io.netty:netty-resolver:4.1.72.Final=classpath
-io.netty:netty-tcnative-classes:2.0.46.Final=classpath
-io.netty:netty-transport:4.1.72.Final=classpath
-io.perfmark:perfmark-api:0.23.0=classpath
+io.grpc:grpc-api:1.57.0=classpath
+io.grpc:grpc-context:1.57.0=classpath
+io.grpc:grpc-core:1.57.0=classpath
+io.grpc:grpc-netty:1.57.0=classpath
+io.grpc:grpc-protobuf-lite:1.57.0=classpath
+io.grpc:grpc-protobuf:1.57.0=classpath
+io.grpc:grpc-stub:1.57.0=classpath
+io.netty:netty-buffer:4.1.93.Final=classpath
+io.netty:netty-codec-http2:4.1.93.Final=classpath
+io.netty:netty-codec-http:4.1.93.Final=classpath
+io.netty:netty-codec-socks:4.1.93.Final=classpath
+io.netty:netty-codec:4.1.93.Final=classpath
+io.netty:netty-common:4.1.93.Final=classpath
+io.netty:netty-handler-proxy:4.1.93.Final=classpath
+io.netty:netty-handler:4.1.93.Final=classpath
+io.netty:netty-resolver:4.1.93.Final=classpath
+io.netty:netty-transport-native-unix-common:4.1.93.Final=classpath
+io.netty:netty-transport:4.1.93.Final=classpath
+io.perfmark:perfmark-api:0.26.0=classpath
jakarta.activation:jakarta.activation-api:1.2.1=classpath
jakarta.xml.bind:jakarta.xml.bind-api:2.3.2=classpath
javax.annotation:javax.annotation-api:1.3.2=classpath
@@ -103,52 +103,51 @@ org.apache.commons:commons-compress:1.21=classpath
org.apache.httpcomponents:httpclient:4.5.14=classpath
org.apache.httpcomponents:httpcore:4.4.16=classpath
org.apache.httpcomponents:httpmime:4.5.6=classpath
-org.bitbucket.b_c:jose4j:0.7.0=classpath
-org.bouncycastle:bcpkix-jdk15on:1.67=classpath
-org.bouncycastle:bcprov-jdk15on:1.67=classpath
-org.checkerframework:checker-qual:3.12.0=classpath
-org.codehaus.mojo:animal-sniffer-annotations:1.19=classpath
+org.bitbucket.b_c:jose4j:0.9.5=classpath
+org.bouncycastle:bcpkix-jdk18on:1.77=classpath
+org.bouncycastle:bcprov-jdk18on:1.77=classpath
+org.bouncycastle:bcutil-jdk18on:1.77=classpath
+org.checkerframework:checker-qual:3.33.0=classpath
+org.codehaus.mojo:animal-sniffer-annotations:1.23=classpath
org.glassfish.jaxb:jaxb-runtime:2.3.2=classpath
org.glassfish.jaxb:txw2:2.3.2=classpath
org.jdom:jdom2:2.0.6=classpath
org.jetbrains.intellij.deps:trove4j:1.0.20200330=classpath
-org.jetbrains.kotlin:kotlin-android-extensions:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-build-tools-api:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-compiler-embeddable:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-compiler-runner:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-daemon-client:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-daemon-embeddable:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-gradle-plugin-idea-proto:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-gradle-plugin-idea:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-gradle-plugins-bom:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-klib-commonizer-api:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-native-utils:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-project-model:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-reflect:1.9.0=classpath
-org.jetbrains.kotlin:kotlin-scripting-common:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-scripting-jvm:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.0=classpath
-org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0=classpath
-org.jetbrains.kotlin:kotlin-stdlib:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-tooling-core:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-util-io:1.9.22=classpath
-org.jetbrains.kotlin:kotlin-util-klib:1.9.22=classpath
+org.jetbrains.kotlin:kotlin-android-extensions:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-build-tools-api:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-compiler-embeddable:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-compiler-runner:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-daemon-client:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-daemon-embeddable:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-idea-proto:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-idea:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-gradle-plugins-bom:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-klib-commonizer-api:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-native-utils:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-project-model:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-reflect:1.9.20=classpath
+org.jetbrains.kotlin:kotlin-scripting-common:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-scripting-jvm:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.20=classpath
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20=classpath
+org.jetbrains.kotlin:kotlin-stdlib:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-tooling-core:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-util-io:1.9.24=classpath
+org.jetbrains.kotlin:kotlin-util-klib:1.9.24=classpath
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.0=classpath
-org.jetbrains:annotations:13.0=classpath
+org.jetbrains:annotations:23.0.0=classpath
org.jvnet.staxex:stax-ex:1.8.1=classpath
-org.ow2.asm:asm-analysis:9.2=classpath
-org.ow2.asm:asm-commons:9.2=classpath
-org.ow2.asm:asm-tree:9.2=classpath
-org.ow2.asm:asm-util:9.2=classpath
-org.ow2.asm:asm:9.2=classpath
+org.ow2.asm:asm-analysis:9.6=classpath
+org.ow2.asm:asm-commons:9.6=classpath
+org.ow2.asm:asm-tree:9.6=classpath
+org.ow2.asm:asm-util:9.6=classpath
+org.ow2.asm:asm:9.6=classpath
org.slf4j:slf4j-api:1.7.30=classpath
org.tensorflow:tensorflow-lite-metadata:0.1.0-rc2=classpath
-xerces:xercesImpl:2.12.0=classpath
-xml-apis:xml-apis:1.4.01=classpath
empty=
diff --git a/app/actions/remote/entry/common.ts b/app/actions/remote/entry/common.ts
index 0f81057bb..cdc3ac02a 100644
--- a/app/actions/remote/entry/common.ts
+++ b/app/actions/remote/entry/common.ts
@@ -105,7 +105,7 @@ const entryRest = async (serverUrl: string, teamId?: string, channelId?: string,
let lastDisconnectedAt = since || await getLastFullSync(database);
const [confResp, prefData] = await Promise.all([
- fetchConfigAndLicense(serverUrl, true, groupLabel),
+ fetchConfigAndLicense(serverUrl, false, groupLabel),
fetchMyPreferences(serverUrl, true, groupLabel),
]);
diff --git a/app/components/files/files.test.tsx b/app/components/files/files.test.tsx
index 63de3fb5b..fe1ae1eee 100644
--- a/app/components/files/files.test.tsx
+++ b/app/components/files/files.test.tsx
@@ -1,6 +1,6 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
-import {render, fireEvent} from '@testing-library/react-native';
+import {render, fireEvent, act} from '@testing-library/react-native';
import React, {useMemo, type ComponentProps} from 'react';
import {DeviceEventEmitter, Text, TouchableOpacity, View} from 'react-native';
@@ -408,10 +408,16 @@ describe('Files', () => {
expect(getByTestId('1-inViewPort')).toHaveTextContent('false');
expect(getByTestId('2-inViewPort')).toHaveTextContent('false');
- DeviceEventEmitter.emit(Events.ITEM_IN_VIEWPORT, {'unrelated-event': true});
+ act(() => {
+ DeviceEventEmitter.emit(Events.ITEM_IN_VIEWPORT, {'unrelated-event': true});
+ });
expect(getByTestId('1-inViewPort')).toHaveTextContent('false');
expect(getByTestId('2-inViewPort')).toHaveTextContent('false');
- DeviceEventEmitter.emit(Events.ITEM_IN_VIEWPORT, {'test-location-test-post-id': true});
+
+ act(() => {
+ DeviceEventEmitter.emit(Events.ITEM_IN_VIEWPORT, {'test-location-test-post-id': true});
+ });
+
expect(getByTestId('1-inViewPort')).toHaveTextContent('true');
expect(getByTestId('2-inViewPort')).toHaveTextContent('true');
});
@@ -444,7 +450,9 @@ describe('Files', () => {
expect(getByTestId('1-inViewPort')).toHaveTextContent('false');
expect(getByTestId('2-inViewPort')).toHaveTextContent('false');
- DeviceEventEmitter.emit(Events.ITEM_IN_VIEWPORT, {'location1-post1': true});
+ act(() => {
+ DeviceEventEmitter.emit(Events.ITEM_IN_VIEWPORT, {'location1-post1': true});
+ });
expect(getByTestId('1-inViewPort')).toHaveTextContent('false');
expect(getByTestId('2-inViewPort')).toHaveTextContent('false');
@@ -453,11 +461,15 @@ describe('Files', () => {
expect(getByTestId('1-inViewPort')).toHaveTextContent('false');
expect(getByTestId('2-inViewPort')).toHaveTextContent('false');
- DeviceEventEmitter.emit(Events.ITEM_IN_VIEWPORT, {'location2-post1': true});
+ act(() => {
+ DeviceEventEmitter.emit(Events.ITEM_IN_VIEWPORT, {'location2-post1': true});
+ });
expect(getByTestId('1-inViewPort')).toHaveTextContent('false');
expect(getByTestId('2-inViewPort')).toHaveTextContent('false');
- DeviceEventEmitter.emit(Events.ITEM_IN_VIEWPORT, {'location2-post2': true});
+ act(() => {
+ DeviceEventEmitter.emit(Events.ITEM_IN_VIEWPORT, {'location2-post2': true});
+ });
expect(getByTestId('1-inViewPort')).toHaveTextContent('true');
expect(getByTestId('2-inViewPort')).toHaveTextContent('true');
});
diff --git a/app/components/markdown/markdown_list/index.tsx b/app/components/markdown/markdown_list/index.tsx
index 2d9b69874..a10211bfd 100644
--- a/app/components/markdown/markdown_list/index.tsx
+++ b/app/components/markdown/markdown_list/index.tsx
@@ -3,14 +3,14 @@
import React, {type ReactElement} from 'react';
-type MarkdownList = {
+type MarkdownListProps = {
children: ReactElement[];
ordered: boolean;
start: number;
tight: boolean;
};
-const MarkdownList = ({start = 1, tight, ordered, children}: MarkdownList) => {
+const MarkdownList = ({start = 1, tight, ordered, children}: MarkdownListProps) => {
let bulletWidth = 15;
if (ordered) {
const lastNumber = (start + children.length) - 1;
diff --git a/app/components/option_item/index.tsx b/app/components/option_item/index.tsx
index 855c84c5d..ff66535c2 100644
--- a/app/components/option_item/index.tsx
+++ b/app/components/option_item/index.tsx
@@ -21,13 +21,13 @@ const TouchableOptionTypes = {
SELECT: 'select',
};
-const OptionType = {
+const OptionTypeConst = {
NONE: 'none',
TOGGLE: 'toggle',
...TouchableOptionTypes,
} as const;
-export type OptionType = typeof OptionType[keyof typeof OptionType];
+export type OptionType = typeof OptionTypeConst[keyof typeof OptionTypeConst];
export const ITEM_HEIGHT = 48;
const DESCRIPTION_MARGIN_TOP = 2;
@@ -182,7 +182,7 @@ const OptionItem = ({
let actionComponent;
let radioComponent;
- if (type === OptionType.SELECT && selected) {
+ if (type === OptionTypeConst.SELECT && selected) {
actionComponent = (
);
- } else if (type === OptionType.RADIO) {
+ } else if (type === OptionTypeConst.RADIO) {
const radioComponentTestId = selected ? `${testID}.selected` : `${testID}.not_selected`;
radioComponent = (
);
- } else if (type === OptionType.TOGGLE) {
+ } else if (type === OptionTypeConst.TOGGLE) {
const trackColor = Platform.select({
ios: {true: theme.buttonBg, false: changeOpacity(theme.centerChannelColor, 0.16)},
default: {true: changeOpacity(theme.buttonBg, 0.32), false: changeOpacity(theme.centerChannelColor, 0.24)},
@@ -217,7 +217,7 @@ const OptionItem = ({
testID={`${testID}.toggled.${selected}.button`}
/>
);
- } else if (type === OptionType.ARROW) {
+ } else if (type === OptionTypeConst.ARROW) {
actionComponent = (
);
- } else if (type === OptionType.REMOVE) {
+ } else if (type === OptionTypeConst.REMOVE) {
actionComponent = (
)}
- {type === OptionType.RADIO && radioComponent}
+ {type === OptionTypeConst.RADIO && radioComponent}
);
- }, [file]);
+ }, [file, ref, theme.centerChannelColor]);
return (
}
diff --git a/app/components/post_list/post/post.test.tsx b/app/components/post_list/post/post.test.tsx
index 4a8d981e9..a2e830f4e 100644
--- a/app/components/post_list/post/post.test.tsx
+++ b/app/components/post_list/post/post.test.tsx
@@ -6,7 +6,7 @@ import React, {type ComponentProps} from 'react';
import NetworkManager from '@managers/network_manager';
import PerformanceMetricsManager from '@managers/performance_metrics_manager';
import {getPostById} from '@queries/servers/post';
-import {renderWithEverything} from '@test/intl-test-helper';
+import {renderWithEverything, waitFor} from '@test/intl-test-helper';
import TestHelper from '@test/test_helper';
import Post from './post';
@@ -52,24 +52,30 @@ describe('performance metrics', () => {
NetworkManager.invalidateClient(serverUrl);
});
- it('do not call the performance metrics if it is not the last post', () => {
+ it('do not call the performance metrics if it is not the last post', async () => {
const props = getBaseProps();
props.isLastPost = false;
renderWithEverything(, {database, serverUrl});
- expect(PerformanceMetricsManager.finishLoad).not.toHaveBeenCalled();
- expect(PerformanceMetricsManager.endMetric).not.toHaveBeenCalled();
+ await waitFor(() => {
+ expect(PerformanceMetricsManager.finishLoad).not.toHaveBeenCalled();
+ expect(PerformanceMetricsManager.endMetric).not.toHaveBeenCalled();
+ });
});
- it('on channel', () => {
+ it('on channel', async () => {
const props = getBaseProps();
renderWithEverything(, {database, serverUrl});
- expect(PerformanceMetricsManager.finishLoad).toHaveBeenCalledWith('CHANNEL', serverUrl);
- expect(PerformanceMetricsManager.endMetric).toHaveBeenCalledWith('mobile_channel_switch', serverUrl);
+ await waitFor(() => {
+ expect(PerformanceMetricsManager.finishLoad).toHaveBeenCalledWith('CHANNEL', serverUrl);
+ expect(PerformanceMetricsManager.endMetric).toHaveBeenCalledWith('mobile_channel_switch', serverUrl);
+ });
});
- it('on thread', () => {
+ it('on thread', async () => {
const props = getBaseProps();
props.location = 'Thread';
renderWithEverything(, {database, serverUrl});
- expect(PerformanceMetricsManager.finishLoad).toHaveBeenCalledWith('THREAD', serverUrl);
- expect(PerformanceMetricsManager.endMetric).toHaveBeenCalledWith('mobile_channel_switch', serverUrl);
+ await waitFor(() => {
+ expect(PerformanceMetricsManager.finishLoad).toHaveBeenCalledWith('THREAD', serverUrl);
+ expect(PerformanceMetricsManager.endMetric).toHaveBeenCalledWith('mobile_channel_switch', serverUrl);
+ });
});
});
diff --git a/app/components/post_list/post_list.test.tsx b/app/components/post_list/post_list.test.tsx
index 0015185be..36df645bc 100644
--- a/app/components/post_list/post_list.test.tsx
+++ b/app/components/post_list/post_list.test.tsx
@@ -2,7 +2,7 @@
// See LICENSE.txt for license information.
import {act} from '@testing-library/react-native';
-import React from 'react';
+import React, {type ComponentProps} from 'react';
import {DeviceEventEmitter, Platform} from 'react-native';
import * as localPostFunctions from '@actions/local/post';
@@ -11,7 +11,7 @@ import {Events, Screens} from '@constants';
import {renderWithEverything} from '@test/intl-test-helper';
import TestHelper from '@test/test_helper';
-import PostList, {exportedForTesting} from './post_list';
+import PostList from './post_list';
jest.mock('@components/post_list/post', () => 'Post');
jest.mock('@components/post_list/thread_overview', () => 'ThreadOverview');
@@ -31,8 +31,6 @@ jest.mock('@actions/local/post', () => ({
import type {PostModel} from '@database/models/server';
import type Database from '@nozbe/watermelondb/Database';
-const {PostListProps} = exportedForTesting;
-
describe('components/post_list/PostList', () => {
let database: Database;
const serverUrl = 'https://server.com';
@@ -68,7 +66,7 @@ describe('components/post_list/PostList', () => {
mockPostModel(),
];
- const baseProps: typeof PostListProps = {
+ const baseProps: ComponentProps = {
appsEnabled: false,
channelId: 'channel-id',
currentTimezone: 'UTC',
diff --git a/app/components/post_list/post_list.tsx b/app/components/post_list/post_list.tsx
index 46600e1d8..0d9d377fe 100644
--- a/app/components/post_list/post_list.tsx
+++ b/app/components/post_list/post_list.tsx
@@ -402,8 +402,4 @@ const PostList = ({
);
};
-export const exportedForTesting = {
- PostListProps: {} as Props,
-};
-
export default PostList;
diff --git a/app/components/post_list/thread_overview/__snapshots__/thread_overview.test.tsx.snap b/app/components/post_list/thread_overview/__snapshots__/thread_overview.test.tsx.snap
index f5efe64d9..6f85ff3b9 100644
--- a/app/components/post_list/thread_overview/__snapshots__/thread_overview.test.tsx.snap
+++ b/app/components/post_list/thread_overview/__snapshots__/thread_overview.test.tsx.snap
@@ -56,11 +56,9 @@ exports[`ThreadOverview should match snapshot when post is saved and has replies
handlerTag={1}
handlerType="NativeViewGestureHandler"
innerRef={null}
- onGestureEvent={[Function]}
onGestureHandlerEvent={[Function]}
onGestureHandlerStateChange={[Function]}
- onHandlerStateChange={[Function]}
- rippleColor={0}
+ rippleColor="transparent"
style={
[
undefined,
@@ -97,11 +95,9 @@ exports[`ThreadOverview should match snapshot when post is saved and has replies
handlerTag={2}
handlerType="NativeViewGestureHandler"
innerRef={null}
- onGestureEvent={[Function]}
onGestureHandlerEvent={[Function]}
onGestureHandlerStateChange={[Function]}
- onHandlerStateChange={[Function]}
- rippleColor={0}
+ rippleColor="transparent"
style={
[
undefined,
diff --git a/app/components/progress_bar/index.tsx b/app/components/progress_bar/index.tsx
index 2298c9601..cccdc157c 100644
--- a/app/components/progress_bar/index.tsx
+++ b/app/components/progress_bar/index.tsx
@@ -11,6 +11,7 @@ import {changeOpacity} from '@utils/theme';
type ProgressBarProps = {
color: string;
+ containerStyle?: StyleProp;
progress: number;
withCursor?: boolean;
style?: StyleProp;
@@ -43,7 +44,7 @@ const styles = StyleSheet.create({
const START_CURSOR_VALUE = 0;
const END_CURSOR_VALUE = 1;
-const ProgressBar = ({color, progress, withCursor, style, onSeek}: ProgressBarProps) => {
+const ProgressBar = ({color, containerStyle, progress, withCursor, style, onSeek}: ProgressBarProps) => {
const theme = useTheme();
const widthValue = useSharedValue(0);
const progressValue = useSharedValue(progress);
@@ -120,7 +121,7 @@ const ProgressBar = ({color, progress, withCursor, style, onSeek}: ProgressBarPr
e.stopPropagation()}
- style={styles.container}
+ style={[styles.container, containerStyle]}
>
{
- test('Server Icon Component should match snapshot', () => {
+ test('Server Icon Component should match snapshot', async () => {
const {toJSON} = renderWithIntlAndTheme(
{
/>,
);
- expect(toJSON()).toMatchSnapshot();
+ await waitFor(() => {
+ expect(toJSON()).toMatchSnapshot();
+ });
});
- test('Server Icon Component should match snapshot with unreads', () => {
+ test('Server Icon Component should match snapshot with unreads', async () => {
const {toJSON} = renderWithIntlAndTheme(
{
/>,
);
- expect(toJSON()).toMatchSnapshot();
+ await waitFor(() => {
+ expect(toJSON()).toMatchSnapshot();
+ });
});
- test('Server Icon Component should match snapshot with mentions', () => {
+ test('Server Icon Component should match snapshot with mentions', async () => {
const {toJSON} = renderWithIntlAndTheme(
{
/>,
);
- expect(toJSON()).toMatchSnapshot();
+ await waitFor(() => {
+ expect(toJSON()).toMatchSnapshot();
+ });
});
});
diff --git a/app/context/server/index.tsx b/app/context/server/index.tsx
index ae4b47cc3..568ac58c9 100644
--- a/app/context/server/index.tsx
+++ b/app/context/server/index.tsx
@@ -3,23 +3,23 @@
import React, {createContext} from 'react';
-type Props = {
- server: ServerContext;
- children: React.ReactNode;
-}
-
type WithServerUrlProps = {
serverUrl: string;
}
type GetProps = C extends React.ComponentType ? P : never
-type ServerContext = {
+type ServerContextType = {
displayName: string;
url: string;
}
-const ServerContext = createContext({displayName: '', url: ''});
+type Props = {
+ server: ServerContextType;
+ children: React.ReactNode;
+}
+
+const ServerContext = createContext({displayName: '', url: ''});
const {Provider, Consumer} = ServerContext;
function ServerUrlProvider({server, children}: Props) {
@@ -32,7 +32,7 @@ export function withServerUrl, P = GetProps>
return function ServerUrlComponent(props: JSX.LibraryManagedAttributes) {
return (
- {(server: ServerContext) => (
+ {(server: ServerContextType) => (
{
defaultHeight,
largeHeight,
headerOffset,
- }), [defaultHeight, largeHeight]);
+ }), [defaultHeight, headerOffset, largeHeight]);
};
export const useCollapsibleHeader = (isLargeTitle: boolean, onSnap?: (offset: number) => void) => {
diff --git a/app/hooks/useCollapsibleHeader.test.tsx b/app/hooks/useCollapsibleHeader.test.tsx
index 98f5044e3..221f6e65d 100644
--- a/app/hooks/useCollapsibleHeader.test.tsx
+++ b/app/hooks/useCollapsibleHeader.test.tsx
@@ -32,7 +32,9 @@ describe('useCollapsibleHeader', () => {
expect(result.current).toEqual({
defaultHeight: ViewConstants.DEFAULT_HEADER_HEIGHT,
scrollPaddingTop: LARGE_HEADER_TITLE_HEIGHT,
- headerHeight: {value: LARGE_HEADER_TITLE_HEIGHT},
+ headerHeight: expect.objectContaining({
+ value: LARGE_HEADER_TITLE_HEIGHT,
+ }),
...commonHookResponse,
});
});
@@ -43,7 +45,9 @@ describe('useCollapsibleHeader', () => {
expect(result.current).toEqual({
defaultHeight: ViewConstants.DEFAULT_HEADER_HEIGHT,
scrollPaddingTop: ViewConstants.DEFAULT_HEADER_HEIGHT,
- headerHeight: {value: ViewConstants.DEFAULT_HEADER_HEIGHT},
+ headerHeight: expect.objectContaining({
+ value: ViewConstants.DEFAULT_HEADER_HEIGHT,
+ }),
...commonHookResponse,
});
});
@@ -56,7 +60,9 @@ describe('useCollapsibleHeader', () => {
expect(result.current).toEqual({
defaultHeight: ViewConstants.TABLET_HEADER_HEIGHT,
scrollPaddingTop: LARGE_HEADER_TITLE_HEIGHT,
- headerHeight: {value: LARGE_HEADER_TITLE_HEIGHT},
+ headerHeight: expect.objectContaining({
+ value: LARGE_HEADER_TITLE_HEIGHT,
+ }),
...commonHookResponse,
});
});
diff --git a/app/products/calls/connection/websocket_client.test.ts b/app/products/calls/connection/websocket_client.test.ts
index 75f7c76bf..e010df83b 100644
--- a/app/products/calls/connection/websocket_client.test.ts
+++ b/app/products/calls/connection/websocket_client.test.ts
@@ -5,7 +5,7 @@
// eslint-disable-next-line
// @ts-nocheck
-import {encode} from '@msgpack/msgpack/dist';
+import {encode} from '@msgpack/msgpack';
import DatabaseManager from '@database/manager';
diff --git a/app/products/calls/connection/websocket_client.ts b/app/products/calls/connection/websocket_client.ts
index 02a00150f..af203581d 100644
--- a/app/products/calls/connection/websocket_client.ts
+++ b/app/products/calls/connection/websocket_client.ts
@@ -3,7 +3,7 @@
import {EventEmitter} from 'events';
-import {encode} from '@msgpack/msgpack/dist';
+import {encode} from '@msgpack/msgpack';
import Calls from '@constants/calls';
import DatabaseManager from '@database/manager';
diff --git a/app/products/calls/state/actions.test.ts b/app/products/calls/state/actions.test.ts
index 474a505fb..9097bdbec 100644
--- a/app/products/calls/state/actions.test.ts
+++ b/app/products/calls/state/actions.test.ts
@@ -726,7 +726,7 @@ describe('useCallsState', () => {
assert.deepEqual(result.current[1], null);
});
- it('setChannelEnabled', () => {
+ it('setChannelEnabled', async () => {
const initialState = {
...DefaultCallsState,
enabled: {'channel-1': true, 'channel-2': false},
@@ -734,33 +734,33 @@ describe('useCallsState', () => {
// setup
const {result} = renderHook(() => useCallsState('server1'));
- act(() => setCallsState('server1', initialState));
+ await act(async () => setCallsState('server1', initialState));
assert.deepEqual(result.current, initialState);
// test setCalls affects enabled:
- act(() => setCalls('server1', 'myUserId', {}, {'channel-1': true}));
+ await act(async () => setCalls('server1', 'myUserId', {}, {'channel-1': true}));
assert.deepEqual(result.current.enabled, {'channel-1': true});
// re-setup:
- act(() => setCallsState('server1', initialState));
+ await act(async () => setCallsState('server1', initialState));
assert.deepEqual(result.current, initialState);
// test setChannelEnabled affects enabled:
- act(() => setChannelEnabled('server1', 'channel-3', true));
+ await act(async () => setChannelEnabled('server1', 'channel-3', true));
assert.deepEqual(result.current.enabled, {'channel-1': true, 'channel-2': false, 'channel-3': true});
- act(() => setChannelEnabled('server1', 'channel-3', false));
+ await act(async () => setChannelEnabled('server1', 'channel-3', false));
assert.deepEqual(result.current.enabled, {
'channel-1': true,
'channel-2': false,
'channel-3': false,
});
- act(() => setChannelEnabled('server1', 'channel-1', true));
+ await act(async () => setChannelEnabled('server1', 'channel-1', true));
assert.deepEqual(result.current.enabled, {
'channel-1': true,
'channel-2': false,
'channel-3': false,
});
- act(() => setChannelEnabled('server1', 'channel-1', false));
+ await act(async () => setChannelEnabled('server1', 'channel-1', false));
assert.deepEqual(result.current.enabled, {
'channel-1': false,
'channel-2': false,
@@ -1510,14 +1510,14 @@ describe('useCallsState', () => {
// test: should not ring for same call again
await act(async () => {
- await setIncomingCalls(initialIncomingCalls);
+ setIncomingCalls(initialIncomingCalls);
await playIncomingCallsRinging('server1', 'call1', 'online');
});
assert.deepEqual(result.current, initialIncomingCalls);
// test: should not ring when already ringing
await act(async () => {
- await setIncomingCalls({
+ setIncomingCalls({
...initialIncomingCalls,
currentRingingCallId: 'call2',
});
@@ -1534,33 +1534,38 @@ describe('useCallsState', () => {
// setup
const {result} = renderHook(() => useIncomingCalls());
- await act(async () => {
- await setIncomingCalls(initialIncomingCalls);
+ act(() => {
+ setIncomingCalls(initialIncomingCalls);
});
assert.deepEqual(result.current, initialIncomingCalls);
// test going to background
- await act(async () => callsOnAppStateChange('background'));
+ await act(async () => {
+ await callsOnAppStateChange('background');
+ });
assert.deepEqual(result.current, {...initialIncomingCalls, currentRingingCallId: undefined});
// test going to inactive
await act(async () => {
- await setIncomingCalls(initialIncomingCalls);
+ setIncomingCalls(initialIncomingCalls);
await callsOnAppStateChange('inactive');
+ await TestHelper.wait(100);
});
assert.deepEqual(result.current, {...initialIncomingCalls, currentRingingCallId: undefined});
// test going to active (should not change state)
await act(async () => {
- await setIncomingCalls(initialIncomingCalls);
+ setIncomingCalls(initialIncomingCalls);
await callsOnAppStateChange('active');
+ await TestHelper.wait(100);
});
assert.deepEqual(result.current, initialIncomingCalls);
// test previous state
await act(async () => {
- await setIncomingCalls(initialIncomingCalls);
+ setIncomingCalls(initialIncomingCalls);
await callsOnAppStateChange('active');
+ await TestHelper.wait(100);
});
assert.deepEqual(result.current, initialIncomingCalls);
});
diff --git a/app/screens/home/channel_list/categories_list/index.test.tsx b/app/screens/home/channel_list/categories_list/index.test.tsx
index 3f89d5fd5..d08266f95 100644
--- a/app/screens/home/channel_list/categories_list/index.test.tsx
+++ b/app/screens/home/channel_list/categories_list/index.test.tsx
@@ -1,7 +1,7 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
-import {act} from '@testing-library/react-native';
+import {act, waitFor} from '@testing-library/react-native';
import React from 'react';
import {SYSTEM_IDENTIFIERS} from '@constants/database';
@@ -30,7 +30,7 @@ describe('components/categories_list', () => {
});
});
- it('should render', () => {
+ it('should render', async () => {
const wrapper = renderWithEverything(
{
/>,
{database},
);
- expect(wrapper.toJSON()).toBeTruthy();
+ await waitFor(() => {
+ expect(wrapper.toJSON()).toBeTruthy();
+ });
});
- it('should render channel list with thread menu', () => {
+ it('should render channel list with thread menu', async () => {
jest.useFakeTimers();
const wrapper = renderWithEverything(
{
act(() => {
jest.runAllTimers();
});
- expect(wrapper.toJSON()).toBeTruthy();
jest.useRealTimers();
+ await waitFor(() => {
+ expect(wrapper.toJSON()).toBeTruthy();
+ });
});
- it('should render channel list with Draft menu', () => {
+ it('should render channel list with Draft menu', async () => {
const wrapper = renderWithEverything(
{
/>,
{database},
);
- expect(wrapper.getByText('Drafts')).toBeTruthy();
+ await waitFor(() => {
+ expect(wrapper.getByText('Drafts')).toBeTruthy();
+ });
});
it('should render team error', async () => {
@@ -92,16 +98,19 @@ describe('components/categories_list', () => {
act(() => {
jest.runAllTimers();
});
- expect(wrapper.toJSON()).toMatchSnapshot();
+
jest.useRealTimers();
+ await waitFor(() => {
+ expect(wrapper.toJSON()).toMatchSnapshot();
+ });
+ });
+
+ it('should render channels error', async () => {
await operator.handleSystem({
systems: [{id: SYSTEM_IDENTIFIERS.CURRENT_TEAM_ID, value: TestHelper.basicTeam!.id}],
prepareRecordsOnly: false,
});
- });
-
- it('should render channels error', () => {
jest.useFakeTimers();
const wrapper = renderWithEverything(
{
act(() => {
jest.runAllTimers();
});
- expect(wrapper.toJSON()).toMatchSnapshot();
+ jest.useRealTimers();
+ await waitFor(() => {
+ expect(wrapper.toJSON()).toMatchSnapshot();
+ });
});
});
diff --git a/app/screens/home/channel_list/channel_list.test.tsx b/app/screens/home/channel_list/channel_list.test.tsx
index 736b82a92..e752cf22d 100644
--- a/app/screens/home/channel_list/channel_list.test.tsx
+++ b/app/screens/home/channel_list/channel_list.test.tsx
@@ -4,7 +4,7 @@
import React, {type ComponentProps} from 'react';
import PerformanceMetricsManager from '@managers/performance_metrics_manager';
-import {renderWithEverything} from '@test/intl-test-helper';
+import {renderWithEverything, waitFor} from '@test/intl-test-helper';
import TestHelper from '@test/test_helper';
import ChannelListScreen from './channel_list';
@@ -47,11 +47,11 @@ describe('performance metrics', () => {
database = server.database;
});
- it('finish load on load', () => {
- jest.useFakeTimers();
+ it('finish load on load', async () => {
const props = getBaseProps();
renderWithEverything(, {database, serverUrl});
- expect(PerformanceMetricsManager.finishLoad).toHaveBeenCalledWith('HOME', serverUrl);
- jest.useRealTimers();
+ await waitFor(() => {
+ expect(PerformanceMetricsManager.finishLoad).toHaveBeenCalledWith('HOME', serverUrl);
+ });
});
});
diff --git a/app/screens/home/search/search.test.tsx b/app/screens/home/search/search.test.tsx
index 2a2c38039..343b0d7c4 100644
--- a/app/screens/home/search/search.test.tsx
+++ b/app/screens/home/search/search.test.tsx
@@ -1,7 +1,7 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
-import {fireEvent, waitFor} from '@testing-library/react-native';
+import {act, fireEvent, waitFor} from '@testing-library/react-native';
import React from 'react';
import {addSearchToTeamSearchHistory} from '@actions/local/team';
@@ -91,7 +91,9 @@ describe('SearchScreen', () => {
);
const searchInput = getByTestId('navigation.header.search_bar.search.input');
- fireEvent.changeText(searchInput, 'test search');
+ act(() => {
+ fireEvent.changeText(searchInput, 'test search');
+ });
expect(searchInput.props.value).toBe('test search');
});
@@ -102,8 +104,13 @@ describe('SearchScreen', () => {
);
const searchInput = getByTestId('navigation.header.search_bar.search.input');
- fireEvent.changeText(searchInput, 'test search');
- fireEvent(searchInput, 'submitEditing');
+ await act(async () => {
+ fireEvent.changeText(searchInput, 'test search');
+ });
+
+ await act(async () => {
+ fireEvent(searchInput, 'submitEditing');
+ });
await waitFor(() => {
expect(searchPosts).toHaveBeenCalledWith(
@@ -126,7 +133,9 @@ describe('SearchScreen', () => {
);
const teamPicker = getByTestId('team_picker.button');
- fireEvent.press(teamPicker);
+ act(() => {
+ fireEvent.press(teamPicker);
+ });
expect(teamPicker).toBeTruthy();
expect(bottomSheet).toHaveBeenCalled();
@@ -139,10 +148,14 @@ describe('SearchScreen', () => {
);
const searchInput = getByTestId('navigation.header.search_bar.search.input');
- fireEvent.changeText(searchInput, 'test search');
+ act(() => {
+ fireEvent.changeText(searchInput, 'test search');
+ });
const clearButton = getByTestId('navigation.header.search_bar.search.clear.button');
- fireEvent.press(clearButton);
+ act(() => {
+ fireEvent.press(clearButton);
+ });
expect(searchInput.props.value).toBe('');
});
@@ -154,8 +167,12 @@ describe('SearchScreen', () => {
);
const searchInput = getByTestId('navigation.header.search_bar.search.input');
- fireEvent.changeText(searchInput, 'test search');
- fireEvent(searchInput, 'submitEditing');
+ await act(async () => {
+ fireEvent.changeText(searchInput, 'test search');
+ });
+ await act(async () => {
+ fireEvent(searchInput, 'submitEditing');
+ });
await waitFor(() => {
expect(addSearchToTeamSearchHistory).toHaveBeenCalledWith(
diff --git a/app/utils/helpers.ts b/app/utils/helpers.ts
index 1555f0a77..516ed279a 100644
--- a/app/utils/helpers.ts
+++ b/app/utils/helpers.ts
@@ -157,7 +157,7 @@ export function hasTrailingSpaces(term: string) {
export function isMainActivity() {
if (Platform.OS === 'android') {
const MattermostShare = require('@mattermost/rnshare').default;
- return MattermostShare?.getCurrentActivityName() === 'MainActivity';
+ return MattermostShare?.getCurrentActivityName().includes('MainActivity');
}
return true;
diff --git a/app/utils/log.test.ts b/app/utils/log.test.ts
index 252c520db..16416b9a9 100644
--- a/app/utils/log.test.ts
+++ b/app/utils/log.test.ts
@@ -1,6 +1,7 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
+import Config from '@assets/config.json';
import keyMirror from '@utils/key_mirror';
import {logError, logWarning, logInfo, logDebug} from './log';
@@ -25,12 +26,17 @@ describe('Logging functions', () => {
const Sentry = require('@sentry/react-native');
const SentryLevels = keyMirror({debug: null, info: null, warning: null, error: null});
+ beforeAll(() => {
+ Config.SentryEnabled = true;
+ });
+
afterEach(() => {
jest.clearAllMocks();
});
afterAll(() => {
global.console = originalConsole;
+ Config.SentryEnabled = false;
});
test('logError logs error and adds breadcrumb', () => {
diff --git a/app/utils/log.ts b/app/utils/log.ts
index 38acd662a..9c369bc83 100644
--- a/app/utils/log.ts
+++ b/app/utils/log.ts
@@ -1,6 +1,7 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
+import Config from '@assets/config.json';
import keyMirror from '@utils/key_mirror';
const SentryLevels = keyMirror({debug: null, info: null, warning: null, error: null});
@@ -30,10 +31,12 @@ export function logDebug(...args: any[]) {
}
const addBreadcrumb = (logLevel: keyof typeof SentryLevels, ...args: any[]) => {
- const Sentry = require('@sentry/react-native');
- Sentry.addBreadcrumb({
- level: logLevel,
- message: args.join(','),
- type: 'console-log',
- });
+ if (Config.SentryEnabled) {
+ const Sentry = require('@sentry/react-native');
+ Sentry.addBreadcrumb({
+ level: logLevel,
+ message: args.join(','),
+ type: 'console-log',
+ });
+ }
};
diff --git a/eslint.config.mjs b/eslint.config.mjs
new file mode 100644
index 000000000..d8fb750e2
--- /dev/null
+++ b/eslint.config.mjs
@@ -0,0 +1,143 @@
+// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
+// See LICENSE.txt for license information.
+
+import {defineConfig, globalIgnores} from 'eslint/config';
+import tseslint from "@typescript-eslint/eslint-plugin";
+import * as tsparser from "@typescript-eslint/parser";
+import importPlugin from "eslint-plugin-import";
+import reactHooks from "eslint-plugin-react-hooks";
+import stylisticTs from "@stylistic/eslint-plugin-ts";
+
+// Load custom rulesets
+import eslintMattermost, {jestConfig} from "./eslint/eslint-mattermost.mjs";
+import eslintReact from "./eslint/eslint-react.mjs";
+
+export default defineConfig([
+ globalIgnores([
+ "node_modules/",
+ "dist/",
+ "build/",
+ "coverage/",
+ "android/",
+ "ios/",
+ ".github/",
+ "detox/artifacts/",
+ ]),
+ eslintMattermost,
+ jestConfig,
+ eslintReact,
+ {
+ files: ["**/*.{js,jsx,ts,tsx}"],
+ languageOptions: {
+ parser: tsparser,
+ parserOptions: {
+ ecmaVersion: "latest",
+ ecmaFeatures: {
+ jsx: true
+ }
+ },
+ globals: {
+ __DEV__: true
+ },
+ sourceType: "module"
+ },
+ plugins: {
+ "@stylistic/ts": stylisticTs,
+ "@typescript-eslint": tseslint,
+ "import": importPlugin,
+ "react-hooks": reactHooks
+ },
+ settings: {
+ react: {
+ pragma: "React",
+ version: "detect"
+ }
+ },
+ rules: {
+ "eol-last": ["error", "always"],
+ "global-require": "off",
+ "no-undefined": "off",
+ "no-shadow": "off",
+ "react/display-name": [2, { "ignoreTranspilerName": false }],
+ "react/jsx-filename-extension": "off",
+ "react-hooks/exhaustive-deps": "warn",
+ "camelcase": ["off", { "properties": "never" }],
+ "@typescript-eslint/ban-types": "off",
+ "@typescript-eslint/no-non-null-assertion": "off",
+ "@typescript-eslint/no-unused-vars": [
+ 2,
+ {
+ vars: "all",
+ args: "after-used",
+ caughtErrors: "none",
+ ignoreRestSiblings: true,
+ }
+ ],
+ "@typescript-eslint/no-shadow": ["error"],
+ "@typescript-eslint/no-explicit-any": "warn",
+ "no-use-before-define": "off",
+ "@typescript-eslint/no-use-before-define": "off",
+ "@typescript-eslint/no-var-requires": "off",
+ "@typescript-eslint/explicit-function-return-type": "off",
+ "@typescript-eslint/explicit-module-boundary-types": "off",
+ "no-underscore-dangle": "off",
+ "indent": [2, 4, { "SwitchCase": 1 }],
+ "key-spacing": [
+ 2,
+ {
+ "singleLine": {
+ "beforeColon": false,
+ "afterColon": true
+ }
+ }
+ ],
+ "@stylistic/ts/member-delimiter-style": 2,
+ "@typescript-eslint/no-unsafe-declaration-merging": "off",
+ "import/order": [
+ 2,
+ {
+ "groups": ["builtin", "external", "parent", "sibling", "index", "type"],
+ "newlines-between": "always",
+ "pathGroups": [
+ {
+ "pattern": "{@(@actions|@app|@assets|@calls|@client|@components|@constants|@context|@database|@helpers|@hooks|@init|@managers|@queries|@screens|@selectors|@share|@store|@telemetry|@typings|@test|@utils)/**,@(@constants|@i18n|@store|@websocket)}",
+ "group": "external",
+ "position": "after"
+ },
+ {
+ "pattern": "app/**",
+ "group": "parent",
+ "position": "before"
+ }
+ ],
+ "alphabetize": {
+ "order": "asc",
+ "caseInsensitive": true
+ },
+ "pathGroupsExcludedImportTypes": ["type"]
+ }
+ ]
+ }
+ },
+
+
+ {
+ files: ["detox/e2e/**"],
+ languageOptions: {
+ globals: {
+ by: true,
+ detox: true,
+ device: true,
+ element: true,
+ waitFor: true
+ }
+ },
+ rules: {
+ "func-names": "off",
+ "import/no-unresolved": "off",
+ "max-nested-callbacks": "off",
+ "no-process-env": "off",
+ "no-unused-expressions": "off"
+ }
+ }
+]);
diff --git a/eslint/eslint-mattermost.json b/eslint/eslint-mattermost.json
deleted file mode 100644
index 664a9a97b..000000000
--- a/eslint/eslint-mattermost.json
+++ /dev/null
@@ -1,505 +0,0 @@
-{
- "extends": [
- "eslint:recommended"
- ],
- "parserOptions": {
- "ecmaVersion": 8,
- "sourceType": "module",
- "ecmaFeatures": {
- "jsx": true,
- "impliedStrict": true,
- "modules": true
- }
- },
- "parser": "babel-eslint",
- "plugins": [
- "header"
- ],
- "env": {
- "browser": true,
- "node": true,
- "jquery": true,
- "es6": true
- },
- "rules": {
- "array-bracket-spacing": [
- 2,
- "never"
- ],
- "array-callback-return": 2,
- "arrow-body-style": 0,
- "arrow-parens": [
- 2,
- "always"
- ],
- "arrow-spacing": [
- 2,
- {
- "before": true,
- "after": true
- }
- ],
- "block-scoped-var": 2,
- "brace-style": [
- 2,
- "1tbs",
- {
- "allowSingleLine": false
- }
- ],
- "camelcase": [
- 2,
- {
- "properties": "never"
- }
- ],
- "capitalized-comments": 0,
- "class-methods-use-this": 0,
- "comma-dangle": [
- 2,
- "always-multiline"
- ],
- "comma-spacing": [
- 2,
- {
- "before": false,
- "after": true
- }
- ],
- "comma-style": [
- 2,
- "last"
- ],
- "complexity": [
- 0,
- 10
- ],
- "computed-property-spacing": [
- 2,
- "never"
- ],
- "consistent-return": 2,
- "consistent-this": [
- 2,
- "self"
- ],
- "constructor-super": 2,
- "curly": [
- 2,
- "all"
- ],
- "dot-location": [
- 2,
- "object"
- ],
- "dot-notation": 2,
- "eqeqeq": [
- 2,
- "smart"
- ],
- "func-call-spacing": [
- 2,
- "never"
- ],
- "func-name-matching": 0,
- "func-names": 2,
- "func-style": [
- 2,
- "declaration",
- {
- "allowArrowFunctions": true
- }
- ],
- "generator-star-spacing": [
- 2,
- {
- "before": false,
- "after": true
- }
- ],
- "global-require": 2,
- "guard-for-in": 2,
- "header/header": [
- 2,
- "line",
- " Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n See LICENSE.txt for license information."
- ],
- "id-blacklist": 0,
- "indent": [
- 2,
- 4,
- {
- "SwitchCase": 0
- }
- ],
- "jsx-quotes": [
- 2,
- "prefer-single"
- ],
- "key-spacing": [
- 2,
- {
- "beforeColon": false,
- "afterColon": true,
- "mode": "strict"
- }
- ],
- "keyword-spacing": [
- 2,
- {
- "before": true,
- "after": true,
- "overrides": {}
- }
- ],
- "line-comment-position": 0,
- "linebreak-style": 2,
- "lines-around-comment": [
- 2,
- {
- "beforeBlockComment": true,
- "beforeLineComment": true,
- "allowBlockStart": true,
- "allowBlockEnd": true
- }
- ],
- "max-lines": [
- 1,
- {
- "max": 550,
- "skipBlankLines": true,
- "skipComments": true
- }
- ],
- "max-nested-callbacks": [
- 2,
- {
- "max": 2
- }
- ],
- "max-statements-per-line": [
- 2,
- {
- "max": 1
- }
- ],
- "multiline-ternary": [
- 1,
- "never"
- ],
- "new-cap": 2,
- "new-parens": 2,
- "newline-before-return": 0,
- "newline-per-chained-call": 0,
- "no-alert": 2,
- "no-array-constructor": 2,
- "no-await-in-loop": 2,
- "no-caller": 2,
- "no-case-declarations": 2,
- "no-class-assign": 2,
- "no-compare-neg-zero": 2,
- "no-cond-assign": [
- 2,
- "except-parens"
- ],
- "no-confusing-arrow": 2,
- "no-console": 2,
- "no-const-assign": 2,
- "no-constant-condition": 2,
- "no-debugger": 2,
- "no-div-regex": 2,
- "no-dupe-args": 2,
- "no-dupe-class-members": 2,
- "no-dupe-keys": 2,
- "no-duplicate-case": 2,
- "no-duplicate-imports": [
- 2,
- {
- "includeExports": true
- }
- ],
- "no-else-return": 2,
- "no-empty": 2,
- "no-empty-function": 2,
- "no-empty-pattern": 2,
- "no-eval": 2,
- "no-ex-assign": 2,
- "no-extend-native": 2,
- "no-extra-bind": 2,
- "no-extra-label": 2,
- "no-extra-parens": 0,
- "no-extra-semi": 2,
- "no-fallthrough": 2,
- "no-floating-decimal": 2,
- "no-func-assign": 2,
- "no-global-assign": 2,
- "no-implicit-coercion": 2,
- "no-implicit-globals": 0,
- "no-implied-eval": 2,
- "no-inner-declarations": 0,
- "no-invalid-regexp": 2,
- "no-irregular-whitespace": 2,
- "no-iterator": 2,
- "no-labels": 2,
- "no-lone-blocks": 2,
- "no-lonely-if": 2,
- "no-loop-func": 2,
- "no-magic-numbers": 0,
- "no-mixed-operators": [
- 2,
- {
- "allowSamePrecedence": false
- }
- ],
- "no-mixed-spaces-and-tabs": 2,
- "no-multi-assign": 2,
- "no-multi-spaces": [
- 2,
- {
- "exceptions": {
- "Property": false
- }
- }
- ],
- "no-multi-str": 0,
- "no-multiple-empty-lines": [
- 2,
- {
- "max": 1
- }
- ],
- "no-native-reassign": 2,
- "no-negated-condition": 2,
- "no-nested-ternary": 2,
- "no-new": 2,
- "no-new-func": 2,
- "no-new-object": 2,
- "no-new-symbol": 2,
- "no-new-wrappers": 2,
- "no-octal-escape": 2,
- "no-param-reassign": 2,
- "no-process-env": 2,
- "no-process-exit": 2,
- "no-proto": 2,
- "no-prototype-builtins": 1,
- "no-redeclare": 2,
- "no-return-assign": [
- 2,
- "always"
- ],
- "no-return-await": 2,
- "no-script-url": 2,
- "no-self-assign": [
- 2,
- {
- "props": true
- }
- ],
- "no-self-compare": 2,
- "no-sequences": 2,
- "no-shadow": [
- 2,
- {
- "hoist": "functions"
- }
- ],
- "no-shadow-restricted-names": 2,
- "no-spaced-func": 2,
- "no-tabs": 0,
- "no-template-curly-in-string": 2,
- "no-ternary": 0,
- "no-this-before-super": 2,
- "no-throw-literal": 2,
- "no-trailing-spaces": [
- 2,
- {
- "skipBlankLines": false
- }
- ],
- "no-undef-init": 2,
- "no-undefined": 2,
- "no-underscore-dangle": 2,
- "no-unexpected-multiline": 2,
- "no-unmodified-loop-condition": 2,
- "no-unneeded-ternary": [
- 2,
- {
- "defaultAssignment": false
- }
- ],
- "no-unreachable": 2,
- "no-unsafe-finally": 2,
- "no-unsafe-negation": 2,
- "no-unused-expressions": 2,
- "no-unused-vars": [
- 2,
- {
- "vars": "all",
- "args": "after-used"
- }
- ],
- "no-use-before-define": [
- 2,
- {
- "classes": false,
- "functions": false,
- "variables": false
- }
- ],
- "no-useless-computed-key": 2,
- "no-useless-concat": 2,
- "no-useless-constructor": 2,
- "no-useless-escape": 2,
- "no-useless-rename": 2,
- "no-useless-return": 2,
- "no-var": 0,
- "no-void": 2,
- "no-warning-comments": 1,
- "no-whitespace-before-property": 2,
- "no-with": 2,
- "object-curly-newline": 0,
- "object-curly-spacing": [
- 2,
- "never"
- ],
- "object-property-newline": [
- 2,
- {
- "allowMultiplePropertiesPerLine": true
- }
- ],
- "object-shorthand": [
- 2,
- "always"
- ],
- "one-var": [
- 2,
- "never"
- ],
- "one-var-declaration-per-line": 0,
- "operator-assignment": [
- 2,
- "always"
- ],
- "operator-linebreak": [
- 2,
- "after"
- ],
- "padded-blocks": [
- 2,
- "never"
- ],
- "prefer-arrow-callback": 2,
- "prefer-const": 2,
- "prefer-destructuring": 0,
- "prefer-numeric-literals": 2,
- "prefer-promise-reject-errors": 2,
- "prefer-rest-params": 2,
- "prefer-spread": 2,
- "prefer-template": 0,
- "quote-props": [
- 2,
- "as-needed"
- ],
- "quotes": [
- 2,
- "single",
- "avoid-escape"
- ],
- "radix": 2,
- "require-yield": 2,
- "rest-spread-spacing": [
- 2,
- "never"
- ],
- "semi": [
- 2,
- "always"
- ],
- "semi-spacing": [
- 2,
- {
- "before": false,
- "after": true
- }
- ],
- "sort-imports": 0,
- "sort-keys": 0,
- "space-before-blocks": [
- 2,
- "always"
- ],
- "space-before-function-paren": [
- 2,
- {
- "anonymous": "never",
- "named": "never",
- "asyncArrow": "always"
- }
- ],
- "space-in-parens": [
- 2,
- "never"
- ],
- "space-infix-ops": 2,
- "space-unary-ops": [
- 2,
- {
- "words": true,
- "nonwords": false
- }
- ],
- "symbol-description": 2,
- "template-curly-spacing": [
- 2,
- "never"
- ],
- "valid-typeof": [
- 2,
- {
- "requireStringLiterals": false
- }
- ],
- "vars-on-top": 0,
- "wrap-iife": [
- 2,
- "outside"
- ],
- "wrap-regex": 2,
- "yoda": [
- 2,
- "never",
- {
- "exceptRange": false,
- "onlyEquality": false
- }
- ],
- "@typescript-eslint/array-type": [2, {"default": "array-simple"}],
- "@typescript-eslint/member-delimiter-style": 2,
- "@typescript-eslint/type-annotation-spacing": 2
- },
- "overrides": [
- {
- "files": ["*.test.js", "*.test.jsx", "*.test.ts", "*.test.tsx", "tests/**"],
- "globals": {
- "after": true,
- "afterAll": true,
- "afterEach": true,
- "before": true,
- "beforeAll": true,
- "beforeEach": true,
- "describe": true,
- "expect": true,
- "it": true,
- "jest": true,
- "test": true
- },
- "rules": {
- "no-empty-function": 0,
- "no-console": 0,
- "max-nested-callbacks": 0,
- "no-undefined": 0
- }
- }
- ]
-}
diff --git a/eslint/eslint-mattermost.mjs b/eslint/eslint-mattermost.mjs
new file mode 100644
index 000000000..7c137acd6
--- /dev/null
+++ b/eslint/eslint-mattermost.mjs
@@ -0,0 +1,224 @@
+// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
+// See LICENSE.txt for license information.
+
+import {defineConfig} from 'eslint/config';
+import headerPlugin from "eslint-plugin-header";
+import tseslint from "@typescript-eslint/eslint-plugin";
+import stylisticTs from "@stylistic/eslint-plugin-ts";
+
+headerPlugin.rules.header.meta.schema = false;
+
+export default defineConfig([
+ {
+ files: ["**/*.{js,jsx,ts,tsx}"],
+ languageOptions: {
+ ecmaVersion: 8,
+ sourceType: "module",
+ globals: {
+ browser: true,
+ node: true,
+ jquery: true,
+ es6: true
+ },
+ },
+ plugins: {
+ header: headerPlugin,
+ "@typescript-eslint": tseslint,
+ "@stylistic/ts": stylisticTs,
+ },
+ rules: {
+ "array-bracket-spacing": [2, "never"],
+ "array-callback-return": 2,
+ "arrow-body-style": 0,
+ "arrow-parens": [2, "always"],
+ "arrow-spacing": [2, { before: true, after: true }],
+ "block-scoped-var": 2,
+ "brace-style": [2, "1tbs", { allowSingleLine: false }],
+ "camelcase": [2, { properties: "never" }],
+ "capitalized-comments": 0,
+ "class-methods-use-this": 0,
+ "comma-dangle": [2, "always-multiline"],
+ "comma-spacing": [2, { before: false, after: true }],
+ "comma-style": [2, "last"],
+ "complexity": [0, 10],
+ "computed-property-spacing": [2, "never"],
+ "consistent-return": 2,
+ "consistent-this": [2, "self"],
+ "constructor-super": 2,
+ "curly": [2, "all"],
+ "dot-location": [2, "object"],
+ "dot-notation": 2,
+ "eqeqeq": [2, "smart"],
+ "func-call-spacing": [2, "never"],
+ "func-name-matching": 0,
+ "func-names": 2,
+ "func-style": [2, "declaration", { allowArrowFunctions: true }],
+ "generator-star-spacing": [2, { before: false, after: true }],
+ "global-require": 2,
+ "guard-for-in": 2,
+ "header/header": [
+ 2,
+ "line",
+ " Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n See LICENSE.txt for license information."
+ ],
+ "id-blacklist": 0,
+ "indent": [2, 4, { SwitchCase: 0 }],
+ "jsx-quotes": [2, "prefer-single"],
+ "key-spacing": [2, { beforeColon: false, afterColon: true, mode: "strict" }],
+ "keyword-spacing": [2, { before: true, after: true, overrides: {} }],
+ "line-comment-position": 0,
+ "linebreak-style": 2,
+ "lines-around-comment": [2, { beforeBlockComment: true, beforeLineComment: true, allowBlockStart: true, allowBlockEnd: true }],
+ "max-lines": [1, { max: 550, skipBlankLines: true, skipComments: true }],
+ "max-nested-callbacks": [2, { max: 2 }],
+ "max-statements-per-line": [2, { max: 1 }],
+ "multiline-ternary": [1, "never"],
+ "new-cap": 2,
+ "new-parens": 2,
+ "newline-before-return": 0,
+ "newline-per-chained-call": 0,
+ "no-alert": 2,
+ "no-array-constructor": 2,
+ "no-await-in-loop": 2,
+ "no-caller": 2,
+ "no-case-declarations": 2,
+ "no-class-assign": 2,
+ "no-compare-neg-zero": 2,
+ "no-cond-assign": [2, "except-parens"],
+ "no-confusing-arrow": 2,
+ "no-console": 2,
+ "no-const-assign": 2,
+ "no-constant-condition": 2,
+ "no-debugger": 2,
+ "no-div-regex": 2,
+ "no-dupe-args": 2,
+ "no-dupe-class-members": 2,
+ "no-dupe-keys": 2,
+ "no-duplicate-case": 2,
+ "no-duplicate-imports": [2, { includeExports: true }],
+ "no-else-return": 2,
+ "no-empty": 2,
+ "no-empty-function": 2,
+ "no-empty-pattern": 2,
+ "no-eval": 2,
+ "no-ex-assign": 2,
+ "no-extend-native": 2,
+ "no-extra-bind": 2,
+ "no-extra-label": 2,
+ "no-extra-parens": 0,
+ "no-extra-semi": 2,
+ "no-fallthrough": 2,
+ "no-floating-decimal": 2,
+ "no-func-assign": 2,
+ "no-global-assign": 2,
+ "no-implicit-coercion": 2,
+ "no-implicit-globals": 0,
+ "no-implied-eval": 2,
+ "no-inner-declarations": 0,
+ "no-invalid-regexp": 2,
+ "no-irregular-whitespace": 2,
+ "no-iterator": 2,
+ "no-labels": 2,
+ "no-lone-blocks": 2,
+ "no-lonely-if": 2,
+ "no-loop-func": 2,
+ "no-magic-numbers": 0,
+ "no-mixed-operators": [2, { allowSamePrecedence: false }],
+ "no-mixed-spaces-and-tabs": 2,
+ "no-multi-assign": 2,
+ "no-multi-spaces": [2, { exceptions: { Property: false } }],
+ "no-multiple-empty-lines": [2, { max: 1 }],
+ "no-native-reassign": 2,
+ "no-negated-condition": 2,
+ "no-nested-ternary": 2,
+ "no-new": 2,
+ "no-new-func": 2,
+ "no-new-object": 2,
+ "no-new-symbol": 2,
+ "no-new-wrappers": 2,
+ "no-octal-escape": 2,
+ "no-param-reassign": 2,
+ "no-process-env": 2,
+ "no-prototype-builtins": 1,
+ "no-redeclare": 0,
+ "no-return-assign": [2, "always"],
+ "no-return-await": 2,
+ "no-script-url": 2,
+ "no-self-assign": [2, { props: true }],
+ "no-self-compare": 2,
+ "no-sequences": 2,
+ "no-shadow": [2, { hoist: "functions" }],
+ "no-shadow-restricted-names": 2,
+ "no-spaced-func": 2,
+ "no-tabs": 0,
+ "no-ternary": 0,
+ "no-this-before-super": 2,
+ "no-throw-literal": 2,
+ "no-trailing-spaces": [2, { skipBlankLines: false }],
+ "no-undef-init": 2,
+ "no-undefined": 2,
+ "no-underscore-dangle": 2,
+ "no-unexpected-multiline": 2,
+ "no-unmodified-loop-condition": 2,
+ "no-unneeded-ternary": [2, { defaultAssignment: false }],
+ "no-unreachable": 2,
+ "no-unused-expressions": 2,
+ "no-use-before-define": [2, { classes: false, functions: false, variables: false }],
+ "no-useless-computed-key": 2,
+ "no-useless-concat": 2,
+ "no-useless-constructor": 2,
+ "no-useless-return": 2,
+ "no-var": 0,
+ "no-void": 2,
+ "no-warning-comments": 1,
+ "no-whitespace-before-property": 2,
+ "no-with": 2,
+ "object-curly-spacing": [2, "never"],
+ "object-property-newline": [2, { allowMultiplePropertiesPerLine: true }],
+ "object-shorthand": [2, "always"],
+ "one-var": [2, "never"],
+ "prefer-arrow-callback": 2,
+ "prefer-const": 2,
+ "prefer-numeric-literals": 2,
+ "prefer-promise-reject-errors": 2,
+ "quotes": [2, "single", "avoid-escape"],
+ "semi": [2, "always"],
+ "semi-spacing": [2, { before: false, after: true }],
+ "space-before-blocks": [2, "always"],
+ "space-in-parens": [2, "never"],
+ "@typescript-eslint/array-type": [2, { default: "array-simple" }],
+ "@stylistic/ts/member-delimiter-style": 2,
+ "@stylistic/ts/type-annotation-spacing": 2,
+ "@typescript-eslint/no-redeclare": [
+ 2,
+ { ignoreDeclarationMerge: true }
+ ]
+ },
+ },
+ // Jest Config
+]);
+
+export const jestConfig = defineConfig({
+ files: ["**/*.test.{js,jsx,ts,tsx}", "**/tests/**"],
+ languageOptions: {
+ globals: {
+ after: true,
+ afterAll: true,
+ afterEach: true,
+ before: true,
+ beforeAll: true,
+ beforeEach: true,
+ describe: true,
+ expect: true,
+ it: true,
+ jest: true,
+ test: true
+ }
+ },
+ rules: {
+ "no-empty-function": "off",
+ "no-console": "off",
+ "max-nested-callbacks": "off",
+ "no-undefined": 'off'
+ }
+});
diff --git a/eslint/eslint-react.json b/eslint/eslint-react.json
deleted file mode 100644
index 708d0390a..000000000
--- a/eslint/eslint-react.json
+++ /dev/null
@@ -1,123 +0,0 @@
-{
- "extends": [
- "plugin:react/recommended"
- ],
- "plugins": [
- "react"
- ],
- "rules": {
- "react/display-name": [
- 0,
- {
- "ignoreTranspilerName": false
- }
- ],
- "react/forbid-component-props": 0,
- "react/forbid-elements": [
- 2,
- {
- "forbid": [
- "embed"
- ]
- }
- ],
- "react/jsx-boolean-value": [
- 2,
- "always"
- ],
- "react/jsx-closing-bracket-location": [
- 2,
- {
- "location": "tag-aligned"
- }
- ],
- "react/jsx-curly-spacing": [
- 2,
- "never"
- ],
- "react/jsx-equals-spacing": [
- 2,
- "never"
- ],
- "react/jsx-filename-extension": 2,
- "react/jsx-first-prop-new-line": [
- 2,
- "multiline"
- ],
- "react/jsx-handler-names": 0,
- "react/jsx-indent": [
- 2,
- 4
- ],
- "react/jsx-indent-props": [
- 2,
- 4
- ],
- "react/jsx-key": 2,
- "react/jsx-max-props-per-line": [
- 2,
- {
- "maximum": 1
- }
- ],
- "react/jsx-no-bind": 0,
- "react/jsx-no-comment-textnodes": 2,
- "react/jsx-no-duplicate-props": [
- 2,
- {
- "ignoreCase": false
- }
- ],
- "react/jsx-no-literals": 2,
- "react/jsx-no-target-blank": 2,
- "react/jsx-no-undef": 2,
- "react/jsx-pascal-case": 2,
- "react/jsx-tag-spacing": [
- 2,
- {
- "closingSlash": "never",
- "beforeSelfClosing": "never",
- "afterOpening": "never"
- }
- ],
- "react/jsx-uses-react": 2,
- "react/jsx-uses-vars": 2,
- "react/jsx-wrap-multilines": 2,
- "react/no-array-index-key": 1,
- "react/no-children-prop": 2,
- "react/no-danger": 0,
- "react/no-danger-with-children": 2,
- "react/no-deprecated": 1,
- "react/no-did-mount-set-state": 2,
- "react/no-did-update-set-state": 2,
- "react/no-direct-mutation-state": 2,
- "react/no-find-dom-node": 1,
- "react/no-is-mounted": 2,
- "react/no-multi-comp": [
- 2,
- {
- "ignoreStateless": true
- }
- ],
- "react/no-render-return-value": 2,
- "react/no-set-state": 0,
- "react/no-string-refs": 0,
- "react/no-unescaped-entities": 2,
- "react/no-unknown-property": 2,
- "react/no-unused-prop-types": [
- 1,
- {
- "skipShapeProps": true
- }
- ],
- "react/prefer-es6-class": 2,
- "react/prefer-stateless-function": 0,
- "react/prop-types": 2,
- "react/require-default-props": 0,
- "react/require-optimization": 1,
- "react/require-render-return": 2,
- "react/self-closing-comp": 2,
- "react/sort-comp": 0,
- "react/style-prop-object": 2
- }
-}
diff --git a/eslint/eslint-react.mjs b/eslint/eslint-react.mjs
new file mode 100644
index 000000000..7070b0b5a
--- /dev/null
+++ b/eslint/eslint-react.mjs
@@ -0,0 +1,58 @@
+// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
+// See LICENSE.txt for license information.
+
+import reactPlugin from "eslint-plugin-react";
+
+export default {
+ plugins: {
+ react: reactPlugin
+ },
+ settings: {
+ react: {
+ pragma: "React",
+ version: "detect"
+ }
+ },
+ rules: {
+ "react/display-name": [0, { ignoreTranspilerName: false }],
+ "react/forbid-elements": [2, { forbid: ["embed"] }],
+ "react/jsx-boolean-value": [2, "always"],
+ "react/jsx-closing-bracket-location": [2, { location: "tag-aligned" }],
+ "react/jsx-curly-spacing": [2, "never"],
+ "react/jsx-equals-spacing": [2, "never"],
+ "react/jsx-filename-extension": 2,
+ "react/jsx-first-prop-new-line": [2, "multiline"],
+ "react/jsx-indent": [2, 4],
+ "react/jsx-indent-props": [2, 4],
+ "react/jsx-key": 2,
+ "react/jsx-max-props-per-line": [2, { maximum: 1 }],
+ "react/jsx-no-comment-textnodes": 2,
+ "react/jsx-no-duplicate-props": [2, { ignoreCase: false }],
+ "react/jsx-no-literals": 2,
+ "react/jsx-no-target-blank": 2,
+ "react/jsx-no-undef": 2,
+ "react/jsx-pascal-case": 2,
+ "react/jsx-tag-spacing": [2, { closingSlash: "never", beforeSelfClosing: "never", afterOpening: "never" }],
+ "react/jsx-uses-react": 2,
+ "react/jsx-uses-vars": 2,
+ "react/jsx-wrap-multilines": 2,
+ "react/no-array-index-key": 1,
+ "react/no-children-prop": 2,
+ "react/no-danger": 0,
+ "react/no-deprecated": 1,
+ "react/no-did-mount-set-state": 2,
+ "react/no-did-update-set-state": 2,
+ "react/no-direct-mutation-state": 2,
+ "react/no-find-dom-node": 1,
+ "react/no-multi-comp": [2, { ignoreStateless: true }],
+ "react/no-render-return-value": 2,
+ "react/no-string-refs": 0,
+ "react/no-unescaped-entities": 2,
+ "react/no-unknown-property": 2,
+ "react/no-unused-prop-types": [1, { skipShapeProps: true }],
+ "react/prefer-es6-class": 2,
+ "react/require-default-props": 0,
+ "react/require-render-return": 2,
+ "react/self-closing-comp": 2
+ }
+};
diff --git a/fastlane/Gemfile.lock b/fastlane/Gemfile.lock
index 77dacce14..cd9583ab8 100644
--- a/fastlane/Gemfile.lock
+++ b/fastlane/Gemfile.lock
@@ -15,21 +15,22 @@ GEM
public_suffix (>= 2.0.2, < 7.0)
artifactory (3.0.17)
atomos (0.1.3)
- aws-eventstream (1.3.0)
- aws-partitions (1.1005.0)
- aws-sdk-core (3.212.0)
+ aws-eventstream (1.3.2)
+ aws-partitions (1.1067.0)
+ aws-sdk-core (3.220.1)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
+ base64
jmespath (~> 1, >= 1.6.1)
- aws-sdk-kms (1.95.0)
- aws-sdk-core (~> 3, >= 3.210.0)
+ aws-sdk-kms (1.99.0)
+ aws-sdk-core (~> 3, >= 3.216.0)
aws-sigv4 (~> 1.5)
- aws-sdk-s3 (1.170.1)
- aws-sdk-core (~> 3, >= 3.210.0)
+ aws-sdk-s3 (1.182.0)
+ aws-sdk-core (~> 3, >= 3.216.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
- aws-sigv4 (1.10.1)
+ aws-sigv4 (1.11.0)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
base64 (0.2.0)
@@ -39,7 +40,7 @@ GEM
commander (4.6.0)
highline (~> 2.0.0)
declarative (0.0.20)
- digest-crc (0.6.5)
+ digest-crc (0.7.0)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.6.20240107)
dotenv (2.8.1)
@@ -64,8 +65,8 @@ GEM
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
- faraday-multipart (1.0.4)
- multipart-post (~> 2)
+ faraday-multipart (1.1.0)
+ multipart-post (~> 2.0)
faraday-net_http (1.0.2)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
@@ -73,8 +74,8 @@ GEM
faraday-retry (1.0.3)
faraday_middleware (1.2.1)
faraday (~> 1.0)
- fastimage (2.3.1)
- fastlane (2.225.0)
+ fastimage (2.4.0)
+ fastlane (2.227.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
@@ -114,7 +115,7 @@ GEM
tty-spinner (>= 0.8.0, < 1.0.0)
word_wrap (~> 1.0.0)
xcodeproj (>= 1.13.0, < 2.0.0)
- xcpretty (~> 0.3.0)
+ xcpretty (~> 0.4.0)
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
fastlane-plugin-android_change_package_identifier (0.1.0)
fastlane-plugin-android_change_string_app_name (0.1.1)
@@ -139,12 +140,12 @@ GEM
google-apis-core (>= 0.11.0, < 2.a)
google-apis-storage_v1 (0.31.0)
google-apis-core (>= 0.11.0, < 2.a)
- google-cloud-core (1.7.1)
+ google-cloud-core (1.8.0)
google-cloud-env (>= 1.0, < 3.a)
google-cloud-errors (~> 1.0)
google-cloud-env (1.6.0)
faraday (>= 0.17.3, < 3.0)
- google-cloud-errors (1.4.0)
+ google-cloud-errors (1.5.0)
google-cloud-storage (1.47.0)
addressable (~> 2.8)
digest-crc (~> 0.4)
@@ -160,17 +161,19 @@ GEM
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
highline (2.0.3)
- http-cookie (1.0.7)
+ http-cookie (1.0.8)
domain_name (~> 0.5)
- httpclient (2.8.3)
+ httpclient (2.9.0)
+ mutex_m
jmespath (1.6.2)
- json (2.8.1)
- jwt (2.9.3)
+ json (2.10.2)
+ jwt (2.10.1)
base64
mini_magick (4.13.2)
mini_mime (1.1.5)
multi_json (1.15.0)
multipart-post (2.4.1)
+ mutex_m (0.3.0)
nanaimo (0.4.0)
naturally (2.2.1)
nkf (0.2.0)
@@ -182,7 +185,7 @@ GEM
racc (~> 1.4)
optparse (0.6.0)
os (1.1.4)
- plist (3.7.1)
+ plist (3.7.2)
public_suffix (6.0.1)
racc (1.8.1)
rake (13.2.1)
@@ -191,10 +194,10 @@ GEM
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
- rexml (3.3.9)
- rouge (2.0.7)
+ rexml (3.4.1)
+ rouge (3.28.0)
ruby2_keywords (0.0.5)
- rubyzip (2.3.2)
+ rubyzip (2.4.1)
security (0.1.5)
signet (0.19.0)
addressable (~> 2.8)
@@ -223,8 +226,8 @@ GEM
colored2 (~> 3.1)
nanaimo (~> 0.4.0)
rexml (>= 3.3.6, < 4.0)
- xcpretty (0.3.0)
- rouge (~> 2.0.7)
+ xcpretty (0.4.0)
+ rouge (~> 3.28.0)
xcpretty-travis-formatter (1.0.1)
xcpretty (~> 0.2, >= 0.0.7)
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index d4e8a0ce4..18b442273 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -5,25 +5,25 @@ PODS:
- CocoaLumberjack/Core (= 3.8.5)
- CocoaLumberjack/Core (3.8.5)
- DoubleConversion (1.1.6)
- - EXApplication (6.0.1):
+ - EXApplication (6.0.2):
- ExpoModulesCore
- - EXConstants (17.0.3):
+ - EXConstants (17.0.8):
- ExpoModulesCore
- - Expo (52.0.19):
+ - Expo (52.0.40):
- ExpoModulesCore
- - ExpoCrypto (14.0.1):
+ - ExpoCrypto (14.0.2):
- ExpoModulesCore
- - ExpoDevice (7.0.1):
+ - ExpoDevice (7.0.2):
- ExpoModulesCore
- - ExpoFileSystem (18.0.6):
+ - ExpoFileSystem (18.0.12):
- ExpoModulesCore
- - ExpoImage (2.0.4):
+ - ExpoImage (2.0.6):
- ExpoModulesCore
- SDWebImage (~> 5.19.1)
- SDWebImageSVGCoder (~> 1.7.0)
- - ExpoLinearGradient (14.0.1):
+ - ExpoLinearGradient (14.0.2):
- ExpoModulesCore
- - ExpoModulesCore (2.1.2):
+ - ExpoModulesCore (2.2.3):
- DoubleConversion
- glog
- hermes-engine
@@ -46,11 +46,11 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - ExpoStoreReview (8.0.0):
+ - ExpoStoreReview (8.0.1):
- ExpoModulesCore
- - ExpoVideoThumbnails (9.0.2):
+ - ExpoVideoThumbnails (9.0.3):
- ExpoModulesCore
- - ExpoWebBrowser (14.0.1):
+ - ExpoWebBrowser (14.0.2):
- ExpoModulesCore
- FBLazyVector (0.76.5)
- fmt (9.1.0)
@@ -1366,7 +1366,7 @@ PODS:
- Yoga
- react-native-background-timer (2.4.1):
- React-Core
- - react-native-cameraroll (7.9.0):
+ - react-native-cameraroll (7.10.0):
- DoubleConversion
- glog
- hermes-engine
@@ -1431,7 +1431,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - react-native-image-picker (7.2.3):
+ - react-native-image-picker (8.2.0):
- DoubleConversion
- glog
- hermes-engine
@@ -1503,9 +1503,9 @@ PODS:
- Yoga
- react-native-performance (5.1.2):
- React-Core
- - react-native-safe-area-context (5.0.0):
+ - react-native-safe-area-context (5.3.0):
- React-Core
- - react-native-video (6.8.2):
+ - react-native-video (6.11.0):
- DoubleConversion
- glog
- hermes-engine
@@ -1518,7 +1518,7 @@ PODS:
- React-featureflags
- React-graphics
- React-ImageManager
- - react-native-video/Video (= 6.8.2)
+ - react-native-video/Video (= 6.11.0)
- React-NativeModulesApple
- React-RCTFabric
- React-rendererdebug
@@ -1527,7 +1527,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - react-native-video/Video (6.8.2):
+ - react-native-video/Video (6.11.0):
- DoubleConversion
- glog
- hermes-engine
@@ -1548,7 +1548,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - react-native-webrtc (124.0.4):
+ - react-native-webrtc (124.0.5):
- JitsiWebRTC (~> 124.0.0)
- React-Core
- React-nativeconfig (0.76.5)
@@ -1822,26 +1822,26 @@ PODS:
- React-Core
- ReactNativeIncallManager (4.2.0):
- React-Core
- - ReactNativeNavigation (7.40.3):
+ - ReactNativeNavigation (7.44.0):
- HMSegmentedControl
- React-Core
- React-CoreModules
- React-RCTImage
- React-RCTText
- - ReactNativeNavigation/Core (= 7.40.3)
- - ReactNativeNavigation/Core (7.40.3):
+ - ReactNativeNavigation/Core (= 7.44.0)
+ - ReactNativeNavigation/Core (7.44.0):
- HMSegmentedControl
- React-Core
- React-CoreModules
- React-RCTImage
- React-RCTText
- - RNCClipboard (1.15.0):
+ - RNCClipboard (1.16.2):
- React-Core
- - RNDateTimePicker (8.2.0):
+ - RNDateTimePicker (8.3.0):
- React-Core
- RNFileViewer (2.1.5):
- React-Core
- - RNFlashList (1.7.3):
+ - RNFlashList (1.7.6):
- DoubleConversion
- glog
- hermes-engine
@@ -1862,7 +1862,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - RNGestureHandler (2.21.2):
+ - RNGestureHandler (2.24.0):
- DoubleConversion
- glog
- hermes-engine
@@ -1883,7 +1883,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - RNKeychain (9.2.2):
+ - RNKeychain (10.0.0):
- DoubleConversion
- glog
- hermes-engine
@@ -1904,9 +1904,9 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - RNLocalize (3.3.0):
+ - RNLocalize (3.4.1):
- React-Core
- - RNPermissions (5.2.1):
+ - RNPermissions (5.3.0):
- React-Core
- RNReactNativeHapticFeedback (2.3.3):
- DoubleConversion
@@ -1929,7 +1929,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - RNReanimated (3.16.5):
+ - RNReanimated (3.17.1):
- DoubleConversion
- glog
- hermes-engine
@@ -1941,7 +1941,9 @@ PODS:
- React-Fabric
- React-featureflags
- React-graphics
+ - React-hermes
- React-ImageManager
+ - React-jsi
- React-NativeModulesApple
- React-RCTFabric
- React-rendererdebug
@@ -1949,10 +1951,10 @@ PODS:
- ReactCodegen
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- - RNReanimated/reanimated (= 3.16.5)
- - RNReanimated/worklets (= 3.16.5)
+ - RNReanimated/reanimated (= 3.17.1)
+ - RNReanimated/worklets (= 3.17.1)
- Yoga
- - RNReanimated/reanimated (3.16.5):
+ - RNReanimated/reanimated (3.17.1):
- DoubleConversion
- glog
- hermes-engine
@@ -1964,7 +1966,9 @@ PODS:
- React-Fabric
- React-featureflags
- React-graphics
+ - React-hermes
- React-ImageManager
+ - React-jsi
- React-NativeModulesApple
- React-RCTFabric
- React-rendererdebug
@@ -1972,9 +1976,9 @@ PODS:
- ReactCodegen
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- - RNReanimated/reanimated/apple (= 3.16.5)
+ - RNReanimated/reanimated/apple (= 3.17.1)
- Yoga
- - RNReanimated/reanimated/apple (3.16.5):
+ - RNReanimated/reanimated/apple (3.17.1):
- DoubleConversion
- glog
- hermes-engine
@@ -1986,7 +1990,9 @@ PODS:
- React-Fabric
- React-featureflags
- React-graphics
+ - React-hermes
- React-ImageManager
+ - React-jsi
- React-NativeModulesApple
- React-RCTFabric
- React-rendererdebug
@@ -1995,7 +2001,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - RNReanimated/worklets (3.16.5):
+ - RNReanimated/worklets (3.17.1):
- DoubleConversion
- glog
- hermes-engine
@@ -2007,7 +2013,33 @@ PODS:
- React-Fabric
- React-featureflags
- React-graphics
+ - React-hermes
- React-ImageManager
+ - React-jsi
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - RNReanimated/worklets/apple (= 3.17.1)
+ - Yoga
+ - RNReanimated/worklets/apple (3.17.1):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-ImageManager
+ - React-jsi
- React-NativeModulesApple
- React-RCTFabric
- React-rendererdebug
@@ -2016,7 +2048,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - RNScreens (4.3.0):
+ - RNScreens (4.9.2):
- DoubleConversion
- glog
- hermes-engine
@@ -2061,7 +2093,7 @@ PODS:
- ReactCommon/turbomodule/core
- Sentry/HybridSDK (= 8.41.0)
- Yoga
- - RNShare (12.0.3):
+ - RNShare (12.0.9):
- DoubleConversion
- glog
- hermes-engine
@@ -2082,7 +2114,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - RNSVG (15.10.1):
+ - RNSVG (15.11.2):
- React-Core
- RNVectorIcons (10.2.0):
- DoubleConversion
@@ -2117,7 +2149,7 @@ PODS:
- SwiftyJSON (5.0.2)
- TurboLogIOSNative (0.1.0):
- CocoaLumberjack (~> 3.8.5)
- - WatermelonDB (0.28.0-1):
+ - WatermelonDB (0.28.0-2):
- React
- simdjson
- Yoga (0.0.0)
@@ -2495,18 +2527,18 @@ SPEC CHECKSUMS:
boost: 1dca942403ed9342f98334bf4c3621f011aa7946
CocoaLumberjack: 6a459bc897d6d80bd1b8c78482ec7ad05dffc3f0
DoubleConversion: f16ae600a246532c4020132d54af21d0ddb2a385
- EXApplication: 88ebf1a95f85faa5d2df160016d61f2d060e9438
- EXConstants: 277129d9a42ba2cf1fad375e7eaa9939005c60be
- Expo: 848501c300b37b3fa7330c58a5353e07e03d5c3d
- ExpoCrypto: 483fc758365923f89ddaab4327c21cae9534841d
- ExpoDevice: 449822f2c45660c1ce83283dd51c67fe5404996c
- ExpoFileSystem: a38e1bb58d77f41717293a7b73ebd4014d8cb8dd
- ExpoImage: 18ec1a3e5cd96ee6162d988be3085e18113e143f
- ExpoLinearGradient: 18148bd38f98fa0229c1f9df23393b32ab6d2d32
- ExpoModulesCore: c9cb309323aee3c048099bb40ad0226e3fcf0c56
- ExpoStoreReview: f38ed71ee04dfc02dde63a05f925f001cebba5d8
- ExpoVideoThumbnails: 5572e98fac313bfdc86f7d7915354f13a364ed38
- ExpoWebBrowser: b658ba8a9161f1b54afb279591cfce2cb73330fa
+ EXApplication: 4c72f6017a14a65e338c5e74fca418f35141e819
+ EXConstants: fcfc75800824ac2d5c592b5bc74130bad17b146b
+ Expo: 4f645fc381f88e6acacfb0dcb63b45fb9eff25b9
+ ExpoCrypto: e97e864c8d7b9ce4a000bca45dddb93544a1b2b4
+ ExpoDevice: 1662ecdf42a8b5b2cf60ef7cecaf5a297639dd63
+ ExpoFileSystem: 42d363d3b96f9afab980dcef60d5657a4443c655
+ ExpoImage: eefe750743772ec0ca1a8055f56c8653e7de21fc
+ ExpoLinearGradient: 35ebd83b16f80b3add053a2fd68cc328ed927f60
+ ExpoModulesCore: 15f60d00e33ca0cea27147543877ca6e70c42ef5
+ ExpoStoreReview: 92ad323dd14485e7aa67d5b47248fb22876ffaee
+ ExpoVideoThumbnails: 7e9cd967393af9af0f7b0c62a4a00549f1860cab
+ ExpoWebBrowser: a212e6b480d8857d3e441fba51e0c968333803b3
FBLazyVector: 1bf99bb46c6af9a2712592e707347315f23947aa
fmt: 10c6e61f4be25dc963c36bd73fc7b1705fe975be
glog: 08b301085f15bcbb6ff8632a8ebaf239aae04e6a
@@ -2547,19 +2579,19 @@ SPEC CHECKSUMS:
React-Mapbuffer: 7eb5d69e1154e7743487ef0c8d7261e5b59afb32
React-microtasksnativemodule: 16e31e4f503a5f46adafd035096130418c3bce70
react-native-background-timer: 4638ae3bee00320753647900b21260b10587b6f7
- react-native-cameraroll: 5f180ef5e9b52b6c3c3a2645fa33a921d1e37a6c
+ react-native-cameraroll: 12a9c1cd6d10d32d438f45cc1a55348728062055
react-native-cookies: d648ab7025833b977c0b19e142503034f5f29411
react-native-document-picker: 530879d9e89b490f0954bcc4ab697c5b5e35d659
react-native-emm: afc895b726861262e1b7fecaccb1339492c0bbdc
- react-native-image-picker: 130fad649d07e4eec8faaed361d3bba570e1e5ff
+ react-native-image-picker: 86f8954a0b8c0f85d56fa1d85ae87936ae74e615
react-native-netinfo: cec9c4e86083cb5b6aba0e0711f563e2fbbff187
react-native-network-client: fdbd7f5f4c2818d6b90b4dcf9613d0a54ab41303
react-native-notifications: 3bafa1237ae8a47569a84801f17d80242fe9f6a5
react-native-paste-input: d33daa183942fa57f34dff2088805a60895f14d2
react-native-performance: 125a96c145e29918b55b45ce25cbba54f1e24dcd
- react-native-safe-area-context: 314537f8fca6fe2c06bd53fc8905efa9e6aaaf59
- react-native-video: cab619600c0d1283080c80298a2abe3a6a9157f3
- react-native-webrtc: 2261a482150195092246fe70b3aff976f2e11ec5
+ react-native-safe-area-context: fdb0a66feac038cb6eb1edafcf2ccee2b5cf0284
+ react-native-video: 11ad1501910486a22bd4f9acd623660df4a9c1a9
+ react-native-webrtc: 62659d18a13f6b50ad95c99a9a48cf9872a15815
React-nativeconfig: f7ab6c152e780b99a8c17448f2d99cf5f69a2311
React-NativeModulesApple: 9aeb901b9bfcc9235e912445fb3cf4780a99baf4
React-perflogger: 16e049953d21b37e9871ddf0b02f414e12ff14ba
@@ -2589,21 +2621,21 @@ SPEC CHECKSUMS:
ReactCommon: 5809a8ee421b7219221a475b78180f8f34b5c5ec
ReactNativeExceptionHandler: a23922ca00122b050ae9412f960061791c232c47
ReactNativeIncallManager: ef7b845e166f04cf8ddf433d8a23227b01cef87a
- ReactNativeNavigation: 7579af7ae4f79c58691c19a06630bd50172c8817
- RNCClipboard: dbcf25b8f666b4685c02eeb65be981d30198e505
- RNDateTimePicker: 818460dc31b0dc5ec58289003e27dd8d022fb79c
+ ReactNativeNavigation: 1be1769ba07b05f5f7065294d6001e84e6c3a2a0
+ RNCClipboard: e1d17c9d093d8129ef50b39b63a17a0e8ccd0ade
+ RNDateTimePicker: 29264364ea7b8cc0fb355b3843cf276a4ff78966
RNFileViewer: 4b5d83358214347e4ab2d4ca8d5c1c90d869e251
- RNFlashList: 3f19b05498275481fa67506db51057eee62fa54a
- RNGestureHandler: 5b24d10761754ad271b714e536c457fd89b17c54
- RNKeychain: bd09fc5dcf4e0c4166a5d4012beaf2e093fcd9f5
- RNLocalize: d024afa9204c13885e61dc88b8190651bcaabac9
- RNPermissions: 318634eacdb21addd8c709467035b2304d2963d3
+ RNFlashList: fad82b8b2d3ee447fcc4723d747f43b38710c4fc
+ RNGestureHandler: fc491c834d09b0538618a3f328ab75fe8f90f5b4
+ RNKeychain: 57c0b42f79950ba6bdca5277ab52a6b24dccd595
+ RNLocalize: 15463c4d79c7da45230064b4adcf5e9bb984667e
+ RNPermissions: 84ae3e68efdd6d4a5142c8969df11869bfb06fa8
RNReactNativeHapticFeedback: 00ba111b82aa266bb3ee1aa576831c2ea9a9dfad
- RNReanimated: 5d4ff4e212df81d3890e581446d8ab714a8dc2ba
- RNScreens: e21c8d32fe97737ecc30f1f21e7b6f69f341a1f5
+ RNReanimated: 17a1990801a6a324816dcc52a9a44dfb99d556b3
+ RNScreens: 0e8829648c78f4168f3e96cdc2e219213cb1907c
RNSentry: c5075bc124ebc8afa84e037c7fe257053a0b2cda
- RNShare: d40e9e8d071f845fff5072173ffb7a3bf3918c6d
- RNSVG: 3421710ac15f4f2dc47e5c122f2c2e4282116830
+ RNShare: 381ed02f6c0dc42b8c24bb5a1e5df0ee5fd91354
+ RNSVG: a07e14363aa208062c6483bad24a438d5986d490
RNVectorIcons: 182892e7d1a2f27b52d3c627eca5d2665a22ee28
SDWebImage: 8a6b7b160b4d710e2a22b6900e25301075c34cb3
SDWebImageSVGCoder: 15a300a97ec1c8ac958f009c02220ac0402e936c
@@ -2613,7 +2645,7 @@ SPEC CHECKSUMS:
Starscream: 19b5533ddb925208db698f0ac508a100b884a1b9
SwiftyJSON: f5b1bf1cd8dd53cd25887ac0eabcfd92301c6a5a
TurboLogIOSNative: 45f6d20ba17ee39f8106e718e93baf43b2d76b7b
- WatermelonDB: 438a8dd16910dfe622095c44b5d1dbe11cbba6ba
+ WatermelonDB: e9fe3df0dfccbb9d196d3e244b52b8761a267434
Yoga: fcc198acd4a55599b3468cfb6ebc526baff5f06e
PODFILE CHECKSUM: 0e437947a8e6696940c2efdfd7205ab54d67b7b8
diff --git a/libraries/@mattermost/hardware-keyboard/android/build.gradle b/libraries/@mattermost/hardware-keyboard/android/build.gradle
index 572408d10..eca9a02f0 100644
--- a/libraries/@mattermost/hardware-keyboard/android/build.gradle
+++ b/libraries/@mattermost/hardware-keyboard/android/build.gradle
@@ -6,7 +6,7 @@ buildscript {
google()
gradlePluginPortal()
}
- def kotlin_version = rootProject.ext.has('kotlinVersion') ? rootProject.ext.get('kotlinVersion') : "1.9.22"
+ def kotlin_version = rootProject.ext.has('kotlinVersion') ? rootProject.ext.get('kotlinVersion') : "1.9.24"
dependencies {
classpath("com.android.tools.build:gradle:7.3.1")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version")
diff --git a/libraries/@mattermost/hardware-keyboard/android/src/main/java/com/mattermost/hardware/keyboard/MattermostHardwareKeyboardPackage.kt b/libraries/@mattermost/hardware-keyboard/android/src/main/java/com/mattermost/hardware/keyboard/MattermostHardwareKeyboardPackage.kt
index d47bfcc0a..ecf6acbd1 100644
--- a/libraries/@mattermost/hardware-keyboard/android/src/main/java/com/mattermost/hardware/keyboard/MattermostHardwareKeyboardPackage.kt
+++ b/libraries/@mattermost/hardware-keyboard/android/src/main/java/com/mattermost/hardware/keyboard/MattermostHardwareKeyboardPackage.kt
@@ -20,10 +20,10 @@ class MattermostHardwareKeyboardPackage : TurboReactPackage() {
MattermostHardwareKeyboardImpl.NAME to ReactModuleInfo(
MattermostHardwareKeyboardImpl.NAME,
MattermostHardwareKeyboardImpl.NAME,
- false, // canOverrideExistingModule
- false, // needsEagerInit
- false, // isCxxModule
- BuildConfig.IS_NEW_ARCHITECTURE_ENABLED // isTurboModule
+ _canOverrideExistingModule = false,
+ _needsEagerInit = false,
+ isCxxModule = false,
+ isTurboModule = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
)
)
}
diff --git a/libraries/@mattermost/rnshare/android/build.gradle b/libraries/@mattermost/rnshare/android/build.gradle
index 0fa7cb9a4..aec19ed16 100644
--- a/libraries/@mattermost/rnshare/android/build.gradle
+++ b/libraries/@mattermost/rnshare/android/build.gradle
@@ -6,7 +6,7 @@ buildscript {
google()
gradlePluginPortal()
}
- def kotlin_version = rootProject.ext.has('kotlinVersion') ? rootProject.ext.get('kotlinVersion') : "1.9.22"
+ def kotlin_version = rootProject.ext.has('kotlinVersion') ? rootProject.ext.get('kotlinVersion') : "1.9.24"
dependencies {
classpath("com.android.tools.build:gradle:7.3.1")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version")
@@ -55,5 +55,5 @@ repositories {
dependencies {
implementation 'com.facebook.react:react-native'
- implementation 'androidx.work:work-runtime:2.8.1'
+ implementation 'androidx.work:work-runtime:2.10.0'
}
diff --git a/libraries/@mattermost/rnshare/android/src/main/java/com/mattermost/rnshare/MattermostSharePackage.kt b/libraries/@mattermost/rnshare/android/src/main/java/com/mattermost/rnshare/MattermostSharePackage.kt
index 807e8d6d1..d547ebb46 100644
--- a/libraries/@mattermost/rnshare/android/src/main/java/com/mattermost/rnshare/MattermostSharePackage.kt
+++ b/libraries/@mattermost/rnshare/android/src/main/java/com/mattermost/rnshare/MattermostSharePackage.kt
@@ -22,10 +22,10 @@ class MattermostSharePackage : TurboReactPackage() {
moduleInfos[MattermostShareImpl.NAME] = ReactModuleInfo(
MattermostShareImpl.NAME,
MattermostShareImpl.NAME,
- false, // canOverrideExistingModule
- false, // needsEagerInit
- false, // isCxxModule
- isTurboModule // isTurboModule
+ _canOverrideExistingModule = false,
+ _needsEagerInit = false,
+ isCxxModule = false,
+ isTurboModule = isTurboModule
)
moduleInfos
}
diff --git a/libraries/@mattermost/rnshare/android/src/main/java/com/mattermost/rnshare/ShareUtils.kt b/libraries/@mattermost/rnshare/android/src/main/java/com/mattermost/rnshare/ShareUtils.kt
index 4cfff49a6..8908a0b76 100644
--- a/libraries/@mattermost/rnshare/android/src/main/java/com/mattermost/rnshare/ShareUtils.kt
+++ b/libraries/@mattermost/rnshare/android/src/main/java/com/mattermost/rnshare/ShareUtils.kt
@@ -7,6 +7,7 @@ import android.graphics.BitmapFactory
import android.media.MediaMetadataRetriever
import android.net.Uri
import android.webkit.URLUtil
+import androidx.core.net.toUri
import com.facebook.react.bridge.Arguments
import com.facebook.react.bridge.ReadableMap
import com.facebook.react.bridge.WritableMap
@@ -95,7 +96,7 @@ object ShareUtils {
retriever.setDataSource(decodedPath.replace("file://", ""))
} else if (filePath.contains("content://")) {
- retriever.setDataSource(context, Uri.parse(filePath))
+ retriever.setDataSource(context, filePath.toUri())
}
val image = retriever.getFrameAtTime((time * 1000).toLong(), MediaMetadataRetriever.OPTION_CLOSEST_SYNC)
diff --git a/libraries/@mattermost/rnshare/android/src/main/java/com/mattermost/rnshare/ShareWorker.kt b/libraries/@mattermost/rnshare/android/src/main/java/com/mattermost/rnshare/ShareWorker.kt
index 6058e1c7d..9ac75160a 100644
--- a/libraries/@mattermost/rnshare/android/src/main/java/com/mattermost/rnshare/ShareWorker.kt
+++ b/libraries/@mattermost/rnshare/android/src/main/java/com/mattermost/rnshare/ShareWorker.kt
@@ -1,7 +1,8 @@
package com.mattermost.rnshare
-import android.content.pm.ServiceInfo
import android.content.Context
+import android.content.pm.ServiceInfo
+import android.os.Build
import android.util.Base64
import android.util.Log
import androidx.core.app.NotificationCompat
@@ -199,7 +200,11 @@ class ShareWorker(private val context: Context, workerParameters: WorkerParamete
.setSmallIcon(applicationContext.resources.getIdentifier("ic_notification", "mipmap", applicationContext.packageName))
.setOngoing(true)
.build()
- return ForegroundInfo(1, notification, ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC)
+ return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
+ ForegroundInfo(1, notification, ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC)
+ } else {
+ ForegroundInfo(1, notification)
+ }
}
}
diff --git a/libraries/@mattermost/rnutils/android/build.gradle b/libraries/@mattermost/rnutils/android/build.gradle
index d924db57a..390622ba9 100644
--- a/libraries/@mattermost/rnutils/android/build.gradle
+++ b/libraries/@mattermost/rnutils/android/build.gradle
@@ -6,7 +6,7 @@ buildscript {
google()
gradlePluginPortal()
}
- def kotlin_version = rootProject.ext.has('kotlinVersion') ? rootProject.ext.get('kotlinVersion') : "1.9.22"
+ def kotlin_version = rootProject.ext.has('kotlinVersion') ? rootProject.ext.get('kotlinVersion') : "1.9.24"
dependencies {
classpath("com.android.tools.build:gradle:7.3.1")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version")
@@ -55,9 +55,9 @@ repositories {
dependencies {
implementation 'com.facebook.react:react-native'
- implementation 'androidx.window:window:1.2.0'
- implementation 'androidx.window:window-core:1.2.0'
- implementation 'androidx.window:window-rxjava3:1.2.0'
+ implementation 'androidx.window:window:1.3.0'
+ implementation 'androidx.window:window-core:1.3.0'
+ implementation 'androidx.window:window-rxjava3:1.3.0'
implementation 'io.reactivex.rxjava3:rxjava:3.1.6'
implementation 'io.reactivex.rxjava3:rxandroid:3.0.2'
diff --git a/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/RNUtilsModuleImpl.kt b/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/RNUtilsModuleImpl.kt
index 250ec3c45..98a441cb3 100644
--- a/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/RNUtilsModuleImpl.kt
+++ b/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/RNUtilsModuleImpl.kt
@@ -1,10 +1,9 @@
package com.mattermost.rnutils
import android.app.Activity
-import android.net.Uri
import android.os.Build
import android.view.WindowManager
-import androidx.core.view.OnApplyWindowInsetsListener
+import androidx.core.net.toUri
import com.facebook.react.bridge.Arguments
import com.facebook.react.bridge.Promise
import com.facebook.react.bridge.ReactApplicationContext
@@ -16,7 +15,6 @@ import com.mattermost.rnutils.helpers.SaveDataTask
import com.mattermost.rnutils.helpers.SplitView
class RNUtilsModuleImpl(private val reactContext: ReactApplicationContext) {
- private var customInsetsListener: OnApplyWindowInsetsListener? = null
companion object {
const val NAME = "RNUtils"
@@ -56,7 +54,7 @@ class RNUtilsModuleImpl(private val reactContext: ReactApplicationContext) {
var result = ""
if (currentActivity != null) {
- val uri = Uri.parse(filePath)
+ val uri = filePath?.toUri()
val path: String? = RealPathUtil.getRealPathFromURI(reactContext, uri)
if (path != null) {
result = "file://$path"
@@ -93,7 +91,7 @@ class RNUtilsModuleImpl(private val reactContext: ReactApplicationContext) {
fun lockPortrait() {}
- fun deleteDatabaseDirectory(databaseName: String?, shouldRemoveDirectory: Boolean): WritableMap {
+ fun deleteDatabaseDirectory(): WritableMap {
val map = Arguments.createMap()
map.putNull("error")
map.putBoolean("success", true)
diff --git a/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/RNUtilsPackage.kt b/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/RNUtilsPackage.kt
index 7c8c0b650..34a8a8942 100644
--- a/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/RNUtilsPackage.kt
+++ b/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/RNUtilsPackage.kt
@@ -20,10 +20,10 @@ class RNUtilsPackage : TurboReactPackage() {
RNUtilsModuleImpl.NAME to ReactModuleInfo(
RNUtilsModuleImpl.NAME,
RNUtilsModuleImpl.NAME,
- false,
- false,
- false,
- BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
+ _canOverrideExistingModule = false,
+ _needsEagerInit = false,
+ isCxxModule = false,
+ isTurboModule = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
)
)
}
diff --git a/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/FoldableObserver.kt b/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/FoldableObserver.kt
index 9a65d905a..04ad4fe3b 100644
--- a/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/FoldableObserver.kt
+++ b/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/FoldableObserver.kt
@@ -55,7 +55,7 @@ class FoldableObserver(activity: Activity) {
disposable = observable.observeOn(AndroidSchedulers.mainThread())
.subscribe { layoutInfo ->
setIsDeviceFolded(layoutInfo)
- handleWindowLayoutInfo(layoutInfo)
+ handleWindowLayoutInfo()
SplitView.setDeviceFolded()
}
}
@@ -82,7 +82,7 @@ class FoldableObserver(activity: Activity) {
}
}
- private fun handleWindowLayoutInfo(windowLayoutInfo: WindowLayoutInfo) {
+ private fun handleWindowLayoutInfo() {
val bounds = getWindowSize()
if (bounds?.width() != windowBounds?.width()) {
@@ -111,7 +111,7 @@ class FoldableObserver(activity: Activity) {
}
fun getWindowDimensions(): Rect? {
- return this.windowBounds;
+ return this.windowBounds
}
fun isCompactView(): Boolean {
diff --git a/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/NotificationHelper.kt b/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/NotificationHelper.kt
index 05ab745fb..ecbc16f2d 100644
--- a/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/NotificationHelper.kt
+++ b/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/NotificationHelper.kt
@@ -8,6 +8,7 @@ import android.text.TextUtils
import androidx.core.app.NotificationManagerCompat
import org.json.JSONException
import org.json.JSONObject
+import androidx.core.content.edit
object NotificationHelper {
private const val PUSH_NOTIFICATIONS: String = "PUSH_NOTIFICATIONS"
@@ -33,10 +34,8 @@ object NotificationHelper {
}
if (version != storedVersion) {
- if (pSharedPref != null) {
- val editor = pSharedPref.edit()
- editor.putString(PREF_VERSION, version)
- editor.apply()
+ pSharedPref?.edit {
+ putString(PREF_VERSION, version)
}
val inputMap: Map = HashMap()
@@ -98,7 +97,7 @@ object NotificationHelper {
// Add the summary notification id as well
notificationsInGroup.put((notificationId + 1).toString(), true)
}
- notificationsInServer.put(groupId, notificationsInGroup)
+ groupId?.let { notificationsInServer.put(it, notificationsInGroup) }
notificationsPerServer[serverUrl] = notificationsInServer
saveMap(context, notificationsPerServer)
@@ -148,7 +147,7 @@ object NotificationHelper {
notificationsInServer.remove(groupId)
} else {
try {
- notificationsInServer.put(groupId, notificationsInGroup)
+ groupId?.let { notificationsInServer.put(it, notificationsInGroup) }
} catch (e: JSONException) {
e.printStackTrace()
}
@@ -295,10 +294,10 @@ object NotificationHelper {
try {
if (pSharedPref != null) {
val jsonString = pSharedPref.getString(NOTIFICATIONS_IN_GROUP, JSONObject().toString())
- val json = JSONObject(jsonString)
- val servers = json.keys()
+ val json = jsonString?.let { JSONObject(it) }
+ val servers = json?.keys()
- while (servers.hasNext()) {
+ while (servers?.hasNext() == true) {
val serverUrl = servers.next()
val notificationGroup = json.getJSONObject(serverUrl)
outputMap[serverUrl] = notificationGroup
diff --git a/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/RealPathUtil.kt b/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/RealPathUtil.kt
index 03031ee11..4e71b3fd8 100644
--- a/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/RealPathUtil.kt
+++ b/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/RealPathUtil.kt
@@ -67,7 +67,7 @@ object RealPathUtil {
contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI
}
}
- val selectionArgs = arrayOf(split[1])
+ val selectionArgs = arrayOf(split[1])
return contentUri?.let { getDataColumn(context, it, selectionArgs) }
}
}
@@ -94,7 +94,8 @@ object RealPathUtil {
val returnCursor = context.contentResolver.query(uri, null, null, null, null)
val nameIndex = returnCursor?.getColumnIndex(OpenableColumns.DISPLAY_NAME)
returnCursor?.moveToFirst()
- fileName = sanitizeFilename(nameIndex?.let { returnCursor?.getString(it) })
+ fileName = sanitizeFilename(nameIndex?.let { returnCursor.getString(it) })
+ returnCursor?.close()
} catch (e:Exception) {
// just continue to get the filename with the last segment of the path
}
@@ -126,18 +127,18 @@ object RealPathUtil {
private fun sanitizeFilename(filename: String?): String? {
if (filename == null) {
- return null;
+ return null
}
- val f = File(filename);
- return f.name;
+ val f = File(filename)
+ return f.name
}
private fun getDataColumn(context:Context, uri:Uri, selectionArgs:Array): String? {
var cursor: Cursor? = null
val column = "_data"
val selection = "_id=?"
- val projection = arrayOf(column)
+ val projection = arrayOf(column)
try
{
cursor = context.contentResolver.query(uri, projection, selection, selectionArgs, null)
@@ -185,7 +186,7 @@ object RealPathUtil {
}
}
- fun getMimeType(file: File): String? {
+ private fun getMimeType(file: File): String? {
val extension = getExtension(file.name)
if (extension?.length!! > 0) {
return MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension.substring(1))
diff --git a/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/SaveDataTask.kt b/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/SaveDataTask.kt
index 66861eb25..2750ca7e8 100644
--- a/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/SaveDataTask.kt
+++ b/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/SaveDataTask.kt
@@ -5,6 +5,7 @@ import android.content.Intent
import android.net.Uri
import android.webkit.MimeTypeMap
import androidx.core.content.FileProvider
+import androidx.core.net.toUri
import com.facebook.react.bridge.ActivityEventListener
import com.facebook.react.bridge.BaseActivityEventListener
import com.facebook.react.bridge.Promise
@@ -25,12 +26,14 @@ open class SaveDataTask(val reactContext: ReactApplicationContext) {
private val weakContext = WeakReference(reactContext.applicationContext)
private val myExecutor = Executors.newSingleThreadExecutor()
+ private lateinit var mActivityEventListener: ActivityEventListener
+
companion object {
const val SAVE_REQUEST: Int = 38641
}
init {
- var mActivityEventListener: ActivityEventListener = object : BaseActivityEventListener() {
+ mActivityEventListener = object : BaseActivityEventListener() {
override fun onActivityResult(activity: Activity, requestCode: Int, resultCode: Int, intent: Intent?) {
if (requestCode == SAVE_REQUEST) {
if (resultCode == Activity.RESULT_CANCELED) {
@@ -50,11 +53,13 @@ open class SaveDataTask(val reactContext: ReactApplicationContext) {
}
mPickerPromise = null
+ reactContext.removeActivityEventListener(mActivityEventListener)
}
}
}
- }
+ reactContext.addActivityEventListener(mActivityEventListener)
+ }
private fun save(fromFile: String, toFile: Uri) {
myExecutor.execute {
@@ -84,7 +89,7 @@ open class SaveDataTask(val reactContext: ReactApplicationContext) {
var filename = ""
if (filePath?.startsWith("content://") == true) {
- contentUri = Uri.parse(filePath)
+ contentUri = filePath.toUri()
} else {
val newFile = filePath?.let { File(it) }
filename = newFile?.name ?: ""
diff --git a/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/SplitView.kt b/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/SplitView.kt
index 317b9a4a9..cde5d5883 100644
--- a/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/SplitView.kt
+++ b/libraries/@mattermost/rnutils/android/src/main/java/com/mattermost/rnutils/helpers/SplitView.kt
@@ -41,7 +41,7 @@ class SplitView {
private fun getSplitViewResults(folded: Boolean): WritableMap? {
if (context?.currentActivity != null) {
val map = Arguments.createMap()
- var isSplitView = folded;
+ var isSplitView = folded
if (context?.currentActivity?.isInMultiWindowMode == true) {
isSplitView = FoldableObserver.getInstance()?.isCompactView() == true
}
diff --git a/libraries/@mattermost/rnutils/android/src/newarch/RNUtilsModule.kt b/libraries/@mattermost/rnutils/android/src/newarch/RNUtilsModule.kt
index 20f356269..b2744c6bc 100644
--- a/libraries/@mattermost/rnutils/android/src/newarch/RNUtilsModule.kt
+++ b/libraries/@mattermost/rnutils/android/src/newarch/RNUtilsModule.kt
@@ -41,7 +41,7 @@ class RNUtilsModule(val reactContext: ReactApplicationContext) : NativeRNUtilsSp
}
override fun deleteDatabaseDirectory(databaseName: String?, shouldRemoveDirectory: Boolean): WritableMap {
- return implementation.deleteDatabaseDirectory(databaseName, shouldRemoveDirectory)
+ return implementation.deleteDatabaseDirectory()
}
override fun renameDatabase(databaseName: String?, newDatabaseName: String?): WritableMap {
diff --git a/libraries/@mattermost/rnutils/android/src/oldarch/RNUtilsModule.kt b/libraries/@mattermost/rnutils/android/src/oldarch/RNUtilsModule.kt
index 08558b78e..1fe4ada42 100644
--- a/libraries/@mattermost/rnutils/android/src/oldarch/RNUtilsModule.kt
+++ b/libraries/@mattermost/rnutils/android/src/oldarch/RNUtilsModule.kt
@@ -66,7 +66,7 @@ class RNUtilsModule(context: ReactApplicationContext) :
@ReactMethod(isBlockingSynchronousMethod = true)
fun deleteDatabaseDirectory(databaseName: String?, shouldRemoveDirectory: Boolean): WritableMap {
- return implementation.deleteDatabaseDirectory(databaseName, shouldRemoveDirectory)
+ return implementation.deleteDatabaseDirectory()
}
@ReactMethod(isBlockingSynchronousMethod = true)
diff --git a/package-lock.json b/package-lock.json
index 6117e86a4..64edac1e3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,13 +10,13 @@
"hasInstallScript": true,
"license": "Apache 2.0",
"dependencies": {
- "@formatjs/intl-datetimeformat": "6.17.1",
- "@formatjs/intl-getcanonicallocales": "2.5.4",
- "@formatjs/intl-listformat": "7.7.8",
- "@formatjs/intl-locale": "4.2.8",
- "@formatjs/intl-numberformat": "8.15.1",
- "@formatjs/intl-pluralrules": "5.4.1",
- "@gorhom/bottom-sheet": "5.0.6",
+ "@formatjs/intl-datetimeformat": "6.17.4",
+ "@formatjs/intl-getcanonicallocales": "2.5.5",
+ "@formatjs/intl-listformat": "7.7.11",
+ "@formatjs/intl-locale": "4.2.11",
+ "@formatjs/intl-numberformat": "8.15.4",
+ "@formatjs/intl-pluralrules": "5.4.4",
+ "@gorhom/bottom-sheet": "5.1.2",
"@mattermost/calls": "github:mattermost/calls-common#030ff7c0a37ee9b0ccc5fae0b2ea9c0e1c08473f",
"@mattermost/compass-icons": "0.1.48",
"@mattermost/hardware-keyboard": "file:./libraries/@mattermost/hardware-keyboard",
@@ -26,22 +26,22 @@
"@mattermost/react-native-turbo-log": "0.6.0",
"@mattermost/rnshare": "file:./libraries/@mattermost/rnshare",
"@mattermost/rnutils": "file:./libraries/@mattermost/rnutils",
- "@msgpack/msgpack": "2.8.0",
- "@nozbe/watermelondb": "0.28.0-1",
- "@react-native-camera-roll/camera-roll": "7.9.0",
- "@react-native-clipboard/clipboard": "1.15.0",
+ "@msgpack/msgpack": "3.1.1",
+ "@nozbe/watermelondb": "0.28.0-2",
+ "@react-native-camera-roll/camera-roll": "7.10.0",
+ "@react-native-clipboard/clipboard": "1.16.2",
"@react-native-community/cli": "15.1.3",
"@react-native-community/cli-platform-android": "15.1.3",
"@react-native-community/cli-platform-ios": "15.1.3",
- "@react-native-community/datetimepicker": "8.2.0",
+ "@react-native-community/datetimepicker": "8.3.0",
"@react-native-community/netinfo": "11.4.1",
"@react-native-cookies/cookies": "6.2.1",
- "@react-navigation/bottom-tabs": "7.2.0",
- "@react-navigation/native": "7.0.14",
- "@react-navigation/stack": "7.1.0",
+ "@react-navigation/bottom-tabs": "7.3.2",
+ "@react-navigation/native": "7.0.18",
+ "@react-navigation/stack": "7.2.2",
"@rneui/base": "4.0.0-rc.8",
"@sentry/react-native": "6.4.0",
- "@shopify/flash-list": "1.7.3",
+ "@shopify/flash-list": "1.7.6",
"@stream-io/flat-list-mvcp": "0.10.3",
"@voximplant/react-native-foreground-service": "3.0.2",
"APNG4Android": "github:mattermost/APNG4Android#15a7e93d59542d18c1e562d49b3f4896dd1643a6",
@@ -51,69 +51,69 @@
"deep-equal": "2.2.3",
"deepmerge": "4.3.1",
"emoji-regex": "10.4.0",
- "expo": "52.0.19",
- "expo-application": "6.0.1",
- "expo-crypto": "14.0.1",
- "expo-device": "7.0.1",
- "expo-image": "2.0.4",
- "expo-linear-gradient": "14.0.1",
- "expo-store-review": "8.0.0",
- "expo-video-thumbnails": "9.0.2",
- "expo-web-browser": "14.0.1",
+ "expo": "52.0.40",
+ "expo-application": "6.0.2",
+ "expo-crypto": "14.0.2",
+ "expo-device": "7.0.2",
+ "expo-image": "2.0.6",
+ "expo-linear-gradient": "14.0.2",
+ "expo-store-review": "8.0.1",
+ "expo-video-thumbnails": "9.0.3",
+ "expo-web-browser": "14.0.2",
"fflate": "0.8.2",
- "fuse.js": "7.0.0",
- "html-entities": "2.5.2",
- "mime-db": "1.53.0",
- "moment-timezone": "0.5.46",
- "node-html-parser": "6.1.13",
+ "fuse.js": "7.1.0",
+ "html-entities": "2.5.3",
+ "mime-db": "1.54.0",
+ "moment-timezone": "0.5.48",
+ "node-html-parser": "7.0.1",
"path-to-regexp": "8.2.0",
"react": "18.3.1",
"react-freeze": "1.0.4",
- "react-intl": "7.0.4",
+ "react-intl": "7.1.8",
"react-native": "0.76.5",
"react-native-background-timer": "2.4.1",
"react-native-document-picker": "9.3.1",
"react-native-dotenv": "3.4.11",
"react-native-exception-handler": "2.10.10",
"react-native-file-viewer": "2.1.5",
- "react-native-gesture-handler": "2.21.2",
+ "react-native-gesture-handler": "2.24.0",
"react-native-haptic-feedback": "2.3.3",
- "react-native-image-picker": "7.2.3",
+ "react-native-image-picker": "8.2.0",
"react-native-incall-manager": "4.2.0",
"react-native-keyboard-aware-scroll-view": "0.9.5",
- "react-native-keychain": "9.2.2",
- "react-native-localize": "3.3.0",
+ "react-native-keychain": "10.0.0",
+ "react-native-localize": "3.4.1",
"react-native-math-view": "3.9.5",
- "react-native-navigation": "7.40.3",
+ "react-native-navigation": "7.44.0",
"react-native-notifications": "5.1.0",
"react-native-performance": "5.1.2",
- "react-native-permissions": "5.2.1",
- "react-native-reanimated": "3.16.5",
- "react-native-safe-area-context": "5.0.0",
- "react-native-screens": "4.3.0",
+ "react-native-permissions": "5.3.0",
+ "react-native-reanimated": "3.17.1",
+ "react-native-safe-area-context": "5.3.0",
+ "react-native-screens": "4.9.2",
"react-native-section-list-get-item-layout": "2.2.3",
"react-native-shadow-2": "7.1.1",
- "react-native-share": "12.0.3",
- "react-native-svg": "15.10.1",
+ "react-native-share": "12.0.9",
+ "react-native-svg": "15.11.2",
"react-native-url-polyfill": "2.0.0",
"react-native-vector-icons": "10.2.0",
- "react-native-video": "6.8.2",
+ "react-native-video": "6.11.0",
"react-native-walkthrough-tooltip": "1.6.0",
- "react-native-webrtc": "124.0.4",
+ "react-native-webrtc": "124.0.5",
"react-syntax-highlighter": "15.6.1",
- "semver": "7.6.3",
+ "semver": "7.7.1",
"tinycolor2": "1.6.0",
"url-parse": "1.5.10"
},
"devDependencies": {
"@babel/cli": "7.26.4",
- "@babel/core": "7.26.0",
- "@babel/eslint-parser": "7.25.9",
+ "@babel/core": "7.26.10",
+ "@babel/eslint-parser": "7.26.10",
"@babel/plugin-proposal-class-properties": "7.18.6",
"@babel/plugin-proposal-decorators": "7.25.9",
- "@babel/plugin-transform-flow-strip-types": "7.25.9",
- "@babel/plugin-transform-runtime": "7.25.9",
- "@babel/preset-env": "7.26.0",
+ "@babel/plugin-transform-flow-strip-types": "7.26.5",
+ "@babel/plugin-transform-runtime": "7.26.10",
+ "@babel/preset-env": "7.26.9",
"@babel/preset-typescript": "7.26.0",
"@babel/register": "7.25.9",
"@babel/runtime": "7.26.10",
@@ -121,53 +121,54 @@
"@react-native/eslint-config": "0.76.5",
"@react-native/metro-config": "0.76.5",
"@react-native/typescript-config": "0.76.5",
+ "@stylistic/eslint-plugin-ts": "4.2.0",
"@testing-library/react-hooks": "8.0.1",
- "@testing-library/react-native": "12.9.0",
+ "@testing-library/react-native": "13.2.0",
"@types/base-64": "1.0.2",
"@types/commonmark": "0.27.9",
"@types/commonmark-react-renderer": "4.3.4",
"@types/deep-equal": "1.0.4",
"@types/jest": "29.5.14",
- "@types/lodash": "4.17.13",
+ "@types/lodash": "4.17.16",
"@types/mime-db": "1.43.5",
"@types/pako": "2.0.3",
"@types/querystringify": "2.0.2",
"@types/react": "18.3.12",
"@types/react-native-background-timer": "2.0.2",
"@types/react-native-dotenv": "0.2.2",
- "@types/react-native-share": "6.0.0",
"@types/react-syntax-highlighter": "15.5.13",
"@types/semver": "7.5.8",
"@types/tinycolor2": "1.4.6",
"@types/tough-cookie": "4.0.5",
"@types/url-parse": "1.4.11",
"@types/uuid": "10.0.0",
- "@typescript-eslint/eslint-plugin": "7.14.1",
- "@typescript-eslint/parser": "7.14.1",
+ "@typescript-eslint/eslint-plugin": "8.27.0",
+ "@typescript-eslint/parser": "8.27.0",
"babel-jest": "29.7.0",
- "babel-loader": "9.2.1",
+ "babel-loader": "10.0.0",
"babel-plugin-module-resolver": "5.0.2",
- "eslint": "8.57.1",
+ "eslint": "9.23.0",
"eslint-plugin-header": "3.1.1",
"eslint-plugin-import": "2.31.0",
- "eslint-plugin-jest": "28.9.0",
- "eslint-plugin-react": "7.37.2",
- "eslint-plugin-react-hooks": "5.1.0",
+ "eslint-plugin-jest": "28.11.0",
+ "eslint-plugin-react": "7.37.4",
+ "eslint-plugin-react-hooks": "5.2.0",
"husky": "9.1.7",
"isomorphic-fetch": "3.0.0",
"jest": "29.7.0",
"jest-cli": "29.7.0",
- "jest-expo": "52.0.2",
+ "jest-expo": "52.0.6",
"jetifier": "2.0.0",
"mmjstool": "github:mattermost/mattermost-utilities#83b1b311972b8f5e750aae4019457a40abb5aa44",
- "nock": "13.5.6",
+ "nock": "14.0.1",
"patch-package": "8.0.0",
- "react-devtools-core": "6.0.1",
+ "react-devtools-core": "6.1.1",
+ "react-test-renderer": "18.3.1",
"timezones.json": "1.7.1",
- "tough-cookie": "5.0.0",
- "ts-jest": "29.2.5",
- "typescript": "5.7.2",
- "uuid": "11.0.3"
+ "tough-cookie": "5.1.2",
+ "ts-jest": "29.2.6",
+ "typescript": "5.8.2",
+ "uuid": "11.1.0"
},
"engines": {
"node": "^18.18.0 || ^20.0.0 || ^22.11.0",
@@ -193,9 +194,9 @@
"license": "Apache 2.0"
},
"node_modules/@0no-co/graphql.web": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/@0no-co/graphql.web/-/graphql.web-1.0.12.tgz",
- "integrity": "sha512-BTDjjsV/zSPy5fqItwm+KWUfh9CSe9tTtR6rCB72ddtkAxdcHbi4Ir4r/L1Et4lyxmL+i7Rb3m9sjLLi9tYrzA==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@0no-co/graphql.web/-/graphql.web-1.1.2.tgz",
+ "integrity": "sha512-N2NGsU5FLBhT8NZ+3l2YrzZSHITjNXNuDhC4iDiikv0IujaJ0Xc6xIxQZ/Ek3Cb+rgPjnLHYyJm11tInuJn+cw==",
"license": "MIT",
"peerDependencies": {
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
@@ -408,26 +409,30 @@
}
},
"node_modules/@babel/compat-data": {
- "version": "7.26.3",
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz",
+ "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.26.0",
+ "version": "7.26.10",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz",
+ "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==",
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.26.0",
- "@babel/generator": "^7.26.0",
- "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/code-frame": "^7.26.2",
+ "@babel/generator": "^7.26.10",
+ "@babel/helper-compilation-targets": "^7.26.5",
"@babel/helper-module-transforms": "^7.26.0",
- "@babel/helpers": "^7.26.0",
- "@babel/parser": "^7.26.0",
- "@babel/template": "^7.25.9",
- "@babel/traverse": "^7.25.9",
- "@babel/types": "^7.26.0",
+ "@babel/helpers": "^7.26.10",
+ "@babel/parser": "^7.26.10",
+ "@babel/template": "^7.26.9",
+ "@babel/traverse": "^7.26.10",
+ "@babel/types": "^7.26.10",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -450,7 +455,9 @@
}
},
"node_modules/@babel/eslint-parser": {
- "version": "7.25.9",
+ "version": "7.26.10",
+ "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.26.10.tgz",
+ "integrity": "sha512-QsfQZr4AiLpKqn7fz+j7SN+f43z2DZCgGyYbNJ2vJOqKfG4E6MZer1+jqGZqKJaxq/gdO2DC/nUu45+pOL5p2Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -475,11 +482,13 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.26.3",
+ "version": "7.26.10",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.10.tgz",
+ "integrity": "sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==",
"license": "MIT",
"dependencies": {
- "@babel/parser": "^7.26.3",
- "@babel/types": "^7.26.3",
+ "@babel/parser": "^7.26.10",
+ "@babel/types": "^7.26.10",
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.25",
"jsesc": "^3.0.2"
@@ -499,10 +508,12 @@
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.25.9",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz",
+ "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==",
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.25.9",
+ "@babel/compat-data": "^7.26.5",
"@babel/helper-validator-option": "^7.25.9",
"browserslist": "^4.24.0",
"lru-cache": "^5.1.1",
@@ -641,7 +652,9 @@
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.25.9",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz",
+ "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -1280,12 +1293,14 @@
}
},
"node_modules/@babel/plugin-transform-async-generator-functions": {
- "version": "7.25.9",
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz",
+ "integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==",
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.26.5",
"@babel/helper-remap-async-to-generator": "^7.25.9",
- "@babel/traverse": "^7.25.9"
+ "@babel/traverse": "^7.26.8"
},
"engines": {
"node": ">=6.9.0"
@@ -1310,10 +1325,12 @@
}
},
"node_modules/@babel/plugin-transform-block-scoped-functions": {
- "version": "7.25.9",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz",
+ "integrity": "sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==",
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.25.9"
+ "@babel/helper-plugin-utils": "^7.26.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1489,11 +1506,13 @@
}
},
"node_modules/@babel/plugin-transform-flow-strip-types": {
- "version": "7.25.9",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.26.5.tgz",
+ "integrity": "sha512-eGK26RsbIkYUns3Y8qKl362juDDYK+wEdPGHGrhzUl6CewZFo55VZ7hg+CyMFU4dd5QQakBN86nBMpRsFpRvbQ==",
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.25.9",
- "@babel/plugin-syntax-flow": "^7.25.9"
+ "@babel/helper-plugin-utils": "^7.26.5",
+ "@babel/plugin-syntax-flow": "^7.26.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1503,10 +1522,12 @@
}
},
"node_modules/@babel/plugin-transform-for-of": {
- "version": "7.25.9",
+ "version": "7.26.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz",
+ "integrity": "sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg==",
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.26.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.25.9"
},
"engines": {
@@ -1669,10 +1690,12 @@
}
},
"node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
- "version": "7.25.9",
+ "version": "7.26.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz",
+ "integrity": "sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==",
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.25.9"
+ "@babel/helper-plugin-utils": "^7.26.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1936,13 +1959,15 @@
}
},
"node_modules/@babel/plugin-transform-runtime": {
- "version": "7.25.9",
+ "version": "7.26.10",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.26.10.tgz",
+ "integrity": "sha512-NWaL2qG6HRpONTnj4JvDU6th4jYeZOJgu3QhmFTCihib0ermtOJqktA5BduGm3suhhVe9EMP9c9+mfJ/I9slqw==",
"license": "MIT",
"dependencies": {
"@babel/helper-module-imports": "^7.25.9",
- "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.26.5",
"babel-plugin-polyfill-corejs2": "^0.4.10",
- "babel-plugin-polyfill-corejs3": "^0.10.6",
+ "babel-plugin-polyfill-corejs3": "^0.11.0",
"babel-plugin-polyfill-regenerator": "^0.6.1",
"semver": "^6.3.1"
},
@@ -2001,10 +2026,12 @@
}
},
"node_modules/@babel/plugin-transform-template-literals": {
- "version": "7.25.9",
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz",
+ "integrity": "sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q==",
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.25.9"
+ "@babel/helper-plugin-utils": "^7.26.5"
},
"engines": {
"node": ">=6.9.0"
@@ -2014,10 +2041,12 @@
}
},
"node_modules/@babel/plugin-transform-typeof-symbol": {
- "version": "7.25.9",
+ "version": "7.26.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.26.7.tgz",
+ "integrity": "sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw==",
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.25.9"
+ "@babel/helper-plugin-utils": "^7.26.5"
},
"engines": {
"node": ">=6.9.0"
@@ -2112,12 +2141,14 @@
}
},
"node_modules/@babel/preset-env": {
- "version": "7.26.0",
+ "version": "7.26.9",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.9.tgz",
+ "integrity": "sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==",
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.26.0",
- "@babel/helper-compilation-targets": "^7.25.9",
- "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/compat-data": "^7.26.8",
+ "@babel/helper-compilation-targets": "^7.26.5",
+ "@babel/helper-plugin-utils": "^7.26.5",
"@babel/helper-validator-option": "^7.25.9",
"@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9",
"@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9",
@@ -2129,9 +2160,9 @@
"@babel/plugin-syntax-import-attributes": "^7.26.0",
"@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
"@babel/plugin-transform-arrow-functions": "^7.25.9",
- "@babel/plugin-transform-async-generator-functions": "^7.25.9",
+ "@babel/plugin-transform-async-generator-functions": "^7.26.8",
"@babel/plugin-transform-async-to-generator": "^7.25.9",
- "@babel/plugin-transform-block-scoped-functions": "^7.25.9",
+ "@babel/plugin-transform-block-scoped-functions": "^7.26.5",
"@babel/plugin-transform-block-scoping": "^7.25.9",
"@babel/plugin-transform-class-properties": "^7.25.9",
"@babel/plugin-transform-class-static-block": "^7.26.0",
@@ -2142,21 +2173,21 @@
"@babel/plugin-transform-duplicate-keys": "^7.25.9",
"@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9",
"@babel/plugin-transform-dynamic-import": "^7.25.9",
- "@babel/plugin-transform-exponentiation-operator": "^7.25.9",
+ "@babel/plugin-transform-exponentiation-operator": "^7.26.3",
"@babel/plugin-transform-export-namespace-from": "^7.25.9",
- "@babel/plugin-transform-for-of": "^7.25.9",
+ "@babel/plugin-transform-for-of": "^7.26.9",
"@babel/plugin-transform-function-name": "^7.25.9",
"@babel/plugin-transform-json-strings": "^7.25.9",
"@babel/plugin-transform-literals": "^7.25.9",
"@babel/plugin-transform-logical-assignment-operators": "^7.25.9",
"@babel/plugin-transform-member-expression-literals": "^7.25.9",
"@babel/plugin-transform-modules-amd": "^7.25.9",
- "@babel/plugin-transform-modules-commonjs": "^7.25.9",
+ "@babel/plugin-transform-modules-commonjs": "^7.26.3",
"@babel/plugin-transform-modules-systemjs": "^7.25.9",
"@babel/plugin-transform-modules-umd": "^7.25.9",
"@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9",
"@babel/plugin-transform-new-target": "^7.25.9",
- "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.9",
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.26.6",
"@babel/plugin-transform-numeric-separator": "^7.25.9",
"@babel/plugin-transform-object-rest-spread": "^7.25.9",
"@babel/plugin-transform-object-super": "^7.25.9",
@@ -2172,17 +2203,17 @@
"@babel/plugin-transform-shorthand-properties": "^7.25.9",
"@babel/plugin-transform-spread": "^7.25.9",
"@babel/plugin-transform-sticky-regex": "^7.25.9",
- "@babel/plugin-transform-template-literals": "^7.25.9",
- "@babel/plugin-transform-typeof-symbol": "^7.25.9",
+ "@babel/plugin-transform-template-literals": "^7.26.8",
+ "@babel/plugin-transform-typeof-symbol": "^7.26.7",
"@babel/plugin-transform-unicode-escapes": "^7.25.9",
"@babel/plugin-transform-unicode-property-regex": "^7.25.9",
"@babel/plugin-transform-unicode-regex": "^7.25.9",
"@babel/plugin-transform-unicode-sets-regex": "^7.25.9",
"@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-corejs3": "^0.11.0",
"babel-plugin-polyfill-regenerator": "^0.6.1",
- "core-js-compat": "^3.38.1",
+ "core-js-compat": "^3.40.0",
"semver": "^6.3.1"
},
"engines": {
@@ -2293,7 +2324,9 @@
}
},
"node_modules/@babel/runtime-corejs3": {
- "version": "7.24.4",
+ "version": "7.26.10",
+ "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.26.10.tgz",
+ "integrity": "sha512-uITFQYO68pMEYR46AHgQoyBg7KPPJDAbGn4jUTIRgCFJIp88MIBUianVOplhZDEec07bp9zIyr4Kp0FCyQzmWg==",
"license": "MIT",
"dependencies": {
"core-js-pure": "^3.30.2",
@@ -2318,14 +2351,16 @@
}
},
"node_modules/@babel/traverse": {
- "version": "7.26.4",
+ "version": "7.26.10",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.10.tgz",
+ "integrity": "sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A==",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.26.2",
- "@babel/generator": "^7.26.3",
- "@babel/parser": "^7.26.3",
- "@babel/template": "^7.25.9",
- "@babel/types": "^7.26.3",
+ "@babel/generator": "^7.26.10",
+ "@babel/parser": "^7.26.10",
+ "@babel/template": "^7.26.9",
+ "@babel/types": "^7.26.10",
"debug": "^4.3.1",
"globals": "^11.1.0"
},
@@ -2419,17 +2454,79 @@
"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
}
},
+ "node_modules/@eslint/config-array": {
+ "version": "0.19.2",
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz",
+ "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@eslint/object-schema": "^2.1.6",
+ "debug": "^4.3.1",
+ "minimatch": "^3.1.2"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/config-array/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/@eslint/config-array/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/@eslint/config-helpers": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.0.tgz",
+ "integrity": "sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/core": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz",
+ "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@types/json-schema": "^7.0.15"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
"node_modules/@eslint/eslintrc": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
- "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
+ "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
- "espree": "^9.6.0",
- "globals": "^13.19.0",
+ "espree": "^10.0.1",
+ "globals": "^14.0.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
"js-yaml": "^4.1.0",
@@ -2437,29 +2534,12 @@
"strip-json-comments": "^3.1.1"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
- "node_modules/@eslint/eslintrc/node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
"node_modules/@eslint/eslintrc/node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -2479,16 +2559,13 @@
}
},
"node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "13.24.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
- "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+ "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "type-fest": "^0.20.2"
- },
"engines": {
- "node": ">=8"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -2507,13 +2584,6 @@
"js-yaml": "bin/js-yaml.js"
}
},
- "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@eslint/eslintrc/node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
@@ -2527,27 +2597,38 @@
"node": "*"
}
},
- "node_modules/@eslint/eslintrc/node_modules/type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@eslint/js": {
- "version": "8.57.1",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
- "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
+ "version": "9.23.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.23.0.tgz",
+ "integrity": "sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==",
"dev": true,
"license": "MIT",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/object-schema": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz",
+ "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/plugin-kit": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz",
+ "integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@eslint/core": "^0.12.0",
+ "levn": "^0.4.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
"node_modules/@expo/bunyan": {
@@ -2572,29 +2653,30 @@
}
},
"node_modules/@expo/cli": {
- "version": "0.22.6",
- "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.22.6.tgz",
- "integrity": "sha512-eDjCnc3uHl2+SJ6aZ5seK0FkMp0W12oAdSI4A/yV8ecYtXzG8X87sfKAISEWt44B4DqJ0a1LEqCD6Vtvc783Mg==",
+ "version": "0.22.21",
+ "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.22.21.tgz",
+ "integrity": "sha512-lLtH0CiNTwB+qgduew61Jocgj0B092QiQllBuPXigHI4VQms5VXYXHfQC2pMZ7KWFKhNjBIjLSD8A2n1dBMb1Q==",
"license": "MIT",
"dependencies": {
"@0no-co/graphql.web": "^1.0.8",
"@babel/runtime": "^7.20.0",
"@expo/code-signing-certificates": "^0.0.5",
- "@expo/config": "~10.0.4",
- "@expo/config-plugins": "~9.0.10",
+ "@expo/config": "~10.0.11",
+ "@expo/config-plugins": "~9.0.17",
"@expo/devcert": "^1.1.2",
- "@expo/env": "~0.4.0",
- "@expo/image-utils": "^0.6.0",
- "@expo/json-file": "^9.0.0",
- "@expo/metro-config": "~0.19.8",
- "@expo/osascript": "^2.0.31",
- "@expo/package-manager": "^1.5.0",
- "@expo/plist": "^0.2.0",
- "@expo/prebuild-config": "^8.0.23",
+ "@expo/env": "~0.4.2",
+ "@expo/image-utils": "^0.6.5",
+ "@expo/json-file": "^9.0.2",
+ "@expo/metro-config": "~0.19.12",
+ "@expo/osascript": "^2.1.6",
+ "@expo/package-manager": "^1.7.2",
+ "@expo/plist": "^0.2.2",
+ "@expo/prebuild-config": "^8.0.29",
"@expo/rudder-sdk-node": "^1.1.1",
"@expo/spawn-async": "^1.7.2",
+ "@expo/ws-tunnel": "^1.0.1",
"@expo/xcpretty": "^4.3.0",
- "@react-native/dev-middleware": "0.76.5",
+ "@react-native/dev-middleware": "0.76.7",
"@urql/core": "^5.0.6",
"@urql/exchange-retry": "^1.3.0",
"accepts": "^1.3.8",
@@ -2633,7 +2715,7 @@
"requireg": "^0.2.2",
"resolve": "^1.22.2",
"resolve-from": "^5.0.0",
- "resolve.exports": "^2.0.2",
+ "resolve.exports": "^2.0.3",
"semver": "^7.6.0",
"send": "^0.19.0",
"slugify": "^1.3.4",
@@ -2653,6 +2735,56 @@
"expo-internal": "build/bin/cli"
}
},
+ "node_modules/@expo/cli/node_modules/@react-native/debugger-frontend": {
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.76.7.tgz",
+ "integrity": "sha512-89ZtZXt7ZxE94i7T94qzZMhp4Gfcpr/QVpGqEaejAxZD+gvDCH21cYSF+/Rz2ttBazm0rk5MZ0mFqb0Iqp1jmw==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@expo/cli/node_modules/@react-native/dev-middleware": {
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.76.7.tgz",
+ "integrity": "sha512-Jsw8g9DyLPnR9yHEGuT09yHZ7M88/GL9CtU9WmyChlBwdXSeE3AmRqLegsV3XcgULQ1fqdemokaOZ/MwLYkjdA==",
+ "license": "MIT",
+ "dependencies": {
+ "@isaacs/ttlcache": "^1.4.1",
+ "@react-native/debugger-frontend": "0.76.7",
+ "chrome-launcher": "^0.15.2",
+ "chromium-edge-launcher": "^0.2.0",
+ "connect": "^3.6.5",
+ "debug": "^2.2.0",
+ "invariant": "^2.2.4",
+ "nullthrows": "^1.1.1",
+ "open": "^7.0.3",
+ "selfsigned": "^2.4.1",
+ "serve-static": "^1.13.1",
+ "ws": "^6.2.3"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@expo/cli/node_modules/@react-native/dev-middleware/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/@expo/cli/node_modules/@react-native/dev-middleware/node_modules/ws": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz",
+ "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==",
+ "license": "MIT",
+ "dependencies": {
+ "async-limiter": "~1.0.0"
+ }
+ },
"node_modules/@expo/cli/node_modules/ansi-regex": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
@@ -2662,6 +2794,20 @@
"node": ">=6"
}
},
+ "node_modules/@expo/cli/node_modules/chromium-edge-launcher": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-0.2.0.tgz",
+ "integrity": "sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@types/node": "*",
+ "escape-string-regexp": "^4.0.0",
+ "is-wsl": "^2.2.0",
+ "lighthouse-logger": "^1.0.0",
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2"
+ }
+ },
"node_modules/@expo/cli/node_modules/cli-cursor": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
@@ -2674,24 +2820,16 @@
"node": ">=4"
}
},
- "node_modules/@expo/cli/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
- },
"node_modules/@expo/cli/node_modules/form-data": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.2.tgz",
- "integrity": "sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.3.tgz",
+ "integrity": "sha512-q5YBMeWy6E2Un0nMGWMgI65MAKtaylxfNJGJxpGh45YDciZB4epbWpaAfImil6CPAPTYB4sh0URQNDRIZG5F2w==",
"license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
+ "es-set-tostringtag": "^2.1.0",
+ "mime-types": "^2.1.35"
},
"engines": {
"node": ">= 6"
@@ -2767,6 +2905,15 @@
"node": ">=4"
}
},
+ "node_modules/@expo/cli/node_modules/log-symbols/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
"node_modules/@expo/cli/node_modules/mimic-fn": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
@@ -2807,6 +2954,24 @@
"node": ">=16 || 14 >=14.17"
}
},
+ "node_modules/@expo/cli/node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "license": "MIT",
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@expo/cli/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "license": "MIT"
+ },
"node_modules/@expo/cli/node_modules/onetime": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
@@ -2850,6 +3015,15 @@
"node": ">=4"
}
},
+ "node_modules/@expo/cli/node_modules/ora/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
"node_modules/@expo/cli/node_modules/picomatch": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz",
@@ -2900,9 +3074,9 @@
}
},
"node_modules/@expo/cli/node_modules/ws": {
- "version": "8.18.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
- "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
+ "version": "8.18.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz",
+ "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==",
"license": "MIT",
"engines": {
"node": ">=10.0.0"
@@ -2931,15 +3105,15 @@
}
},
"node_modules/@expo/config": {
- "version": "10.0.6",
- "resolved": "https://registry.npmjs.org/@expo/config/-/config-10.0.6.tgz",
- "integrity": "sha512-xXkfPElrtxznkOZxFASJ7OPa6E9IHSjcZwj5BQ6XUF2dz5M7AFa2h5sXM8AalSaDU5tEBSgoUOjTh5957TlR8g==",
+ "version": "10.0.11",
+ "resolved": "https://registry.npmjs.org/@expo/config/-/config-10.0.11.tgz",
+ "integrity": "sha512-nociJ4zr/NmbVfMNe9j/+zRlt7wz/siISu7PjdWE4WE+elEGxWWxsGzltdJG0llzrM+khx8qUiFK5aiVcdMBww==",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "~7.10.4",
- "@expo/config-plugins": "~9.0.10",
- "@expo/config-types": "^52.0.0",
- "@expo/json-file": "^9.0.0",
+ "@expo/config-plugins": "~9.0.17",
+ "@expo/config-types": "^52.0.5",
+ "@expo/json-file": "^9.0.2",
"deepmerge": "^4.3.1",
"getenv": "^1.0.0",
"glob": "^10.4.2",
@@ -2952,14 +3126,14 @@
}
},
"node_modules/@expo/config-plugins": {
- "version": "9.0.12",
- "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-9.0.12.tgz",
- "integrity": "sha512-/Ko/NM+GzvJyRkq8PITm8ms0KY5v0wmN1OQFYRMkcJqOi3PjlhndW+G6bHpJI9mkQXBaUnHwAiGLqIC3+MQ5Wg==",
+ "version": "9.0.17",
+ "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-9.0.17.tgz",
+ "integrity": "sha512-m24F1COquwOm7PBl5wRbkT9P9DviCXe0D7S7nQsolfbhdCWuvMkfXeoWmgjtdhy7sDlOyIgBrAdnB6MfsWKqIg==",
"license": "MIT",
"dependencies": {
- "@expo/config-types": "^52.0.0",
- "@expo/json-file": "~9.0.0",
- "@expo/plist": "^0.2.0",
+ "@expo/config-types": "^52.0.5",
+ "@expo/json-file": "~9.0.2",
+ "@expo/plist": "^0.2.2",
"@expo/sdk-runtime-versions": "^1.0.0",
"chalk": "^4.1.2",
"debug": "^4.3.5",
@@ -3035,9 +3209,9 @@
}
},
"node_modules/@expo/config-types": {
- "version": "52.0.1",
- "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-52.0.1.tgz",
- "integrity": "sha512-vD8ZetyKV7U29lR6+NJohYeoLYTH+eNYXJeNiSOrWCz0witJYY11meMmEnpEaVbN89EfC6uauSUOa6wihtbyPQ==",
+ "version": "52.0.5",
+ "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-52.0.5.tgz",
+ "integrity": "sha512-AMDeuDLHXXqd8W+0zSjIt7f37vUd/BP8p43k68NHpyAvQO+z8mbQZm3cNQVAMySeayK2XoPigAFB1JF2NFajaA==",
"license": "MIT"
},
"node_modules/@expo/config/node_modules/@babel/code-frame": {
@@ -3144,9 +3318,9 @@
"license": "MIT"
},
"node_modules/@expo/env": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/@expo/env/-/env-0.4.0.tgz",
- "integrity": "sha512-g2JYFqck3xKIwJyK+8LxZ2ENZPWtRgjFWpeht9abnKgzXVXBeSNECFBkg+WQjQocSIdxXhEWM6hz4ZAe7Tc4ng==",
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/@expo/env/-/env-0.4.2.tgz",
+ "integrity": "sha512-TgbCgvSk0Kq0e2fLoqHwEBL4M0ztFjnBEz0YCDm5boc1nvkV1VMuIMteVdeBwnTh8Z0oPJTwHCD49vhMEt1I6A==",
"license": "MIT",
"dependencies": {
"chalk": "^4.0.0",
@@ -3157,9 +3331,9 @@
}
},
"node_modules/@expo/fingerprint": {
- "version": "0.11.4",
- "resolved": "https://registry.npmjs.org/@expo/fingerprint/-/fingerprint-0.11.4.tgz",
- "integrity": "sha512-FfcvHjrWjOJ17wiMfr1iQ1YDyjlj8qfxG+GDce0khrjNSkzRjVdCOIFsMvfVSBPnOPX5NuZlgMRvMkcPUtGClA==",
+ "version": "0.11.11",
+ "resolved": "https://registry.npmjs.org/@expo/fingerprint/-/fingerprint-0.11.11.tgz",
+ "integrity": "sha512-gNyn1KnAOpEa8gSNsYqXMTcq0fSwqU/vit6fP5863vLSKxHm/dNt/gm/uZJxrRZxKq71KUJWF6I7d3z8qIfq5g==",
"license": "MIT",
"dependencies": {
"@expo/spawn-async": "^1.7.2",
@@ -3246,9 +3420,9 @@
}
},
"node_modules/@expo/image-utils": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.6.3.tgz",
- "integrity": "sha512-v/JbCKBrHeudxn1gN1TgfPE/pWJSlLPrl29uXJBgrJFQVkViQvUHQNDhaS+UEa9wYI5HHh7XYmtzAehyG4L+GA==",
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.6.5.tgz",
+ "integrity": "sha512-RsS/1CwJYzccvlprYktD42KjyfWZECH6PPIEowvoSmXfGLfdViwcUEI4RvBfKX5Jli6P67H+6YmHvPTbGOboew==",
"license": "MIT",
"dependencies": {
"@expo/spawn-async": "^1.7.2",
@@ -3288,9 +3462,9 @@
}
},
"node_modules/@expo/json-file": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-9.0.0.tgz",
- "integrity": "sha512-M+55xFVrFzDcgMDf+52lPDLjKB5xwRfStWlv/b/Vu2OLgxGZLWpxoPYjlRoHqxjPbCQIi2ZCbobK+0KuNhsELg==",
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-9.0.2.tgz",
+ "integrity": "sha512-yAznIUrybOIWp3Uax7yRflB0xsEpvIwIEqIjao9SGi2Gaa+N0OamWfe0fnXBSWF+2zzF4VvqwT4W5zwelchfgw==",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "~7.10.4",
@@ -3319,18 +3493,18 @@
}
},
"node_modules/@expo/metro-config": {
- "version": "0.19.8",
- "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.19.8.tgz",
- "integrity": "sha512-dVAOetouQYuOTEJ2zR0OTLNPOH6zPkeEt5fY53TK0Wxi1QmtsmH6vEWg05U4zkSJ6f1aXmQ0Za77R8QxuukESA==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.19.12.tgz",
+ "integrity": "sha512-fhT3x1ikQWHpZgw7VrEghBdscFPz1laRYa8WcVRB18nTTqorF6S8qPYslkJu1faEziHZS7c2uyDzTYnrg/CKbg==",
"license": "MIT",
"dependencies": {
"@babel/core": "^7.20.0",
"@babel/generator": "^7.20.5",
"@babel/parser": "^7.20.0",
"@babel/types": "^7.20.0",
- "@expo/config": "~10.0.4",
- "@expo/env": "~0.4.0",
- "@expo/json-file": "~9.0.0",
+ "@expo/config": "~10.0.11",
+ "@expo/env": "~0.4.2",
+ "@expo/json-file": "~9.0.2",
"@expo/spawn-async": "^1.7.2",
"chalk": "^4.1.0",
"debug": "^4.3.2",
@@ -3426,9 +3600,9 @@
}
},
"node_modules/@expo/osascript": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.1.4.tgz",
- "integrity": "sha512-LcPjxJ5FOFpqPORm+5MRLV0CuYWMthJYV6eerF+lQVXKlvgSn3EOqaHC3Vf3H+vmB0f6G4kdvvFtg40vG4bIhA==",
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.1.6.tgz",
+ "integrity": "sha512-SbMp4BUwDAKiFF4zZEJf32rRYMeNnLK9u4FaPo0lQRer60F+SKd20NTSys0wgssiVeQyQz2OhGLRx3cxYowAGw==",
"license": "MIT",
"dependencies": {
"@expo/spawn-async": "^1.7.2",
@@ -3439,12 +3613,12 @@
}
},
"node_modules/@expo/package-manager": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.6.1.tgz",
- "integrity": "sha512-4rT46wP/94Ll+CWXtFKok1Lbo9XncSUtErFOo/9/3FVughGbIfdG4SKZOAWIpr9wxwEfkyhHfAP9q71ONlWODw==",
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.7.2.tgz",
+ "integrity": "sha512-wT/qh9ebNjl6xr00bYkSh93b6E/78J3JPlT6WzGbxbsnv5FIZKB/nr522oWqVe1E+ML7BpXs8WugErWDN9kOFg==",
"license": "MIT",
"dependencies": {
- "@expo/json-file": "^9.0.0",
+ "@expo/json-file": "^9.0.2",
"@expo/spawn-async": "^1.7.2",
"ansi-regex": "^5.0.0",
"chalk": "^4.0.0",
@@ -3659,9 +3833,9 @@
}
},
"node_modules/@expo/plist": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.2.0.tgz",
- "integrity": "sha512-F/IZJQaf8OIVnVA6XWUeMPC3OH6MV00Wxf0WC0JhTQht2QgjyHUa3U5Gs3vRtDq8tXNsZneOQRDVwpaOnd4zTQ==",
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.2.2.tgz",
+ "integrity": "sha512-ZZGvTO6vEWq02UAPs3LIdja+HRO18+LRI5QuDl6Hs3Ps7KX7xU6Y6kjahWKY37Rx2YjNpX07dGpBFzzC+vKa2g==",
"license": "MIT",
"dependencies": {
"@xmldom/xmldom": "~0.7.7",
@@ -3670,17 +3844,17 @@
}
},
"node_modules/@expo/prebuild-config": {
- "version": "8.0.23",
- "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-8.0.23.tgz",
- "integrity": "sha512-Zf01kFiN2PISmLb0DhIAJh76v3J2oYUKSjiAtGZLOH0HUz59by/qdyU4mGHWdeyRdCCrLUA21Rct2MBykvRMsg==",
+ "version": "8.0.29",
+ "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-8.0.29.tgz",
+ "integrity": "sha512-CoZBxUQLZpGwbnPREr2sFnObOn4j+Mp7AHxX6Rz5jhSSz2VifC1jMM4NFiXrZe6LZyjYNqBGRe3D8bAqdpVGkg==",
"license": "MIT",
"dependencies": {
- "@expo/config": "~10.0.4",
- "@expo/config-plugins": "~9.0.10",
- "@expo/config-types": "^52.0.0",
- "@expo/image-utils": "^0.6.0",
- "@expo/json-file": "^9.0.0",
- "@react-native/normalize-colors": "0.76.5",
+ "@expo/config": "~10.0.11",
+ "@expo/config-plugins": "~9.0.17",
+ "@expo/config-types": "^52.0.5",
+ "@expo/image-utils": "^0.6.5",
+ "@expo/json-file": "^9.0.2",
+ "@react-native/normalize-colors": "0.76.7",
"debug": "^4.3.1",
"fs-extra": "^9.0.0",
"resolve-from": "^5.0.0",
@@ -3688,6 +3862,12 @@
"xml2js": "0.6.0"
}
},
+ "node_modules/@expo/prebuild-config/node_modules/@react-native/normalize-colors": {
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.76.7.tgz",
+ "integrity": "sha512-ST1xxBuYVIXPdD81dR6+tzIgso7m3pa9+6rOBXTh5Xm7KEEFik7tnQX+GydXYMp3wr1gagJjragdXkPnxK6WNg==",
+ "license": "MIT"
+ },
"node_modules/@expo/prebuild-config/node_modules/fs-extra": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
@@ -3755,6 +3935,12 @@
"prop-types": "^15.8.1"
}
},
+ "node_modules/@expo/ws-tunnel": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@expo/ws-tunnel/-/ws-tunnel-1.0.6.tgz",
+ "integrity": "sha512-nDRbLmSrJar7abvUjp3smDwH8HcbZcoOEa5jVPUv9/9CajgmWw20JNRwTuBRzWIWIkEJDkz20GoNA+tSwUqk0Q==",
+ "license": "MIT"
+ },
"node_modules/@expo/xcpretty": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.3.2.tgz",
@@ -3844,61 +4030,61 @@
}
},
"node_modules/@formatjs/ecma402-abstract": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.1.tgz",
- "integrity": "sha512-Ip9uV+/MpLXWRk03U/GzeJMuPeOXpJBSB5V1tjA6kJhvqssye5J5LoYLc7Z5IAHb7nR62sRoguzrFiVCP/hnzw==",
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.4.tgz",
+ "integrity": "sha512-qrycXDeaORzIqNhBOx0btnhpD1c+/qFIHAN9znofuMJX6QBwtbrmlpWfD4oiUUD2vJUOIYFA/gYtg2KAMGG7sA==",
"license": "MIT",
"dependencies": {
- "@formatjs/fast-memoize": "2.2.5",
- "@formatjs/intl-localematcher": "0.5.9",
- "decimal.js": "10",
- "tslib": "2"
+ "@formatjs/fast-memoize": "2.2.7",
+ "@formatjs/intl-localematcher": "0.6.1",
+ "decimal.js": "^10.4.3",
+ "tslib": "^2.8.0"
}
},
"node_modules/@formatjs/fast-memoize": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.5.tgz",
- "integrity": "sha512-6PoewUMrrcqxSoBXAOJDiW1m+AmkrAj0RiXnOMD59GRaswjXhm3MDhgepXPBgonc09oSirAJTsAggzAGQf6A6g==",
+ "version": "2.2.7",
+ "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.7.tgz",
+ "integrity": "sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==",
"license": "MIT",
"dependencies": {
- "tslib": "2"
+ "tslib": "^2.8.0"
}
},
"node_modules/@formatjs/icu-messageformat-parser": {
- "version": "2.9.7",
- "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.9.7.tgz",
- "integrity": "sha512-cuEHyRM5VqLQobANOjtjlgU7+qmk9Q3fDQuBiRRJ3+Wp3ZoZhpUPtUfuimZXsir6SaI2TaAJ+SLo9vLnV5QcbA==",
+ "version": "2.11.2",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.2.tgz",
+ "integrity": "sha512-AfiMi5NOSo2TQImsYAg8UYddsNJ/vUEv/HaNqiFjnI3ZFfWihUtD5QtuX6kHl8+H+d3qvnE/3HZrfzgdWpsLNA==",
"license": "MIT",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "@formatjs/icu-skeleton-parser": "1.8.11",
- "tslib": "2"
+ "@formatjs/ecma402-abstract": "2.3.4",
+ "@formatjs/icu-skeleton-parser": "1.8.14",
+ "tslib": "^2.8.0"
}
},
"node_modules/@formatjs/icu-skeleton-parser": {
- "version": "1.8.11",
- "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.11.tgz",
- "integrity": "sha512-8LlHHE/yL/zVJZHAX3pbKaCjZKmBIO6aJY1mkVh4RMSEu/2WRZ4Ysvv3kKXJ9M8RJLBHdnk1/dUQFdod1Dt7Dw==",
+ "version": "1.8.14",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.14.tgz",
+ "integrity": "sha512-i4q4V4qslThK4Ig8SxyD76cp3+QJ3sAqr7f6q9VVfeGtxG9OhiAk3y9XF6Q41OymsKzsGQ6OQQoJNY4/lI8TcQ==",
"license": "MIT",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "tslib": "2"
+ "@formatjs/ecma402-abstract": "2.3.4",
+ "tslib": "^2.8.0"
}
},
"node_modules/@formatjs/intl": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-3.0.4.tgz",
- "integrity": "sha512-pnetak6R7Xp/ET96O5kx9zRYoQQqr6sbRXWkJHKw0Hr/jr3ls4CddZKq+suwCDuW6p/ior2BhpOSh/WLLcJM6w==",
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-3.1.5.tgz",
+ "integrity": "sha512-cCTrhTqXGbacet55cKrRlT6lhhDqCBJCqoyngksWNqKzr832jDqrMLjf2tihJArx6TNhPdCJOVgyDw93DhfFhA==",
"license": "MIT",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "@formatjs/fast-memoize": "2.2.5",
- "@formatjs/icu-messageformat-parser": "2.9.7",
- "intl-messageformat": "10.7.10",
- "tslib": "2"
+ "@formatjs/ecma402-abstract": "2.3.4",
+ "@formatjs/fast-memoize": "2.2.7",
+ "@formatjs/icu-messageformat-parser": "2.11.2",
+ "intl-messageformat": "10.7.16",
+ "tslib": "^2.8.0"
},
"peerDependencies": {
- "typescript": "5"
+ "typescript": "5.8.2"
},
"peerDependenciesMeta": {
"typescript": {
@@ -3907,95 +4093,96 @@
}
},
"node_modules/@formatjs/intl-datetimeformat": {
- "version": "6.17.1",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-datetimeformat/-/intl-datetimeformat-6.17.1.tgz",
- "integrity": "sha512-a18NqRo6R73xpREuMZo8FqjO+LnYFDHoeoviTh5de4ebI46wqLSDgbAIKoceuWblTQt8bvCpJIwvKgLItea88Q==",
+ "version": "6.17.4",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-datetimeformat/-/intl-datetimeformat-6.17.4.tgz",
+ "integrity": "sha512-tFt38cC8JDXijdICU0Azc+UnlZ3N/bVui9YUVrWSzRcOtG99UTaxdioJ8W6JbtJLPPgiyHqwp1XjYgg+y4bxUw==",
"license": "MIT",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "@formatjs/intl-localematcher": "0.5.9",
- "tslib": "2"
+ "@formatjs/ecma402-abstract": "2.3.4",
+ "@formatjs/intl-localematcher": "0.6.1",
+ "decimal.js": "^10.4.3",
+ "tslib": "^2.8.0"
}
},
"node_modules/@formatjs/intl-enumerator": {
- "version": "1.8.7",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-enumerator/-/intl-enumerator-1.8.7.tgz",
- "integrity": "sha512-qd7UlWUivKRJ073btssUqMSqzWW9yN3Ki6EqfCZ6uvIv19mONelE5q3GMmdPWBEjgqZikBzBE2qPTqfrgJ4TCA==",
+ "version": "1.8.10",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-enumerator/-/intl-enumerator-1.8.10.tgz",
+ "integrity": "sha512-/iDm5v5809LN6GiEwT7gU/0lVuKbpyRh3l9USL205mi1kcunvY8eo4mooNr/3/cV4zWG9aUuPwrzukgSCaYlcg==",
"license": "MIT",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "tslib": "2"
+ "@formatjs/ecma402-abstract": "2.3.4",
+ "tslib": "^2.8.0"
}
},
"node_modules/@formatjs/intl-getcanonicallocales": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-getcanonicallocales/-/intl-getcanonicallocales-2.5.4.tgz",
- "integrity": "sha512-vSDOsAcc3U+Kl/0b3de8wCQkb3W30H8LUuslyz67wTAHOPSQhPimZyquhwxXpJR+K5yy9CkzTgk5YE5kFT+PFg==",
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-getcanonicallocales/-/intl-getcanonicallocales-2.5.5.tgz",
+ "integrity": "sha512-sxosgiLSGhf3So3hf4nk223G+qxWEZytAWVmgwuK5k16698N6jMbndzLL0R51i54aTTIp+UyIC+VKjns2eil3w==",
"license": "MIT",
"dependencies": {
- "tslib": "2"
+ "tslib": "^2.8.0"
}
},
"node_modules/@formatjs/intl-listformat": {
- "version": "7.7.8",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.7.8.tgz",
- "integrity": "sha512-ezlfqfyegMbepGVcf3rTApVGIbZQvJwx1PZsXjMe2xAqEU1jSBZ/2efLE8u3sUBHGrrsdWER98W85zCg4N7rmQ==",
+ "version": "7.7.11",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.7.11.tgz",
+ "integrity": "sha512-rESLS974zMEZc+Ql1HjjfkUyzxJLFABLvNFTmbWetL1gx8KvMMqXexOA2muGH3vsWQnSGzY8SAeksdlDElebtw==",
"license": "MIT",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "@formatjs/intl-localematcher": "0.5.9",
- "tslib": "2"
+ "@formatjs/ecma402-abstract": "2.3.4",
+ "@formatjs/intl-localematcher": "0.6.1",
+ "tslib": "^2.8.0"
}
},
"node_modules/@formatjs/intl-locale": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-locale/-/intl-locale-4.2.8.tgz",
- "integrity": "sha512-6RY/npeA0kyoZ8QW0JRAT+VBAFBT6+4ZVeGkKCNIDjbLX2LPuU73emGR35Mbwcc6pquVFrxyo6mXxKNzib0kEA==",
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-locale/-/intl-locale-4.2.11.tgz",
+ "integrity": "sha512-8OtGsxPawRF8D6I9SPVhoS/tNSAD0KO/9BywbaP3YNHeoI3qxsK7IR0bN7BCjW6qHZZD7U3VnXVHHteVk12zMA==",
"license": "MIT",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "@formatjs/intl-enumerator": "1.8.7",
- "@formatjs/intl-getcanonicallocales": "2.5.4",
- "tslib": "2"
+ "@formatjs/ecma402-abstract": "2.3.4",
+ "@formatjs/intl-enumerator": "1.8.10",
+ "@formatjs/intl-getcanonicallocales": "2.5.5",
+ "tslib": "^2.8.0"
}
},
"node_modules/@formatjs/intl-localematcher": {
- "version": "0.5.9",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.9.tgz",
- "integrity": "sha512-8zkGu/sv5euxbjfZ/xmklqLyDGQSxsLqg8XOq88JW3cmJtzhCP8EtSJXlaKZnVO4beEaoiT9wj4eIoCQ9smwxA==",
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.6.1.tgz",
+ "integrity": "sha512-ePEgLgVCqi2BBFnTMWPfIghu6FkbZnnBVhO2sSxvLfrdFw7wCHAHiDoM2h4NRgjbaY7+B7HgOLZGkK187pZTZg==",
"license": "MIT",
"dependencies": {
- "tslib": "2"
+ "tslib": "^2.8.0"
}
},
"node_modules/@formatjs/intl-numberformat": {
- "version": "8.15.1",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-numberformat/-/intl-numberformat-8.15.1.tgz",
- "integrity": "sha512-NIouSY50xpH/SMJrRbX1Q3hMsGyQmT5MQrta/bOYhpZda1bztOlEYZAKLytk8VGs10wkGz875602mCMhtg4/LA==",
+ "version": "8.15.4",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-numberformat/-/intl-numberformat-8.15.4.tgz",
+ "integrity": "sha512-Y7ObFiSY5XC2v19H6nXwQ9zRMvPcBQP+rva26u8Z1ZfUTiMVtYAJ5dtAITILFJ9IPgcjUZY1gZLmJCmu0uLIhg==",
"license": "MIT",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "@formatjs/intl-localematcher": "0.5.9",
- "decimal.js": "10",
- "tslib": "2"
+ "@formatjs/ecma402-abstract": "2.3.4",
+ "@formatjs/intl-localematcher": "0.6.1",
+ "decimal.js": "^10.4.3",
+ "tslib": "^2.8.0"
}
},
"node_modules/@formatjs/intl-pluralrules": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-5.4.1.tgz",
- "integrity": "sha512-kKK4ixTsfKAzyJIVRiJGuw4zd18nEHXiKloYBO9VmLpxrwJTgLQHv2+1hcbxQcwbbo2uc8moUFQuyvxeGEFOfw==",
+ "version": "5.4.4",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-5.4.4.tgz",
+ "integrity": "sha512-PdxoTmqaIh9c/zMR6Hw6+avrEh0b0giYlF4S4KOUjmWHUfDFj/8BqKVFFyQx1QInsRWhjdRWumqKYrcsjogDwg==",
"license": "MIT",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "@formatjs/intl-localematcher": "0.5.9",
- "decimal.js": "10",
- "tslib": "2"
+ "@formatjs/ecma402-abstract": "2.3.4",
+ "@formatjs/intl-localematcher": "0.6.1",
+ "decimal.js": "^10.4.3",
+ "tslib": "^2.8.0"
}
},
"node_modules/@gorhom/bottom-sheet": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/@gorhom/bottom-sheet/-/bottom-sheet-5.0.6.tgz",
- "integrity": "sha512-SI/AhPvgRfnCWN6/+wbE6TXwRE4X8F2fLyE4L/0bRwgE34Zenq585qLT139uEcfCIyovC2swC3ICqQpkmWEcFA==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/@gorhom/bottom-sheet/-/bottom-sheet-5.1.2.tgz",
+ "integrity": "sha512-5np8oL2krqAsVKLRE4YmtkZkyZeFiitoki72bEpVhZb8SRTNuAEeSbP3noq5srKpcRsboCr7uI+xmMyrWUd9kw==",
"license": "MIT",
"dependencies": {
"@gorhom/portal": "1.0.14",
@@ -4040,44 +4227,42 @@
"@hapi/hoek": "^9.0.0"
}
},
- "node_modules/@humanwhocodes/config-array": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
- "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
- "deprecated": "Use @eslint/config-array instead",
+ "node_modules/@humanfs/core": {
+ "version": "0.19.1",
+ "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
+ "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18.18.0"
+ }
+ },
+ "node_modules/@humanfs/node": {
+ "version": "0.16.6",
+ "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz",
+ "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "@humanwhocodes/object-schema": "^2.0.3",
- "debug": "^4.3.1",
- "minimatch": "^3.0.5"
+ "@humanfs/core": "^0.19.1",
+ "@humanwhocodes/retry": "^0.3.0"
},
"engines": {
- "node": ">=10.10.0"
+ "node": ">=18.18.0"
}
},
- "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz",
+ "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/@humanwhocodes/config-array/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
+ "license": "Apache-2.0",
"engines": {
- "node": "*"
+ "node": ">=18.18"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
}
},
"node_modules/@humanwhocodes/module-importer": {
@@ -4092,13 +4277,19 @@
"url": "https://github.com/sponsors/nzakas"
}
},
- "node_modules/@humanwhocodes/object-schema": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
- "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
- "deprecated": "Use @eslint/object-schema instead",
+ "node_modules/@humanwhocodes/retry": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz",
+ "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==",
"dev": true,
- "license": "BSD-3-Clause"
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18.18"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
},
"node_modules/@isaacs/cliui": {
"version": "8.0.2",
@@ -4674,6 +4865,18 @@
"react-native": "*"
}
},
+ "node_modules/@mattermost/react-native-paste-input/node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@mattermost/react-native-turbo-log": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/@mattermost/react-native-turbo-log/-/react-native-turbo-log-0.6.0.tgz",
@@ -4698,10 +4901,30 @@
"peer": true
},
"node_modules/@msgpack/msgpack": {
- "version": "2.8.0",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-3.1.1.tgz",
+ "integrity": "sha512-DnBpqkMOUGayNVKyTLlkM6ILmU/m/+VUxGkuQlPQVAcvreLz5jn1OlQnWd8uHKL/ZSiljpM12rjRhr51VtvJUQ==",
"license": "ISC",
"engines": {
- "node": ">= 10"
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@mswjs/interceptors": {
+ "version": "0.37.6",
+ "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.37.6.tgz",
+ "integrity": "sha512-wK+5pLK5XFmgtH3aQ2YVvA3HohS3xqV/OxuVOdNx9Wpnz7VE/fnC+e1A7ln6LFYeck7gOJ/dsZV6OLplOtAJ2w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@open-draft/deferred-promise": "^2.2.0",
+ "@open-draft/logger": "^0.3.0",
+ "@open-draft/until": "^2.0.0",
+ "is-node-process": "^1.2.0",
+ "outvariant": "^1.4.3",
+ "strict-event-emitter": "^0.5.1"
+ },
+ "engines": {
+ "node": ">=18"
}
},
"node_modules/@nicolo-ribaudo/chokidar-2": {
@@ -4759,9 +4982,9 @@
"integrity": "sha512-ntt8eNp5hh+axX9+kFb5uwyVE0edyfhiYYr+zHDzzFleGC7Qm+a2wHDWDtmRr5nSfbgomhY1uh30kpsHEIR3Mw=="
},
"node_modules/@nozbe/watermelondb": {
- "version": "0.28.0-1",
- "resolved": "https://registry.npmjs.org/@nozbe/watermelondb/-/watermelondb-0.28.0-1.tgz",
- "integrity": "sha512-iFVRmHLVKnILbeLI6cr9PF+nFX8WRmjpLWjHnZVl3bxMlhJQ9NQIan1/Mjts7S44Nyc1YIZpHdEU8sLU+5GIyA==",
+ "version": "0.28.0-2",
+ "resolved": "https://registry.npmjs.org/@nozbe/watermelondb/-/watermelondb-0.28.0-2.tgz",
+ "integrity": "sha512-0BnbTpcy6n44sHnNZrgdrGQCpAgD8h/8BCi6/Sx1QkZiYp0+6bHppuBmUuGFcvJnYj3Xvnx2/5gbWh23oKUeJg==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "7.26.0",
@@ -4776,18 +4999,6 @@
"node": ">=18"
}
},
- "node_modules/@nozbe/watermelondb/node_modules/@babel/runtime": {
- "version": "7.26.0",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz",
- "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==",
- "license": "MIT",
- "dependencies": {
- "regenerator-runtime": "^0.14.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@npmcli/fs": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz",
@@ -4800,6 +5011,31 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
+ "node_modules/@open-draft/deferred-promise": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz",
+ "integrity": "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@open-draft/logger": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@open-draft/logger/-/logger-0.3.0.tgz",
+ "integrity": "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-node-process": "^1.2.0",
+ "outvariant": "^1.4.0"
+ }
+ },
+ "node_modules/@open-draft/until": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz",
+ "integrity": "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@opentelemetry/api": {
"version": "1.8.0",
"license": "Apache-2.0",
@@ -4896,9 +5132,9 @@
}
},
"node_modules/@react-native-camera-roll/camera-roll": {
- "version": "7.9.0",
- "resolved": "https://registry.npmjs.org/@react-native-camera-roll/camera-roll/-/camera-roll-7.9.0.tgz",
- "integrity": "sha512-Ra0lB1G2H11MzL5aIH3bwlxU1zaHGSZeRs4lBXLBO64Ai1gUgZPR7TYgKDeeRPzNPtSbZKmzs+fuZ/7XoCf1SA==",
+ "version": "7.10.0",
+ "resolved": "https://registry.npmjs.org/@react-native-camera-roll/camera-roll/-/camera-roll-7.10.0.tgz",
+ "integrity": "sha512-Zm1yHxxTQS2APsnnxUFoLnK+DMMTPqmIQ2z2pGtNyHRXAG40Nt4MLVB3tDJTWnuJLAG87BpTCEvpz49+u0YkUw==",
"license": "MIT",
"engines": {
"node": ">= 18.17.0"
@@ -4908,9 +5144,9 @@
}
},
"node_modules/@react-native-clipboard/clipboard": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/@react-native-clipboard/clipboard/-/clipboard-1.15.0.tgz",
- "integrity": "sha512-YDMC3E956jn9zE11uKGcQDKS1SO9q72iNHxZyrKY5y9XYwZcA9vo3Xk74+zRnf7cM48drDO0s9lyAPUlOvyhrw==",
+ "version": "1.16.2",
+ "resolved": "https://registry.npmjs.org/@react-native-clipboard/clipboard/-/clipboard-1.16.2.tgz",
+ "integrity": "sha512-VqUYwVxo7DyHMz7v2LxLMaAOSu3pKFvzpqR4jQezdH0VyaudILTTcUf7dR4TroARU/lLkTU8nZA11UniTvGVXg==",
"license": "MIT",
"workspaces": [
"example"
@@ -5403,7 +5639,9 @@
}
},
"node_modules/@react-native-community/datetimepicker": {
- "version": "8.2.0",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/@react-native-community/datetimepicker/-/datetimepicker-8.3.0.tgz",
+ "integrity": "sha512-K/KgaJbLtjMpx4PaG4efrVIcSe6+DbLufeX1lwPB5YY8i3sq9dOh6WcAcMTLbaRTUpurebQTkl7puHPFm9GalA==",
"license": "MIT",
"dependencies": {
"invariant": "^2.2.4"
@@ -5535,18 +5773,6 @@
"node": ">=4"
}
},
- "node_modules/@react-native-windows/cli/node_modules/log-symbols/node_modules/ansi-styles": {
- "version": "3.2.1",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/@react-native-windows/cli/node_modules/log-symbols/node_modules/chalk": {
"version": "2.4.2",
"license": "MIT",
@@ -5561,21 +5787,6 @@
"node": ">=4"
}
},
- "node_modules/@react-native-windows/cli/node_modules/log-symbols/node_modules/color-convert": {
- "version": "1.9.3",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@react-native-windows/cli/node_modules/log-symbols/node_modules/color-name": {
- "version": "1.1.3",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
"node_modules/@react-native-windows/cli/node_modules/log-symbols/node_modules/has-flag": {
"version": "3.0.0",
"license": "MIT",
@@ -5635,18 +5846,6 @@
"node": ">=6"
}
},
- "node_modules/@react-native-windows/cli/node_modules/ora/node_modules/ansi-styles": {
- "version": "3.2.1",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/@react-native-windows/cli/node_modules/ora/node_modules/chalk": {
"version": "2.4.2",
"license": "MIT",
@@ -5661,21 +5860,6 @@
"node": ">=4"
}
},
- "node_modules/@react-native-windows/cli/node_modules/ora/node_modules/color-convert": {
- "version": "1.9.3",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@react-native-windows/cli/node_modules/ora/node_modules/color-name": {
- "version": "1.1.3",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
"node_modules/@react-native-windows/cli/node_modules/ora/node_modules/has-flag": {
"version": "3.0.0",
"license": "MIT",
@@ -6421,6 +6605,114 @@
"prettier": ">=2"
}
},
+ "node_modules/@react-native/eslint-config/node_modules/@typescript-eslint/parser": {
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz",
+ "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "7.18.0",
+ "@typescript-eslint/types": "7.18.0",
+ "@typescript-eslint/typescript-estree": "7.18.0",
+ "@typescript-eslint/visitor-keys": "7.18.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@react-native/eslint-config/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": {
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz",
+ "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "7.18.0",
+ "@typescript-eslint/visitor-keys": "7.18.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@react-native/eslint-config/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": {
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz",
+ "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@react-native/eslint-config/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": {
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz",
+ "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/types": "7.18.0",
+ "@typescript-eslint/visitor-keys": "7.18.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "minimatch": "^9.0.4",
+ "semver": "^7.6.0",
+ "ts-api-utils": "^1.3.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@react-native/eslint-config/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz",
+ "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "7.18.0",
+ "eslint-visitor-keys": "^3.4.3"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
"node_modules/@react-native/eslint-config/node_modules/@typescript-eslint/scope-manager": {
"version": "5.62.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
@@ -6526,6 +6818,24 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
+ "node_modules/@react-native/eslint-config/node_modules/eslint-plugin-ft-flow": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-ft-flow/-/eslint-plugin-ft-flow-2.0.3.tgz",
+ "integrity": "sha512-Vbsd/b+LYA99jUbsL6viEUWShFaYQt2YQs3QN3f+aeszOhh2sgdcU0mjzDyD4yyBvMc8qy2uwvBBWfMzEX06tg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lodash": "^4.17.21",
+ "string-natural-compare": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=12.22.0"
+ },
+ "peerDependencies": {
+ "@babel/eslint-parser": "^7.12.0",
+ "eslint": "^8.1.0"
+ }
+ },
"node_modules/@react-native/eslint-config/node_modules/eslint-plugin-jest": {
"version": "27.9.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz",
@@ -6565,6 +6875,19 @@
"eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
}
},
+ "node_modules/@react-native/eslint-config/node_modules/eslint-plugin-react-native": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-4.1.0.tgz",
+ "integrity": "sha512-QLo7rzTBOl43FvVqDdq5Ql9IoElIuTdjrz9SKAXCvULvBoRZ44JGSkx9z4999ZusCsb4rK3gjS8gOGyeYqZv2Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eslint-plugin-react-native-globals": "^0.1.1"
+ },
+ "peerDependencies": {
+ "eslint": "^3.17.0 || ^4 || ^5 || ^6 || ^7 || ^8"
+ }
+ },
"node_modules/@react-native/eslint-config/node_modules/eslint-visitor-keys": {
"version": "3.4.3",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
@@ -6578,6 +6901,19 @@
"url": "https://opencollective.com/eslint"
}
},
+ "node_modules/@react-native/eslint-config/node_modules/ts-api-utils": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz",
+ "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=16"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.2.0"
+ }
+ },
"node_modules/@react-native/eslint-plugin": {
"version": "0.76.5",
"resolved": "https://registry.npmjs.org/@react-native/eslint-plugin/-/eslint-plugin-0.76.5.tgz",
@@ -6998,16 +7334,16 @@
}
},
"node_modules/@react-navigation/bottom-tabs": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-7.2.0.tgz",
- "integrity": "sha512-1LxjgnbPyFINyf9Qr5d1YE0pYhuJayg5TCIIFQmbcX4PRhX7FKUXV7cX8OzrKXEdZi/UE/VNXugtozPAR9zgvA==",
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-7.3.2.tgz",
+ "integrity": "sha512-gxFQrBTkb8Gf6WGrW2C61JCb5vLFxBLaocNCvNLxPcEMQWuRv+PYIL4NOqWBmmh0+TSMRp/0BI1b+BU6EQfxQQ==",
"license": "MIT",
"dependencies": {
- "@react-navigation/elements": "^2.2.5",
+ "@react-navigation/elements": "^2.3.0",
"color": "^4.2.3"
},
"peerDependencies": {
- "@react-navigation/native": "^7.0.14",
+ "@react-navigation/native": "^7.0.18",
"react": ">= 18.2.0",
"react-native": "*",
"react-native-safe-area-context": ">= 4.0.0",
@@ -7015,12 +7351,12 @@
}
},
"node_modules/@react-navigation/core": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-7.3.1.tgz",
- "integrity": "sha512-S3KCGvNsoqVk8ErAtQI2EAhg9185lahF5OY01ofrrD4Ij/uk3QEHHjoGQhR5l5DXSCSKr1JbMQA7MEKMsBiWZA==",
+ "version": "7.6.1",
+ "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-7.6.1.tgz",
+ "integrity": "sha512-mbqL0dYFTlKlSjgZz1Mm/CVEa7cnvEc7kE5Te9q3Z3/iFHdlZmKxEWAdRU2cUnpCXwo3DvmAENzVHbHsTKtT5Q==",
"license": "MIT",
"dependencies": {
- "@react-navigation/routers": "^7.1.2",
+ "@react-navigation/routers": "^7.3.1",
"escape-string-regexp": "^4.0.0",
"nanoid": "3.3.8",
"query-string": "^7.1.3",
@@ -7039,16 +7375,16 @@
"license": "MIT"
},
"node_modules/@react-navigation/elements": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-2.2.5.tgz",
- "integrity": "sha512-sDhE+W14P7MNWLMxXg1MEVXwkLUpMZJGflE6nQNzLmolJQIHgcia0Mrm8uRa3bQovhxYu1UzEojLZ+caoZt7Fg==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-2.3.0.tgz",
+ "integrity": "sha512-2VGB6rFejk1fGxU4PuqPKXPzuqD0nC6iCSjMRsyM5CetcwiEidHmv4nGIXvw7D9CvqoZxvcQWxL4X3uSodj0PA==",
"license": "MIT",
"dependencies": {
"color": "^4.2.3"
},
"peerDependencies": {
"@react-native-masked-view/masked-view": ">= 0.2.0",
- "@react-navigation/native": "^7.0.14",
+ "@react-navigation/native": "^7.0.18",
"react": ">= 18.2.0",
"react-native": "*",
"react-native-safe-area-context": ">= 4.0.0"
@@ -7060,12 +7396,12 @@
}
},
"node_modules/@react-navigation/native": {
- "version": "7.0.14",
- "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-7.0.14.tgz",
- "integrity": "sha512-Gi6lLw4VOGSWAhmUdJOMauOKGK51/YA1CprjXm91sNfgERWvznqEMw8QmUQx9SEqYfi0LfZhbzpMst09SJ00lw==",
+ "version": "7.0.18",
+ "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-7.0.18.tgz",
+ "integrity": "sha512-XDOfbY/M8IMMyLY9iVW0f6nCYs3iZbAP2njKV2TpT6rG0VX4xVBl2VhrZe55XBFtJFawLMsb13c/QUSTn5O4Lg==",
"license": "MIT",
"dependencies": {
- "@react-navigation/core": "^7.3.1",
+ "@react-navigation/core": "^7.6.1",
"escape-string-regexp": "^4.0.0",
"fast-deep-equal": "^3.1.3",
"nanoid": "3.3.8",
@@ -7077,25 +7413,25 @@
}
},
"node_modules/@react-navigation/routers": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-7.1.2.tgz",
- "integrity": "sha512-emdEjpVDK8zbiu2GChC8oYIAub9i/OpNuQJekVsbyFCBz4/TzaBzms38Q53YaNhdIFNmiYLfHv/Y1Ub7KYfm3w==",
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-7.3.1.tgz",
+ "integrity": "sha512-d0hJi4eZJQB84JtHlA3HDR9VHoKDfyknSCdz/7a3Mdz1OJDZsvU+qjfK2c9mxNFd+ak/ekLhEkwwh8QtVF0faw==",
"license": "MIT",
"dependencies": {
"nanoid": "3.3.8"
}
},
"node_modules/@react-navigation/stack": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-7.1.0.tgz",
- "integrity": "sha512-Hgvoo67s/CsF+Q2aquuwFtEASIhkgxw4gfwwIrsljDmy7e0FCgxsF0wzjoANik6QHrW2Ue+6ROPytKjSHUQxcg==",
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-7.2.2.tgz",
+ "integrity": "sha512-S8N9GMEC2bGTwCbuS/ROXIavJbH3Zmyfc5f8CTuKwuNKCYTRniCa9rdSjhMZS1Uy6Bi72DVdlviKSrzeopPvLg==",
"license": "MIT",
"dependencies": {
- "@react-navigation/elements": "^2.2.5",
+ "@react-navigation/elements": "^2.3.0",
"color": "^4.2.3"
},
"peerDependencies": {
- "@react-navigation/native": "^7.0.14",
+ "@react-navigation/native": "^7.0.18",
"react": ">= 18.2.0",
"react-native": "*",
"react-native-gesture-handler": ">= 2.0.0",
@@ -7219,6 +7555,8 @@
},
"node_modules/@sentry/babel-plugin-component-annotate": {
"version": "2.20.1",
+ "resolved": "https://registry.npmjs.org/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-2.20.1.tgz",
+ "integrity": "sha512-4mhEwYTK00bIb5Y9UWIELVUfru587Vaeg0DQGswv4aIRHIiMKLyNqCEejaaybQ/fNChIZOKmvyqXk430YVd7Qg==",
"license": "MIT",
"engines": {
"node": ">= 14"
@@ -7466,12 +7804,12 @@
}
},
"node_modules/@shopify/flash-list": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/@shopify/flash-list/-/flash-list-1.7.3.tgz",
- "integrity": "sha512-RLhNptm02aqpqZvjj9pJPcU+EVYxOAJhPRCmDOaUbUP86+636w+plsbjpBPSYGvPZhPj56RtZ9FBlvolPeEmYA==",
+ "version": "1.7.6",
+ "resolved": "https://registry.npmjs.org/@shopify/flash-list/-/flash-list-1.7.6.tgz",
+ "integrity": "sha512-0kuuAbWgy4YSlN05mt0ScvxK8uiDixMsICWvDed+LTxvZ5+5iRyt3M8cRLUroB8sfiZlJJZWlxHrx0frBpsYOQ==",
"license": "MIT",
"dependencies": {
- "recyclerlistview": "4.2.1",
+ "recyclerlistview": "4.2.3",
"tslib": "2.8.1"
},
"peerDependencies": {
@@ -7521,6 +7859,37 @@
"react-native": "*"
}
},
+ "node_modules/@stylistic/eslint-plugin-ts": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-ts/-/eslint-plugin-ts-4.2.0.tgz",
+ "integrity": "sha512-j2o2GvOx9v66x8hmp/HJ+0T+nOppiO5ycGsCkifh7JPGgjxEhpkGmIGx3RWsoxpWbad3VCX8e8/T8n3+7ze1Zg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/utils": "^8.23.0",
+ "eslint-visitor-keys": "^4.2.0",
+ "espree": "^10.3.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "peerDependencies": {
+ "eslint": ">=9.0.0"
+ }
+ },
+ "node_modules/@stylistic/eslint-plugin-ts/node_modules/eslint-visitor-keys": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
+ "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
"node_modules/@testing-library/react-hooks": {
"version": "8.0.1",
"dev": true,
@@ -7551,19 +7920,25 @@
}
},
"node_modules/@testing-library/react-native": {
- "version": "12.9.0",
+ "version": "13.2.0",
+ "resolved": "https://registry.npmjs.org/@testing-library/react-native/-/react-native-13.2.0.tgz",
+ "integrity": "sha512-3FX+vW/JScXkoH8VSCRTYF4KCHC56y4AI6TMDISfLna6r+z8kaSEmxH1I6NVaFOxoWX9yaHDyI26xh7BykmqKw==",
"dev": true,
"license": "MIT",
"dependencies": {
+ "chalk": "^4.1.2",
"jest-matcher-utils": "^29.7.0",
"pretty-format": "^29.7.0",
"redent": "^3.0.0"
},
+ "engines": {
+ "node": ">=18"
+ },
"peerDependencies": {
- "jest": ">=28.0.0",
- "react": ">=16.8.0",
- "react-native": ">=0.59",
- "react-test-renderer": ">=16.8.0"
+ "jest": ">=29.0.0",
+ "react": ">=18.2.0",
+ "react-native": ">=0.71",
+ "react-test-renderer": ">=18.2.0"
},
"peerDependenciesMeta": {
"jest": {
@@ -7639,8 +8014,7 @@
"node_modules/@types/estree": {
"version": "1.0.6",
"dev": true,
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/@types/graceful-fs": {
"version": "4.1.9",
@@ -7716,7 +8090,9 @@
"license": "MIT"
},
"node_modules/@types/lodash": {
- "version": "4.17.13",
+ "version": "4.17.16",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.16.tgz",
+ "integrity": "sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==",
"dev": true,
"license": "MIT"
},
@@ -7782,17 +8158,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@types/react-native-share": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@types/react-native-share/-/react-native-share-6.0.0.tgz",
- "integrity": "sha512-ljPKqOhIxFEGZ/6JWlYnqf3FJjjmFZZi0Jg0JwAUE2a8MRWtjxcn6dLSb8KYYjZHf9sG55oZw/WGENkOt2CvnA==",
- "deprecated": "This is a stub types definition. react-native-share provides its own type definitions, so you do not need this installed.",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "react-native-share": "*"
- }
- },
"node_modules/@types/react-native-vector-icons": {
"version": "6.4.18",
"license": "MIT",
@@ -7860,80 +8225,72 @@
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "7.14.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.14.1.tgz",
- "integrity": "sha512-aAJd6bIf2vvQRjUG3ZkNXkmBpN+J7Wd0mfQiiVCJMu9Z5GcZZdcc0j8XwN/BM97Fl7e3SkTXODSk4VehUv7CGw==",
+ "version": "8.27.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.27.0.tgz",
+ "integrity": "sha512-4henw4zkePi5p252c8ncBLzLce52SEUz2Ebj8faDnuUXz2UuHEONYcJ+G0oaCF+bYCWVZtrGzq3FD7YXetmnSA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "7.14.1",
- "@typescript-eslint/type-utils": "7.14.1",
- "@typescript-eslint/utils": "7.14.1",
- "@typescript-eslint/visitor-keys": "7.14.1",
+ "@typescript-eslint/scope-manager": "8.27.0",
+ "@typescript-eslint/type-utils": "8.27.0",
+ "@typescript-eslint/utils": "8.27.0",
+ "@typescript-eslint/visitor-keys": "8.27.0",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
- "ts-api-utils": "^1.3.0"
+ "ts-api-utils": "^2.0.1"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "@typescript-eslint/parser": "^7.0.0",
- "eslint": "^8.56.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0",
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <5.9.0"
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "7.14.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.14.1.tgz",
- "integrity": "sha512-8lKUOebNLcR0D7RvlcloOacTOWzOqemWEWkKSVpMZVF/XVcwjPR+3MD08QzbW9TCGJ+DwIc6zUSGZ9vd8cO1IA==",
+ "version": "8.27.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.27.0.tgz",
+ "integrity": "sha512-XGwIabPallYipmcOk45DpsBSgLC64A0yvdAkrwEzwZ2viqGqRUJ8eEYoPz0CWnutgAFbNMPdsGGvzjSmcWVlEA==",
"dev": true,
- "license": "BSD-2-Clause",
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/scope-manager": "7.14.1",
- "@typescript-eslint/types": "7.14.1",
- "@typescript-eslint/typescript-estree": "7.14.1",
- "@typescript-eslint/visitor-keys": "7.14.1",
+ "@typescript-eslint/scope-manager": "8.27.0",
+ "@typescript-eslint/types": "8.27.0",
+ "@typescript-eslint/typescript-estree": "8.27.0",
+ "@typescript-eslint/visitor-keys": "8.27.0",
"debug": "^4.3.4"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^8.56.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <5.9.0"
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "7.14.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.14.1.tgz",
- "integrity": "sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA==",
+ "version": "8.27.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.27.0.tgz",
+ "integrity": "sha512-8oI9GwPMQmBryaaxG1tOZdxXVeMDte6NyJA4i7/TWa4fBwgnAXYlIQP+uYOeqAaLJ2JRxlG9CAyL+C+YE9Xknw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "7.14.1",
- "@typescript-eslint/visitor-keys": "7.14.1"
+ "@typescript-eslint/types": "8.27.0",
+ "@typescript-eslint/visitor-keys": "8.27.0"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
@@ -7941,41 +8298,37 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "7.14.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.14.1.tgz",
- "integrity": "sha512-/MzmgNd3nnbDbOi3LfasXWWe292+iuo+umJ0bCCMCPc1jLO/z2BQmWUUUXvXLbrQey/JgzdF/OV+I5bzEGwJkQ==",
+ "version": "8.27.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.27.0.tgz",
+ "integrity": "sha512-wVArTVcz1oJOIEJxui/nRhV0TXzD/zMSOYi/ggCfNq78EIszddXcJb7r4RCp/oBrjt8n9A0BSxRMKxHftpDxDA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/typescript-estree": "7.14.1",
- "@typescript-eslint/utils": "7.14.1",
+ "@typescript-eslint/typescript-estree": "8.27.0",
+ "@typescript-eslint/utils": "8.27.0",
"debug": "^4.3.4",
- "ts-api-utils": "^1.3.0"
+ "ts-api-utils": "^2.0.1"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^8.56.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <5.9.0"
}
},
"node_modules/@typescript-eslint/types": {
- "version": "7.14.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.14.1.tgz",
- "integrity": "sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==",
+ "version": "8.27.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.27.0.tgz",
+ "integrity": "sha512-/6cp9yL72yUHAYq9g6DsAU+vVfvQmd1a8KyA81uvfDE21O2DwQ/qxlM4AR8TSdAu+kJLBDrEHKC5/W2/nxsY0A==",
"dev": true,
"license": "MIT",
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
@@ -7983,69 +8336,68 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "7.14.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.14.1.tgz",
- "integrity": "sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@typescript-eslint/types": "7.14.1",
- "@typescript-eslint/visitor-keys": "7.14.1",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "minimatch": "^9.0.4",
- "semver": "^7.6.0",
- "ts-api-utils": "^1.3.0"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/utils": {
- "version": "7.14.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.14.1.tgz",
- "integrity": "sha512-CMmVVELns3nak3cpJhZosDkm63n+DwBlDX8g0k4QUa9BMnF+lH2lr3d130M1Zt1xxmB3LLk3NV7KQCq86ZBBhQ==",
+ "version": "8.27.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.27.0.tgz",
+ "integrity": "sha512-BnKq8cqPVoMw71O38a1tEb6iebEgGA80icSxW7g+kndx0o6ot6696HjG7NdgfuAVmVEtwXUr3L8R9ZuVjoQL6A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "7.14.1",
- "@typescript-eslint/types": "7.14.1",
- "@typescript-eslint/typescript-estree": "7.14.1"
+ "@typescript-eslint/types": "8.27.0",
+ "@typescript-eslint/visitor-keys": "8.27.0",
+ "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": "^2.0.1"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^8.56.0"
+ "typescript": ">=4.8.4 <5.9.0"
}
},
- "node_modules/@typescript-eslint/visitor-keys": {
- "version": "7.14.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.14.1.tgz",
- "integrity": "sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA==",
+ "node_modules/@typescript-eslint/utils": {
+ "version": "8.27.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.27.0.tgz",
+ "integrity": "sha512-njkodcwH1yvmo31YWgRHNb/x1Xhhq4/m81PhtvmRngD8iHPehxffz1SNCO+kwaePhATC+kOa/ggmvPoPza5i0Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "7.14.1",
- "eslint-visitor-keys": "^3.4.3"
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@typescript-eslint/scope-manager": "8.27.0",
+ "@typescript-eslint/types": "8.27.0",
+ "@typescript-eslint/typescript-estree": "8.27.0"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <5.9.0"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "8.27.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.27.0.tgz",
+ "integrity": "sha512-WsXQwMkILJvffP6z4U3FYJPlbf/j07HIxmDjZpbNvBJkMfvwXj5ACRkkHwBDvLBbDbtX5TdU64/rcvKJ/vuInQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "8.27.0",
+ "eslint-visitor-keys": "^4.2.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
@@ -8053,29 +8405,22 @@
}
},
"node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
+ "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
"dev": true,
"license": "Apache-2.0",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
- "node_modules/@ungap/structured-clone": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.1.tgz",
- "integrity": "sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==",
- "dev": true,
- "license": "ISC"
- },
"node_modules/@urql/core": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/@urql/core/-/core-5.1.0.tgz",
- "integrity": "sha512-yC3sw8yqjbX45GbXxfiBY8GLYCiyW/hLBbQF9l3TJrv4ro00Y0ChkKaD9I2KntRxAVm9IYBqh0awX8fwWAe/Yw==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/@urql/core/-/core-5.1.1.tgz",
+ "integrity": "sha512-aGh024z5v2oINGD/In6rAtVKTm4VmQ2TxKQBAtk2ZSME5dunZFcjltw4p5ENQg+5CBhZ3FHMzl0Oa+rwqiWqlg==",
"license": "MIT",
"dependencies": {
"@0no-co/graphql.web": "^1.0.5",
@@ -8083,12 +8428,12 @@
}
},
"node_modules/@urql/exchange-retry": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@urql/exchange-retry/-/exchange-retry-1.3.0.tgz",
- "integrity": "sha512-FLt+d81gP4oiHah4hWFDApimc+/xABWMU1AMYsZ1PVB0L0YPtrMCjbOp9WMM7hBzy4gbTDrG24sio0dCfSh/HQ==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@urql/exchange-retry/-/exchange-retry-1.3.1.tgz",
+ "integrity": "sha512-EEmtFu8JTuwsInqMakhLq+U3qN8ZMd5V3pX44q0EqD2imqTDsa8ikZqJ1schVrN8HljOdN+C08cwZ1/r5uIgLw==",
"license": "MIT",
"dependencies": {
- "@urql/core": "^5.0.0",
+ "@urql/core": "^5.1.1",
"wonka": "^6.3.2"
},
"peerDependencies": {
@@ -8413,47 +8758,22 @@
}
},
"node_modules/ajv": {
- "version": "8.13.0",
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "fast-deep-equal": "^3.1.3",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.4.1"
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/ajv-formats": {
- "version": "2.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependenciesMeta": {
- "ajv": {
- "optional": true
- }
- }
- },
- "node_modules/ajv-keywords": {
- "version": "5.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.3"
- },
- "peerDependencies": {
- "ajv": "^8.8.2"
- }
- },
"node_modules/anser": {
"version": "1.4.10",
"license": "MIT"
@@ -8592,11 +8912,13 @@
}
},
"node_modules/array-buffer-byte-length": {
- "version": "1.0.1",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz",
+ "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.5",
- "is-array-buffer": "^3.0.4"
+ "call-bound": "^1.0.3",
+ "is-array-buffer": "^3.0.5"
},
"engines": {
"node": ">= 0.4"
@@ -8696,14 +9018,16 @@
}
},
"node_modules/array.prototype.flatmap": {
- "version": "1.3.2",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz",
+ "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "es-shim-unscopables": "^1.0.0"
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-shim-unscopables": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -8728,17 +9052,18 @@
}
},
"node_modules/arraybuffer.prototype.slice": {
- "version": "1.0.3",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz",
+ "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==",
"license": "MIT",
"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",
- "is-array-buffer": "^3.0.4",
- "is-shared-array-buffer": "^1.0.2"
+ "es-abstract": "^1.23.5",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
+ "is-array-buffer": "^3.0.4"
},
"engines": {
"node": ">= 0.4"
@@ -8773,6 +9098,15 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/async-function": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz",
+ "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/async-hook-jl": {
"version": "1.7.6",
"license": "MIT",
@@ -8869,121 +9203,66 @@
}
},
"node_modules/babel-loader": {
- "version": "9.2.1",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-10.0.0.tgz",
+ "integrity": "sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "find-cache-dir": "^4.0.0",
- "schema-utils": "^4.0.0"
+ "find-up": "^5.0.0"
},
"engines": {
- "node": ">= 14.15.0"
+ "node": "^18.20.0 || ^20.10.0 || >=22.0.0"
},
"peerDependencies": {
"@babel/core": "^7.12.0",
- "webpack": ">=5"
- }
- },
- "node_modules/babel-loader/node_modules/find-cache-dir": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "common-path-prefix": "^3.0.0",
- "pkg-dir": "^7.0.0"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "webpack": ">=5.61.0"
}
},
"node_modules/babel-loader/node_modules/find-up": {
- "version": "6.3.0",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
"dev": true,
"license": "MIT",
"dependencies": {
- "locate-path": "^7.1.0",
- "path-exists": "^5.0.0"
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
},
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/babel-loader/node_modules/locate-path": {
- "version": "7.2.0",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "p-locate": "^6.0.0"
+ "p-locate": "^5.0.0"
},
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/babel-loader/node_modules/p-limit": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "yocto-queue": "^1.0.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/babel-loader/node_modules/p-locate": {
- "version": "6.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^4.0.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/babel-loader/node_modules/path-exists": {
"version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- }
- },
- "node_modules/babel-loader/node_modules/pkg-dir": {
- "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "find-up": "^6.3.0"
+ "p-limit": "^3.0.2"
},
"engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/babel-loader/node_modules/yocto-queue": {
- "version": "1.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12.20"
+ "node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -9079,11 +9358,13 @@
}
},
"node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.10.6",
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz",
+ "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==",
"license": "MIT",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.6.2",
- "core-js-compat": "^3.38.0"
+ "@babel/helper-define-polyfill-provider": "^0.6.3",
+ "core-js-compat": "^3.40.0"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
@@ -9152,9 +9433,9 @@
}
},
"node_modules/babel-preset-expo": {
- "version": "12.0.4",
- "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-12.0.4.tgz",
- "integrity": "sha512-SAzAwqpyjA+/OFrU95OOioj6oTeCv4+rRfrNmBTy5S/gJswrZKBSPJioFudIaJBy43W+BL7HA5AspBIF6tO/aA==",
+ "version": "12.0.9",
+ "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-12.0.9.tgz",
+ "integrity": "sha512-1c+ysrTavT49WgVAj0OX/TEzt1kU2mfPhDaDajstshNHXFKPenMPWSViA/DHrJKVIMwaqr+z3GbUOD9GtKgpdg==",
"license": "MIT",
"dependencies": {
"@babel/plugin-proposal-decorators": "^7.12.9",
@@ -9163,7 +9444,7 @@
"@babel/plugin-transform-parameters": "^7.22.15",
"@babel/preset-react": "^7.22.15",
"@babel/preset-typescript": "^7.23.0",
- "@react-native/babel-preset": "0.76.5",
+ "@react-native/babel-preset": "0.76.7",
"babel-plugin-react-native-web": "~0.19.13",
"react-refresh": "^0.14.2"
},
@@ -9180,6 +9461,99 @@
}
}
},
+ "node_modules/babel-preset-expo/node_modules/@react-native/babel-plugin-codegen": {
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.76.7.tgz",
+ "integrity": "sha512-+8H4DXJREM4l/pwLF/wSVMRzVhzhGDix5jLezNrMD9J1U1AMfV2aSkWA1XuqR7pjPs/Vqf6TaPL7vJMZ4LU05Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@react-native/codegen": "0.76.7"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/babel-preset-expo/node_modules/@react-native/babel-preset": {
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.76.7.tgz",
+ "integrity": "sha512-/c5DYZ6y8tyg+g8tgXKndDT7mWnGmkZ9F+T3qNDfoE3Qh7ucrNeC2XWvU9h5pk8eRtj9l4SzF4aO1phzwoibyg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.25.2",
+ "@babel/plugin-proposal-export-default-from": "^7.24.7",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/plugin-syntax-export-default-from": "^7.24.7",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-transform-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-scoping": "^7.25.0",
+ "@babel/plugin-transform-class-properties": "^7.25.4",
+ "@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-flow-strip-types": "^7.25.2",
+ "@babel/plugin-transform-for-of": "^7.24.7",
+ "@babel/plugin-transform-function-name": "^7.25.1",
+ "@babel/plugin-transform-literals": "^7.25.2",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.24.7",
+ "@babel/plugin-transform-modules-commonjs": "^7.24.8",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7",
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7",
+ "@babel/plugin-transform-numeric-separator": "^7.24.7",
+ "@babel/plugin-transform-object-rest-spread": "^7.24.7",
+ "@babel/plugin-transform-optional-catch-binding": "^7.24.7",
+ "@babel/plugin-transform-optional-chaining": "^7.24.8",
+ "@babel/plugin-transform-parameters": "^7.24.7",
+ "@babel/plugin-transform-private-methods": "^7.24.7",
+ "@babel/plugin-transform-private-property-in-object": "^7.24.7",
+ "@babel/plugin-transform-react-display-name": "^7.24.7",
+ "@babel/plugin-transform-react-jsx": "^7.25.2",
+ "@babel/plugin-transform-react-jsx-self": "^7.24.7",
+ "@babel/plugin-transform-react-jsx-source": "^7.24.7",
+ "@babel/plugin-transform-regenerator": "^7.24.7",
+ "@babel/plugin-transform-runtime": "^7.24.7",
+ "@babel/plugin-transform-shorthand-properties": "^7.24.7",
+ "@babel/plugin-transform-spread": "^7.24.7",
+ "@babel/plugin-transform-sticky-regex": "^7.24.7",
+ "@babel/plugin-transform-typescript": "^7.25.2",
+ "@babel/plugin-transform-unicode-regex": "^7.24.7",
+ "@babel/template": "^7.25.0",
+ "@react-native/babel-plugin-codegen": "0.76.7",
+ "babel-plugin-syntax-hermes-parser": "^0.25.1",
+ "babel-plugin-transform-flow-enums": "^0.0.2",
+ "react-refresh": "^0.14.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@babel/core": "*"
+ }
+ },
+ "node_modules/babel-preset-expo/node_modules/@react-native/codegen": {
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.76.7.tgz",
+ "integrity": "sha512-FAn585Ll65YvkSrKDyAcsdjHhhAGiMlSTUpHh0x7J5ntudUns+voYms0xMP+pEPt0XuLdjhD7zLIIlAWP407+g==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.25.3",
+ "glob": "^7.1.1",
+ "hermes-parser": "0.23.1",
+ "invariant": "^2.2.4",
+ "jscodeshift": "^0.14.0",
+ "mkdirp": "^0.5.1",
+ "nullthrows": "^1.1.1",
+ "yargs": "^17.6.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@babel/preset-env": "^7.1.6"
+ }
+ },
"node_modules/babel-preset-jest": {
"version": "29.6.3",
"license": "MIT",
@@ -9339,7 +9713,9 @@
}
},
"node_modules/browserslist": {
- "version": "4.24.2",
+ "version": "4.24.4",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz",
+ "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
"funding": [
{
"type": "opencollective",
@@ -9356,9 +9732,9 @@
],
"license": "MIT",
"dependencies": {
- "caniuse-lite": "^1.0.30001669",
- "electron-to-chromium": "^1.5.41",
- "node-releases": "^2.0.18",
+ "caniuse-lite": "^1.0.30001688",
+ "electron-to-chromium": "^1.5.73",
+ "node-releases": "^2.0.19",
"update-browserslist-db": "^1.1.1"
},
"bin": {
@@ -9516,7 +9892,9 @@
}
},
"node_modules/call-bind-apply-helpers": {
- "version": "1.0.1",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
@@ -9526,6 +9904,22 @@
"node": ">= 0.4"
}
},
+ "node_modules/call-bound": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/caller-callsite": {
"version": "2.0.0",
"license": "MIT",
@@ -9568,7 +9962,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001687",
+ "version": "1.0.30001706",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001706.tgz",
+ "integrity": "sha512-3ZczoTApMAZwPKYWmwVbQMFpXBDds3/0VciVoUwPUbldlYyVLmRVuRs/PcUZtHpbLRpzzDvrvnFuREsGt6lUug==",
"funding": [
{
"type": "opencollective",
@@ -9957,11 +10353,6 @@
"node": ">= 10"
}
},
- "node_modules/common-path-prefix": {
- "version": "3.0.0",
- "dev": true,
- "license": "ISC"
- },
"node_modules/commondir": {
"version": "1.0.1",
"license": "MIT"
@@ -10091,10 +10482,12 @@
"license": "MIT"
},
"node_modules/core-js-compat": {
- "version": "3.39.0",
+ "version": "3.41.0",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.41.0.tgz",
+ "integrity": "sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A==",
"license": "MIT",
"dependencies": {
- "browserslist": "^4.24.2"
+ "browserslist": "^4.24.4"
},
"funding": {
"type": "opencollective",
@@ -10322,12 +10715,14 @@
}
},
"node_modules/data-view-buffer": {
- "version": "1.0.1",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz",
+ "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.6",
+ "call-bound": "^1.0.3",
"es-errors": "^1.3.0",
- "is-data-view": "^1.0.1"
+ "is-data-view": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -10337,25 +10732,29 @@
}
},
"node_modules/data-view-byte-length": {
- "version": "1.0.1",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz",
+ "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
+ "call-bound": "^1.0.3",
"es-errors": "^1.3.0",
- "is-data-view": "^1.0.1"
+ "is-data-view": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/sponsors/inspect-js"
}
},
"node_modules/data-view-byte-offset": {
- "version": "1.0.0",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz",
+ "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.6",
+ "call-bound": "^1.0.2",
"es-errors": "^1.3.0",
"is-data-view": "^1.0.1"
},
@@ -10783,19 +11182,6 @@
"node": ">=8"
}
},
- "node_modules/doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
"node_modules/dom-serializer": {
"version": "2.0.0",
"license": "MIT",
@@ -10898,11 +11284,12 @@
}
},
"node_modules/dunder-proto": {
- "version": "1.0.0",
- "dev": true,
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
"license": "MIT",
"dependencies": {
- "call-bind-apply-helpers": "^1.0.0",
+ "call-bind-apply-helpers": "^1.0.1",
"es-errors": "^1.3.0",
"gopd": "^1.2.0"
},
@@ -10935,7 +11322,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.5.72",
+ "version": "1.5.120",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.120.tgz",
+ "integrity": "sha512-oTUp3gfX1gZI+xfD2djr2rzQdHCwHzPQrrK0CD7WpTdF0nPdQ/INcRVjWgLdCT4a9W3jFObR9DAfsuyFQnI8CQ==",
"license": "ISC"
},
"node_modules/emitter-listener": {
@@ -11068,55 +11457,62 @@
}
},
"node_modules/es-abstract": {
- "version": "1.23.5",
+ "version": "1.23.9",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz",
+ "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==",
"license": "MIT",
"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.3",
+ "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",
+ "es-set-tostringtag": "^2.1.0",
+ "es-to-primitive": "^1.3.0",
+ "function.prototype.name": "^1.1.8",
+ "get-intrinsic": "^1.2.7",
+ "get-proto": "^1.0.0",
+ "get-symbol-description": "^1.1.0",
"globalthis": "^1.0.4",
- "gopd": "^1.0.1",
+ "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-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",
+ "is-data-view": "^1.0.2",
+ "is-regex": "^1.2.1",
+ "is-shared-array-buffer": "^1.0.4",
+ "is-string": "^1.1.1",
+ "is-typed-array": "^1.1.15",
+ "is-weakref": "^1.1.0",
+ "math-intrinsics": "^1.1.0",
"object-inspect": "^1.13.3",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.5",
+ "object.assign": "^4.1.7",
+ "own-keys": "^1.0.1",
"regexp.prototype.flags": "^1.5.3",
- "safe-array-concat": "^1.1.2",
- "safe-regex-test": "^1.0.3",
- "string.prototype.trim": "^1.2.9",
- "string.prototype.trimend": "^1.0.8",
+ "safe-array-concat": "^1.1.3",
+ "safe-push-apply": "^1.0.0",
+ "safe-regex-test": "^1.1.0",
+ "set-proto": "^1.0.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"
+ "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.18"
},
"engines": {
"node": ">= 0.4"
@@ -11126,11 +11522,10 @@
}
},
"node_modules/es-define-property": {
- "version": "1.0.0",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
"license": "MIT",
- "dependencies": {
- "get-intrinsic": "^1.2.4"
- },
"engines": {
"node": ">= 0.4"
}
@@ -11161,25 +11556,28 @@
}
},
"node_modules/es-iterator-helpers": {
- "version": "1.2.0",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz",
+ "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==",
"dev": true,
"license": "MIT",
"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",
+ "get-intrinsic": "^1.2.6",
"globalthis": "^1.0.4",
- "gopd": "^1.0.1",
+ "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.3",
- "safe-array-concat": "^1.1.2"
+ "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"
},
"engines": {
"node": ">= 0.4"
@@ -11192,7 +11590,9 @@
"peer": true
},
"node_modules/es-object-atoms": {
- "version": "1.0.0",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0"
@@ -11202,12 +11602,15 @@
}
},
"node_modules/es-set-tostringtag": {
- "version": "2.0.3",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
+ "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
"license": "MIT",
"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"
+ "hasown": "^2.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -11222,12 +11625,14 @@
}
},
"node_modules/es-to-primitive": {
- "version": "1.2.1",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz",
+ "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==",
"license": "MIT",
"dependencies": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
+ "is-callable": "^1.2.7",
+ "is-date-object": "^1.0.5",
+ "is-symbol": "^1.0.4"
},
"engines": {
"node": ">= 0.4"
@@ -11278,60 +11683,64 @@
}
},
"node_modules/eslint": {
- "version": "8.57.1",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
- "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
- "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
+ "version": "9.23.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.23.0.tgz",
+ "integrity": "sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.6.1",
- "@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.57.1",
- "@humanwhocodes/config-array": "^0.13.0",
+ "@eslint-community/regexpp": "^4.12.1",
+ "@eslint/config-array": "^0.19.2",
+ "@eslint/config-helpers": "^0.2.0",
+ "@eslint/core": "^0.12.0",
+ "@eslint/eslintrc": "^3.3.1",
+ "@eslint/js": "9.23.0",
+ "@eslint/plugin-kit": "^0.2.7",
+ "@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
- "@nodelib/fs.walk": "^1.2.8",
- "@ungap/structured-clone": "^1.2.0",
+ "@humanwhocodes/retry": "^0.4.2",
+ "@types/estree": "^1.0.6",
+ "@types/json-schema": "^7.0.15",
"ajv": "^6.12.4",
"chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
+ "cross-spawn": "^7.0.6",
"debug": "^4.3.2",
- "doctrine": "^3.0.0",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.2.2",
- "eslint-visitor-keys": "^3.4.3",
- "espree": "^9.6.1",
- "esquery": "^1.4.2",
+ "eslint-scope": "^8.3.0",
+ "eslint-visitor-keys": "^4.2.0",
+ "espree": "^10.3.0",
+ "esquery": "^1.5.0",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
+ "file-entry-cache": "^8.0.0",
"find-up": "^5.0.0",
"glob-parent": "^6.0.2",
- "globals": "^13.19.0",
- "graphemer": "^1.4.0",
"ignore": "^5.2.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
- "is-path-inside": "^3.0.3",
- "js-yaml": "^4.1.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
"lodash.merge": "^4.6.2",
"minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
- "optionator": "^0.9.3",
- "strip-ansi": "^6.0.1",
- "text-table": "^0.2.0"
+ "optionator": "^0.9.3"
},
"bin": {
"eslint": "bin/eslint.js"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
- "url": "https://opencollective.com/eslint"
+ "url": "https://eslint.org/donate"
+ },
+ "peerDependencies": {
+ "jiti": "*"
+ },
+ "peerDependenciesMeta": {
+ "jiti": {
+ "optional": true
+ }
}
},
"node_modules/eslint-config-prettier": {
@@ -11419,24 +11828,6 @@
"node": ">=0.8.0"
}
},
- "node_modules/eslint-plugin-ft-flow": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/eslint-plugin-ft-flow/-/eslint-plugin-ft-flow-2.0.3.tgz",
- "integrity": "sha512-Vbsd/b+LYA99jUbsL6viEUWShFaYQt2YQs3QN3f+aeszOhh2sgdcU0mjzDyD4yyBvMc8qy2uwvBBWfMzEX06tg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "lodash": "^4.17.21",
- "string-natural-compare": "^3.0.1"
- },
- "engines": {
- "node": ">=12.22.0"
- },
- "peerDependencies": {
- "@babel/eslint-parser": "^7.12.0",
- "eslint": "^8.1.0"
- }
- },
"node_modules/eslint-plugin-header": {
"version": "3.1.1",
"dev": true,
@@ -11525,9 +11916,9 @@
}
},
"node_modules/eslint-plugin-jest": {
- "version": "28.9.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.9.0.tgz",
- "integrity": "sha512-rLu1s1Wf96TgUUxSw6loVIkNtUjq1Re7A9QdCCHSohnvXEBAjuL420h0T/fMmkQlNsQP2GhQzEUpYHPfxBkvYQ==",
+ "version": "28.11.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.11.0.tgz",
+ "integrity": "sha512-QAfipLcNCWLVocVbZW8GimKn5p5iiMcgGbRzz8z/P5q7xw+cNEpYqyzFMtIF/ZgF2HLOyy+dYBut+DoYolvqig==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11551,27 +11942,29 @@
}
},
"node_modules/eslint-plugin-react": {
- "version": "7.37.2",
+ "version": "7.37.4",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz",
+ "integrity": "sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==",
"dev": true,
"license": "MIT",
"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.1.0",
+ "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.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"
},
"engines": {
@@ -11582,7 +11975,9 @@
}
},
"node_modules/eslint-plugin-react-hooks": {
- "version": "5.1.0",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz",
+ "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11592,19 +11987,6 @@
"eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0"
}
},
- "node_modules/eslint-plugin-react-native": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-4.1.0.tgz",
- "integrity": "sha512-QLo7rzTBOl43FvVqDdq5Ql9IoElIuTdjrz9SKAXCvULvBoRZ44JGSkx9z4999ZusCsb4rK3gjS8gOGyeYqZv2Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "eslint-plugin-react-native-globals": "^0.1.1"
- },
- "peerDependencies": {
- "eslint": "^3.17.0 || ^4 || ^5 || ^6 || ^7 || ^8"
- }
- },
"node_modules/eslint-plugin-react-native-globals": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz",
@@ -11695,28 +12077,6 @@
"node": ">=10"
}
},
- "node_modules/eslint/node_modules/ajv": {
- "version": "6.12.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/eslint/node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true,
- "license": "Python-2.0"
- },
"node_modules/eslint/node_modules/brace-expansion": {
"version": "1.1.11",
"dev": true,
@@ -11727,9 +12087,9 @@
}
},
"node_modules/eslint/node_modules/eslint-scope": {
- "version": "7.2.2",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
- "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz",
+ "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
@@ -11737,20 +12097,20 @@
"estraverse": "^5.2.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
"node_modules/eslint/node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
+ "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
"dev": true,
"license": "Apache-2.0",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
@@ -11782,40 +12142,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/eslint/node_modules/globals": {
- "version": "13.24.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
- "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "type-fest": "^0.20.2"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint/node_modules/js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/eslint/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "dev": true,
- "license": "MIT"
- },
"node_modules/eslint/node_modules/locate-path": {
"version": "6.0.0",
"dev": true,
@@ -11855,19 +12181,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/eslint/node_modules/type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/esm": {
"version": "3.2.25",
"license": "MIT",
@@ -11876,31 +12189,31 @@
}
},
"node_modules/espree": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
- "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz",
+ "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
- "acorn": "^8.9.0",
+ "acorn": "^8.14.0",
"acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.4.1"
+ "eslint-visitor-keys": "^4.2.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
"node_modules/espree/node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
+ "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
"dev": true,
"license": "Apache-2.0",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
@@ -12035,26 +12348,26 @@
}
},
"node_modules/expo": {
- "version": "52.0.19",
- "resolved": "https://registry.npmjs.org/expo/-/expo-52.0.19.tgz",
- "integrity": "sha512-wOb/wbiQa0xqQRhgVBuOhLRus05TSw6fgThVMrPQgdLo24EPuT/ZAiRVcVRdjrEbwOqCDumgQCB7636B9J+jKg==",
+ "version": "52.0.40",
+ "resolved": "https://registry.npmjs.org/expo/-/expo-52.0.40.tgz",
+ "integrity": "sha512-kRRXW0VRlnc49LiMO9csF5DjWmUQhQ0lHudNIi3m9Z4nvecJbDaKWI5nNxB5UG7Sqj0I/wsBMes5G6gEndeYlQ==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.20.0",
- "@expo/cli": "0.22.6",
- "@expo/config": "~10.0.6",
- "@expo/config-plugins": "~9.0.12",
- "@expo/fingerprint": "0.11.4",
- "@expo/metro-config": "0.19.8",
+ "@expo/cli": "0.22.21",
+ "@expo/config": "~10.0.11",
+ "@expo/config-plugins": "~9.0.17",
+ "@expo/fingerprint": "0.11.11",
+ "@expo/metro-config": "0.19.12",
"@expo/vector-icons": "^14.0.0",
- "babel-preset-expo": "~12.0.4",
- "expo-asset": "~11.0.1",
- "expo-constants": "~17.0.3",
- "expo-file-system": "~18.0.6",
- "expo-font": "~13.0.1",
- "expo-keep-awake": "~14.0.1",
- "expo-modules-autolinking": "2.0.4",
- "expo-modules-core": "2.1.2",
+ "babel-preset-expo": "~12.0.9",
+ "expo-asset": "~11.0.5",
+ "expo-constants": "~17.0.8",
+ "expo-file-system": "~18.0.12",
+ "expo-font": "~13.0.4",
+ "expo-keep-awake": "~14.0.3",
+ "expo-modules-autolinking": "2.0.8",
+ "expo-modules-core": "2.2.3",
"fbemitter": "^3.0.0",
"web-streams-polyfill": "^3.3.2",
"whatwg-url-without-unicode": "8.0.0-3"
@@ -12082,22 +12395,22 @@
}
},
"node_modules/expo-application": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/expo-application/-/expo-application-6.0.1.tgz",
- "integrity": "sha512-w+1quSmKp8SYKT+GAFHSN5c6u+PqoVRIfpsLyRQrQdOnBA9dA8Hw6JT9sHNFmA30A2v1b/sdYZE3qKuRJFNSWQ==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/expo-application/-/expo-application-6.0.2.tgz",
+ "integrity": "sha512-qcj6kGq3mc7x5yIb5KxESurFTJCoEKwNEL34RdPEvTB/xhl7SeVZlu05sZBqxB1V4Ryzq/LsCb7NHNfBbb3L7A==",
"license": "MIT",
"peerDependencies": {
"expo": "*"
}
},
"node_modules/expo-asset": {
- "version": "11.0.1",
- "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-11.0.1.tgz",
- "integrity": "sha512-WatvD7JVC89EsllXFYcS/rji3ajVzE2B/USo0TqedsETixwyVCQfrrvCdCPQyuKghrxVNEj8bQ/Qbea/RZLYjg==",
+ "version": "11.0.5",
+ "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-11.0.5.tgz",
+ "integrity": "sha512-TL60LmMBGVzs3NQcO8ylWqBumMh4sx0lmeJsn7+9C88fylGDhyyVnKZ1PyTXo9CVDBkndutZx2JUEQWM9BaiXw==",
"license": "MIT",
"dependencies": {
- "@expo/image-utils": "^0.6.0",
- "expo-constants": "~17.0.0",
+ "@expo/image-utils": "^0.6.5",
+ "expo-constants": "~17.0.8",
"invariant": "^2.2.4",
"md5-file": "^3.2.3"
},
@@ -12108,13 +12421,13 @@
}
},
"node_modules/expo-constants": {
- "version": "17.0.3",
- "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-17.0.3.tgz",
- "integrity": "sha512-lnbcX2sAu8SucHXEXxSkhiEpqH+jGrf+TF+MO6sHWIESjwOUVVYlT8qYdjR9xbxWmqFtrI4KV44FkeJf2DaFjQ==",
+ "version": "17.0.8",
+ "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-17.0.8.tgz",
+ "integrity": "sha512-XfWRyQAf1yUNgWZ1TnE8pFBMqGmFP5Gb+SFSgszxDdOoheB/NI5D4p7q86kI2fvGyfTrxAe+D+74nZkfsGvUlg==",
"license": "MIT",
"dependencies": {
- "@expo/config": "~10.0.4",
- "@expo/env": "~0.4.0"
+ "@expo/config": "~10.0.11",
+ "@expo/env": "~0.4.2"
},
"peerDependencies": {
"expo": "*",
@@ -12122,9 +12435,9 @@
}
},
"node_modules/expo-crypto": {
- "version": "14.0.1",
- "resolved": "https://registry.npmjs.org/expo-crypto/-/expo-crypto-14.0.1.tgz",
- "integrity": "sha512-/gGpD9UAz8fgZtU08cwwqeQElkFmMy2Hc8lLa9laSjD3YN0XM07zDJyJ+CC1VhQ63G8WpUnq1IHSmaPbbLp+oQ==",
+ "version": "14.0.2",
+ "resolved": "https://registry.npmjs.org/expo-crypto/-/expo-crypto-14.0.2.tgz",
+ "integrity": "sha512-WRc9PBpJraJN29VD5Ef7nCecxJmZNyRKcGkNiDQC1nhY5agppzwhqh7zEzNFarE/GqDgSiaDHS8yd5EgFhP9AQ==",
"license": "MIT",
"dependencies": {
"base64-js": "^1.3.0"
@@ -12134,9 +12447,9 @@
}
},
"node_modules/expo-device": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/expo-device/-/expo-device-7.0.1.tgz",
- "integrity": "sha512-/3lk0f9wvle+6svHqWSCBC1B5NYFmXp1D7hmIyecJJVYRLwzrwwTDyNs76oG/UDU5Appdu8QyDKycsx2hqv71w==",
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/expo-device/-/expo-device-7.0.2.tgz",
+ "integrity": "sha512-0PkTixE4Qi8VQBjixnj4aw2f6vE4tUZH7GK8zHROGKlBypZKcWmsA+W/Vp3RC5AyREjX71pO/hjKTSo/vF0E2w==",
"license": "MIT",
"dependencies": {
"ua-parser-js": "^0.7.33"
@@ -12167,9 +12480,9 @@
}
},
"node_modules/expo-file-system": {
- "version": "18.0.6",
- "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-18.0.6.tgz",
- "integrity": "sha512-gGEwIJCXV3/wpIJ/wRyhmieLOSAY7HeFFjb+wEfHs04aE63JYR+rXXV4b7rBpEh1ZgNV9U91zfet/iQG7J8HBQ==",
+ "version": "18.0.12",
+ "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-18.0.12.tgz",
+ "integrity": "sha512-HAkrd/mb8r+G3lJ9MzmGeuW2B+BxQR1joKfeCyY4deLl1zoZ48FrAWjgZjHK9aHUVhJ0ehzInu/NQtikKytaeg==",
"license": "MIT",
"dependencies": {
"web-streams-polyfill": "^3.3.2"
@@ -12180,9 +12493,9 @@
}
},
"node_modules/expo-font": {
- "version": "13.0.1",
- "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-13.0.1.tgz",
- "integrity": "sha512-8JE47B+6cLeKWr5ql8gU6YsPHjhrz1vMrTqYMm72No/8iW8Sb/uL4Oc0dpmbjq3hLLXBY0xPBQOgU7FQ6Y04Vg==",
+ "version": "13.0.4",
+ "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-13.0.4.tgz",
+ "integrity": "sha512-eAP5hyBgC8gafFtprsz0HMaB795qZfgJWqTmU0NfbSin1wUuVySFMEPMOrTkTgmazU73v4Cb4x7p86jY1XXYUw==",
"license": "MIT",
"dependencies": {
"fontfaceobserver": "^2.1.0"
@@ -12193,9 +12506,10 @@
}
},
"node_modules/expo-image": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/expo-image/-/expo-image-2.0.4.tgz",
- "integrity": "sha512-oIVSlV/BpBJbI9Anf8RjraGJXDWSJxNKxdXkYBJ31XrQaUstOM7OmsVKjOK40ZFZHIz3rx5SBJWK5w52Uz+/bg==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/expo-image/-/expo-image-2.0.6.tgz",
+ "integrity": "sha512-NHpIZmGnrPbyDadil6eK+sUgyFMQfapEVb7YaGgxSFWBUQ1rSpjqdIQrCD24IZTO9uSH8V+hMh2ROxrAjAixzQ==",
+ "license": "MIT",
"peerDependencies": {
"expo": "*",
"react": "*",
@@ -12209,9 +12523,9 @@
}
},
"node_modules/expo-keep-awake": {
- "version": "14.0.1",
- "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-14.0.1.tgz",
- "integrity": "sha512-c5mGCAIk2YM+Vsdy90BlEJ4ZX+KG5Au9EkJUIxXWlpnuKmDAJ3N+5nEZ7EUO1ZTheqoSBeAo4jJ8rTWPU+JXdw==",
+ "version": "14.0.3",
+ "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-14.0.3.tgz",
+ "integrity": "sha512-6Jh94G6NvTZfuLnm2vwIpKe3GdOiVBuISl7FI8GqN0/9UOg9E0WXXp5cDcfAG8bn80RfgLJS8P7EPUGTZyOvhg==",
"license": "MIT",
"peerDependencies": {
"expo": "*",
@@ -12219,9 +12533,9 @@
}
},
"node_modules/expo-linear-gradient": {
- "version": "14.0.1",
- "resolved": "https://registry.npmjs.org/expo-linear-gradient/-/expo-linear-gradient-14.0.1.tgz",
- "integrity": "sha512-apGtUO9AZ52ZWvX9f6K9TamWw8XcUby7jZ0Pcvd5LxUO7pl7tDPx2VlKqpzbhhS4yfCiUwX58wqocwVnE/0ZVg==",
+ "version": "14.0.2",
+ "resolved": "https://registry.npmjs.org/expo-linear-gradient/-/expo-linear-gradient-14.0.2.tgz",
+ "integrity": "sha512-nvac1sPUfFFJ4mY25UkvubpUV/olrBH+uQw5k+beqSvQaVQiUfFtYzfRr+6HhYBNb4AEsOtpsCRkpDww3M2iGQ==",
"license": "MIT",
"peerDependencies": {
"expo": "*",
@@ -12230,9 +12544,9 @@
}
},
"node_modules/expo-modules-autolinking": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-2.0.4.tgz",
- "integrity": "sha512-e0p+19NhmD50U7s7BV7kWIypWmTNC9n/VlJKlXS05hM/zX7pe6JKmXyb+BFnXJq3SLBalLCUY0tu2gEUF3XeVg==",
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-2.0.8.tgz",
+ "integrity": "sha512-DezgnEYFQYic8hKGhkbztBA3QUmSftjaNDIKNAtS2iGJmzCcNIkatjN2slFDSWjSTNo8gOvPQyMKfyHWFvLpOQ==",
"license": "MIT",
"dependencies": {
"@expo/spawn-async": "^1.7.2",
@@ -12310,18 +12624,18 @@
}
},
"node_modules/expo-modules-core": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-2.1.2.tgz",
- "integrity": "sha512-0OhMU5S8zf9c/CRh1MwiXfOInI9wzz6yiIh5RuR/9J7N6xHRum68hInsPbaSc1UQpo08ZZLM4MPsbpoNRUoqIg==",
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-2.2.3.tgz",
+ "integrity": "sha512-01QqZzpP/wWlxnNly4G06MsOBUTbMDj02DQigZoXfDh80vd/rk3/uVXqnZgOdLSggTs6DnvOgAUy0H2q30XdUg==",
"license": "MIT",
"dependencies": {
"invariant": "^2.2.4"
}
},
"node_modules/expo-store-review": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/expo-store-review/-/expo-store-review-8.0.0.tgz",
- "integrity": "sha512-WCRhYbESk+2ePhmLEdRxBy7BgZxInbZgGy7ZaQZmESTnyZKfBl4ZaWFUPA+OnADu9txijSyizAVTB1naM1KNdQ==",
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/expo-store-review/-/expo-store-review-8.0.1.tgz",
+ "integrity": "sha512-eJoZbsAsOXpyl1CEXauiMqs3z++8Qf1OMDUBEGmRj9hew+w9JbS3wvFOZpc0UXbm/NYn5YwiLfK7epQjLLKz4A==",
"license": "MIT",
"peerDependencies": {
"expo": "*",
@@ -12329,18 +12643,18 @@
}
},
"node_modules/expo-video-thumbnails": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/expo-video-thumbnails/-/expo-video-thumbnails-9.0.2.tgz",
- "integrity": "sha512-2mEggrJS2MgyALzXzVFNinMV5PxjL67q6kVqSAOCnfkaAmLprWqwg1SxE712Co9u7m/RUCkxQoZCgoRS24ohBw==",
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/expo-video-thumbnails/-/expo-video-thumbnails-9.0.3.tgz",
+ "integrity": "sha512-WDbYMNlcTN/jBnjXZkHWqbgWloHUpG8ZQfie/Ic+BcJagG00TenHcbdzEYiIjshcF4Hhvl3D8okbPFjDFip9/Q==",
"license": "MIT",
"peerDependencies": {
"expo": "*"
}
},
"node_modules/expo-web-browser": {
- "version": "14.0.1",
- "resolved": "https://registry.npmjs.org/expo-web-browser/-/expo-web-browser-14.0.1.tgz",
- "integrity": "sha512-QM9F3ie+UyIOoBvqFmT6CZojb1vMc2H+7ZlMT5dEu1PL2jtYyOeK2hLfbt/EMt7CBm/w+P29H9W9Y9gdebOkuQ==",
+ "version": "14.0.2",
+ "resolved": "https://registry.npmjs.org/expo-web-browser/-/expo-web-browser-14.0.2.tgz",
+ "integrity": "sha512-Hncv2yojhTpHbP6SGWARBFdl7P6wBHc1O8IKaNsH0a/IEakq887o1eRhLxZ5IwztPQyRDhpqHdgJ+BjWolOnwA==",
"license": "MIT",
"peerDependencies": {
"expo": "*",
@@ -12460,13 +12774,6 @@
"version": "1.0.2",
"license": "MIT"
},
- "node_modules/fbjs/node_modules/promise": {
- "version": "7.3.1",
- "license": "MIT",
- "dependencies": {
- "asap": "~2.0.3"
- }
- },
"node_modules/fetch-retry": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/fetch-retry/-/fetch-retry-4.1.1.tgz",
@@ -12478,16 +12785,16 @@
"license": "MIT"
},
"node_modules/file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
+ "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "flat-cache": "^3.0.4"
+ "flat-cache": "^4.0.0"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": ">=16.0.0"
}
},
"node_modules/file-js": {
@@ -12677,24 +12984,23 @@
}
},
"node_modules/flat-cache": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
- "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
+ "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
"dev": true,
"license": "MIT",
"dependencies": {
"flatted": "^3.2.9",
- "keyv": "^4.5.3",
- "rimraf": "^3.0.2"
+ "keyv": "^4.5.4"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": ">=16"
}
},
"node_modules/flatted": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz",
- "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
+ "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
"dev": true,
"license": "ISC"
},
@@ -12716,19 +13022,27 @@
"license": "BSD-2-Clause"
},
"node_modules/for-each": {
- "version": "0.3.3",
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz",
+ "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==",
"license": "MIT",
"dependencies": {
- "is-callable": "^1.1.3"
+ "is-callable": "^1.2.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/foreground-child": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz",
- "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
+ "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
"license": "ISC",
"dependencies": {
- "cross-spawn": "^7.0.0",
+ "cross-spawn": "^7.0.6",
"signal-exit": "^4.0.1"
},
"engines": {
@@ -12866,13 +13180,17 @@
}
},
"node_modules/function.prototype.name": {
- "version": "1.1.6",
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz",
+ "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "functions-have-names": "^1.2.3"
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "functions-have-names": "^1.2.3",
+ "hasown": "^2.0.2",
+ "is-callable": "^1.2.7"
},
"engines": {
"node": ">= 0.4"
@@ -12889,7 +13207,9 @@
}
},
"node_modules/fuse.js": {
- "version": "7.0.0",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.1.0.tgz",
+ "integrity": "sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ==",
"license": "Apache-2.0",
"engines": {
"node": ">=10"
@@ -12910,14 +13230,21 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.4",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
"license": "MIT",
"dependencies": {
+ "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"
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
@@ -13029,6 +13356,19 @@
"node": ">=4"
}
},
+ "node_modules/get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/get-stream": {
"version": "6.0.1",
"license": "MIT",
@@ -13040,12 +13380,14 @@
}
},
"node_modules/get-symbol-description": {
- "version": "1.0.2",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz",
+ "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.5",
+ "call-bound": "^1.0.3",
"es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.4"
+ "get-intrinsic": "^1.2.6"
},
"engines": {
"node": ">= 0.4"
@@ -13207,8 +13549,13 @@
}
},
"node_modules/has-proto": {
- "version": "1.0.3",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz",
+ "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==",
"license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.0"
+ },
"engines": {
"node": ">= 0.4"
},
@@ -13217,7 +13564,9 @@
}
},
"node_modules/has-symbols": {
- "version": "1.0.3",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -13381,7 +13730,9 @@
}
},
"node_modules/html-entities": {
- "version": "2.5.2",
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.3.tgz",
+ "integrity": "sha512-D3AfvN7SjhTgBSA8L1BN4FpPzuEd06uy4lHwSoRWr0lndi9BKaNzPLKGOWZ2ocSGguozr08TTb2jhCLHaemruw==",
"funding": [
{
"type": "github",
@@ -13647,12 +13998,14 @@
}
},
"node_modules/internal-slot": {
- "version": "1.0.7",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz",
+ "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
- "hasown": "^2.0.0",
- "side-channel": "^1.0.4"
+ "hasown": "^2.0.2",
+ "side-channel": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
@@ -13667,15 +14020,15 @@
}
},
"node_modules/intl-messageformat": {
- "version": "10.7.10",
- "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.10.tgz",
- "integrity": "sha512-hp7iejCBiJdW3zmOe18FdlJu8U/JsADSDiBPQhfdSeI8B9POtvPRvPh3nMlvhYayGMKLv6maldhR7y3Pf1vkpw==",
+ "version": "10.7.16",
+ "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.16.tgz",
+ "integrity": "sha512-UmdmHUmp5CIKKjSoE10la5yfU+AYJAaiYLsodbjL4lji83JNvgOQUjGaGhGrpFCb0Uh7sl7qfP1IyILa8Z40ug==",
"license": "BSD-3-Clause",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "@formatjs/fast-memoize": "2.2.5",
- "@formatjs/icu-messageformat-parser": "2.9.7",
- "tslib": "2"
+ "@formatjs/ecma402-abstract": "2.3.4",
+ "@formatjs/fast-memoize": "2.2.7",
+ "@formatjs/icu-messageformat-parser": "2.11.2",
+ "tslib": "^2.8.0"
}
},
"node_modules/invariant": {
@@ -13750,11 +14103,14 @@
}
},
"node_modules/is-array-buffer": {
- "version": "3.0.4",
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz",
+ "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.1"
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "get-intrinsic": "^1.2.6"
},
"engines": {
"node": ">= 0.4"
@@ -13768,11 +14124,16 @@
"license": "MIT"
},
"node_modules/is-async-function": {
- "version": "2.0.0",
- "dev": true,
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz",
+ "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==",
"license": "MIT",
"dependencies": {
- "has-tostringtag": "^1.0.0"
+ "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"
},
"engines": {
"node": ">= 0.4"
@@ -13782,10 +14143,15 @@
}
},
"node_modules/is-bigint": {
- "version": "1.0.4",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz",
+ "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==",
"license": "MIT",
"dependencies": {
- "has-bigints": "^1.0.1"
+ "has-bigints": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -13804,11 +14170,13 @@
}
},
"node_modules/is-boolean-object": {
- "version": "1.1.2",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz",
+ "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -13847,9 +14215,13 @@
}
},
"node_modules/is-data-view": {
- "version": "1.0.1",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz",
+ "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==",
"license": "MIT",
"dependencies": {
+ "call-bound": "^1.0.2",
+ "get-intrinsic": "^1.2.6",
"is-typed-array": "^1.1.13"
},
"engines": {
@@ -13860,10 +14232,13 @@
}
},
"node_modules/is-date-object": {
- "version": "1.0.5",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz",
+ "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==",
"license": "MIT",
"dependencies": {
- "has-tostringtag": "^1.0.0"
+ "call-bound": "^1.0.2",
+ "has-tostringtag": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -13908,11 +14283,12 @@
}
},
"node_modules/is-finalizationregistry": {
- "version": "1.1.0",
- "dev": true,
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz",
+ "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7"
+ "call-bound": "^1.0.3"
},
"engines": {
"node": ">= 0.4"
@@ -13937,11 +14313,15 @@
}
},
"node_modules/is-generator-function": {
- "version": "1.0.10",
- "dev": true,
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz",
+ "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==",
"license": "MIT",
"dependencies": {
- "has-tostringtag": "^1.0.0"
+ "call-bound": "^1.0.3",
+ "get-proto": "^1.0.0",
+ "has-tostringtag": "^1.0.2",
+ "safe-regex-test": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
@@ -13985,15 +14365,12 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-negative-zero": {
- "version": "2.0.3",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "node_modules/is-node-process": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz",
+ "integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/is-number": {
"version": "7.0.0",
@@ -14003,10 +14380,13 @@
}
},
"node_modules/is-number-object": {
- "version": "1.0.7",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz",
+ "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==",
"license": "MIT",
"dependencies": {
- "has-tostringtag": "^1.0.0"
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -14026,6 +14406,8 @@
},
"node_modules/is-path-inside": {
"version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
"license": "MIT",
"engines": {
"node": ">=8"
@@ -14047,11 +14429,15 @@
"license": "MIT"
},
"node_modules/is-regex": {
- "version": "1.1.4",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz",
+ "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
+ "call-bound": "^1.0.2",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -14071,10 +14457,12 @@
}
},
"node_modules/is-shared-array-buffer": {
- "version": "1.0.3",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz",
+ "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7"
+ "call-bound": "^1.0.3"
},
"engines": {
"node": ">= 0.4"
@@ -14094,10 +14482,13 @@
}
},
"node_modules/is-string": {
- "version": "1.0.7",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz",
+ "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==",
"license": "MIT",
"dependencies": {
- "has-tostringtag": "^1.0.0"
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -14107,10 +14498,14 @@
}
},
"node_modules/is-symbol": {
- "version": "1.0.4",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz",
+ "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==",
"license": "MIT",
"dependencies": {
- "has-symbols": "^1.0.2"
+ "call-bound": "^1.0.2",
+ "has-symbols": "^1.1.0",
+ "safe-regex-test": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
@@ -14120,10 +14515,12 @@
}
},
"node_modules/is-typed-array": {
- "version": "1.1.13",
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz",
+ "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==",
"license": "MIT",
"dependencies": {
- "which-typed-array": "^1.1.14"
+ "which-typed-array": "^1.1.16"
},
"engines": {
"node": ">= 0.4"
@@ -14153,10 +14550,15 @@
}
},
"node_modules/is-weakref": {
- "version": "1.0.2",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz",
+ "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2"
+ "call-bound": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -14291,15 +14693,18 @@
}
},
"node_modules/iterator.prototype": {
- "version": "1.1.3",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz",
+ "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==",
"dev": true,
"license": "MIT",
"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"
+ "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"
},
"engines": {
"node": ">= 0.4"
@@ -14599,14 +15004,14 @@
}
},
"node_modules/jest-expo": {
- "version": "52.0.2",
- "resolved": "https://registry.npmjs.org/jest-expo/-/jest-expo-52.0.2.tgz",
- "integrity": "sha512-6xV/+IRw93Org1UlgIqu89Ex3vuPRozD5VqTS95AonHMgjb0XTHHhMmn+TdR1d3i3ziy7JFbWAMoBLwminIalw==",
+ "version": "52.0.6",
+ "resolved": "https://registry.npmjs.org/jest-expo/-/jest-expo-52.0.6.tgz",
+ "integrity": "sha512-Ql60mCy4cfwyNvCW2wpEXbw/3i5H+SmB1XP1z0SJUpafGBipq6xMjPcgQpe/7PzAHTc/ikD+dFA0sPnljDJmZQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@expo/config": "~10.0.4",
- "@expo/json-file": "^9.0.0",
+ "@expo/config": "~10.0.11",
+ "@expo/json-file": "^9.0.2",
"@jest/create-cache-key-function": "^29.2.1",
"@jest/globals": "^29.2.1",
"babel-jest": "^29.2.1",
@@ -14699,13 +15104,6 @@
"react": "19.0.0-rc-6230622a1a-20240610"
}
},
- "node_modules/jest-expo/node_modules/react-is": {
- "version": "18.3.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
- "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/jest-expo/node_modules/react-server-dom-webpack": {
"version": "19.0.0-rc-6230622a1a-20240610",
"resolved": "https://registry.npmjs.org/react-server-dom-webpack/-/react-server-dom-webpack-19.0.0-rc-6230622a1a-20240610.tgz",
@@ -14725,31 +15123,6 @@
"webpack": "^5.59.0"
}
},
- "node_modules/jest-expo/node_modules/react-test-renderer": {
- "version": "18.3.1",
- "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.3.1.tgz",
- "integrity": "sha512-KkAgygexHUkQqtvvx/otwxtuFu5cVjfzTCtjXLH9boS19/Nbtg84zS7wIQn39G8IlrhThBpQsMKkq5ZHZIYFXA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "react-is": "^18.3.1",
- "react-shallow-renderer": "^16.15.0",
- "scheduler": "^0.23.2"
- },
- "peerDependencies": {
- "react": "^18.3.1"
- }
- },
- "node_modules/jest-expo/node_modules/react-test-renderer/node_modules/scheduler": {
- "version": "0.23.2",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
- "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "loose-envify": "^1.1.0"
- }
- },
"node_modules/jest-expo/node_modules/scheduler": {
"version": "0.25.0-rc-6230622a1a-20240610",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0-rc-6230622a1a-20240610.tgz",
@@ -15488,7 +15861,9 @@
"license": "MIT"
},
"node_modules/json-schema-traverse": {
- "version": "1.0.0",
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true,
"license": "MIT"
},
@@ -16166,6 +16541,15 @@
"version": "1.2.5",
"license": "Apache-2.0"
},
+ "node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/mathjax-full": {
"version": "3.2.2",
"license": "Apache-2.0",
@@ -16617,7 +17001,9 @@
}
},
"node_modules/mime-db": {
- "version": "1.53.0",
+ "version": "1.54.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
@@ -16839,9 +17225,9 @@
}
},
"node_modules/moment-timezone": {
- "version": "0.5.46",
- "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.46.tgz",
- "integrity": "sha512-ZXm9b36esbe7OmdABqIWJuBBiLLwAjrN7CE+7sYdCCx82Nabt1wHDj8TVseS59QIlfFPbOoiBPm6ca9BioG4hw==",
+ "version": "0.5.48",
+ "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.48.tgz",
+ "integrity": "sha512-f22b8LV1gbTO2ms2j2z13MuPogNoh5UzxL3nzNAYKGraILnbGc9NEE6dyiiiLv46DGRb8A4kg8UKWLjPthxBHw==",
"license": "MIT",
"dependencies": {
"moment": "^2.29.4"
@@ -16928,16 +17314,18 @@
}
},
"node_modules/nock": {
- "version": "13.5.6",
+ "version": "14.0.1",
+ "resolved": "https://registry.npmjs.org/nock/-/nock-14.0.1.tgz",
+ "integrity": "sha512-IJN4O9pturuRdn60NjQ7YkFt6Rwei7ZKaOwb1tvUIIqTgeD0SDDAX3vrqZD4wcXczeEy/AsUXxpGpP/yHqV7xg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "debug": "^4.1.0",
+ "@mswjs/interceptors": "^0.37.3",
"json-stringify-safe": "^5.0.1",
"propagate": "^2.0.0"
},
"engines": {
- "node": ">= 10.13"
+ "node": ">=18.20.0 <20 || >=20.12.1"
}
},
"node_modules/node-abort-controller": {
@@ -17000,7 +17388,9 @@
}
},
"node_modules/node-html-parser": {
- "version": "6.1.13",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-7.0.1.tgz",
+ "integrity": "sha512-KGtmPY2kS0thCWGK0VuPyOS+pBKhhe8gXztzA2ilAOhbUbxa9homF1bOyKvhGzMLXUoRds9IOmr/v5lr/lqNmA==",
"license": "MIT",
"dependencies": {
"css-select": "^5.1.0",
@@ -17012,7 +17402,9 @@
"license": "MIT"
},
"node_modules/node-releases": {
- "version": "2.0.18",
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
+ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
"license": "MIT"
},
"node_modules/node-stream-zip": {
@@ -17125,12 +17517,16 @@
}
},
"node_modules/object.assign": {
- "version": "4.1.5",
+ "version": "4.1.7",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz",
+ "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==",
"license": "MIT",
"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"
},
"engines": {
@@ -17184,11 +17580,14 @@
}
},
"node_modules/object.values": {
- "version": "1.2.0",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz",
+ "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==",
"dev": true,
"license": "MIT",
"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"
},
@@ -17358,6 +17757,30 @@
"node": ">=0.10.0"
}
},
+ "node_modules/outvariant": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz",
+ "integrity": "sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/own-keys": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz",
+ "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==",
+ "license": "MIT",
+ "dependencies": {
+ "get-intrinsic": "^1.2.6",
+ "object-keys": "^1.1.1",
+ "safe-push-apply": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/p-defer": {
"version": "1.0.0",
"license": "MIT",
@@ -18192,7 +18615,9 @@
}
},
"node_modules/react-devtools-core": {
- "version": "6.0.1",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-6.1.1.tgz",
+ "integrity": "sha512-TFo1MEnkqE6hzAbaztnyR5uLTMoz6wnEWwWBsCUzNt+sVXJycuRJdDqvL078M4/h65BI/YO5XWTaxZDWVsW0fw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -18230,23 +18655,23 @@
}
},
"node_modules/react-intl": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-7.0.4.tgz",
- "integrity": "sha512-WGNfCPNcRQhNAZBN+amz2hfR8Kd7jngScJ4WaRZcsaOWsvva1ciStnUIGj9MvOAxPqTf1D78J5OdRdc3l0wgKQ==",
+ "version": "7.1.8",
+ "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-7.1.8.tgz",
+ "integrity": "sha512-wUW9EHK0baMor+oQ7uce+wWFI4yhToH7YMj9y/z+/NGYAamwxNCgzKcnqpT9LTYS8Z8KYxm3//+vJPqrlV+jdQ==",
"license": "BSD-3-Clause",
"dependencies": {
- "@formatjs/ecma402-abstract": "2.3.1",
- "@formatjs/icu-messageformat-parser": "2.9.7",
- "@formatjs/intl": "3.0.4",
- "@types/hoist-non-react-statics": "3",
+ "@formatjs/ecma402-abstract": "2.3.4",
+ "@formatjs/icu-messageformat-parser": "2.11.2",
+ "@formatjs/intl": "3.1.5",
+ "@types/hoist-non-react-statics": "^3.3.1",
"@types/react": "16 || 17 || 18 || 19",
- "hoist-non-react-statics": "3",
- "intl-messageformat": "10.7.10",
- "tslib": "2"
+ "hoist-non-react-statics": "^3.3.2",
+ "intl-messageformat": "10.7.16",
+ "tslib": "^2.8.0"
},
"peerDependencies": {
- "react": "^16.6.0 || 17 || 18 || 19",
- "typescript": "5"
+ "react": "16 || 17 || 18 || 19",
+ "typescript": "5.8.2"
},
"peerDependenciesMeta": {
"typescript": {
@@ -18259,7 +18684,9 @@
"license": "MIT"
},
"node_modules/react-lifecycles-compat": {
- "version": "2.0.0",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
+ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==",
"license": "MIT"
},
"node_modules/react-native": {
@@ -18375,15 +18802,14 @@
}
},
"node_modules/react-native-gesture-handler": {
- "version": "2.21.2",
- "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.21.2.tgz",
- "integrity": "sha512-HcwB225K9aeZ8e/B8nFzEh+2T4EPWTeamO1l/y3PcQ9cyCDYO2zja/G31ITpYRIqkip7XzGs6wI/gnHOQn1LDQ==",
+ "version": "2.24.0",
+ "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.24.0.tgz",
+ "integrity": "sha512-ZdWyOd1C8axKJHIfYxjJKCcxjWEpUtUWgTOVY2wynbiveSQDm8X/PDyAKXSer/GOtIpjudUbACOndZXCN3vHsw==",
"license": "MIT",
"dependencies": {
"@egjs/hammerjs": "^2.0.17",
"hoist-non-react-statics": "^3.3.0",
- "invariant": "^2.2.4",
- "prop-types": "^15.7.2"
+ "invariant": "^2.2.4"
},
"peerDependencies": {
"react": "*",
@@ -18403,9 +18829,9 @@
}
},
"node_modules/react-native-image-picker": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/react-native-image-picker/-/react-native-image-picker-7.2.3.tgz",
- "integrity": "sha512-zKIZUlQNU3EtqizsXSH92zPeve4vpUrsqHu2kkpCxWE9TZhJFZBb+irDsBOY8J21k0+Edgt06TMQGJ+iPUIXyA==",
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/react-native-image-picker/-/react-native-image-picker-8.2.0.tgz",
+ "integrity": "sha512-jIGllQJuJIn0YKss/JEeb0Kos1HSsnIpU+i3bYxR27sOxSyDZQyP9dKR22olssQPlfH+rGNR/Jc6xKRkhm48vw==",
"license": "MIT",
"peerDependencies": {
"react": "*",
@@ -18426,6 +18852,16 @@
"react-native": ">=0.42.0"
}
},
+ "node_modules/react-native-is-edge-to-edge": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.1.6.tgz",
+ "integrity": "sha512-1pHnFTlBahins6UAajXUqeCOHew9l9C2C8tErnpGC3IyLJzvxD+TpYAixnCbrVS52f7+NvMttbiSI290XfwN0w==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": ">=18.2.0",
+ "react-native": ">=0.73.0"
+ }
+ },
"node_modules/react-native-keyboard-aware-scroll-view": {
"version": "0.9.5",
"license": "MIT",
@@ -18438,22 +18874,22 @@
}
},
"node_modules/react-native-keychain": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/react-native-keychain/-/react-native-keychain-9.2.2.tgz",
- "integrity": "sha512-sATwVC76fEl4fsdBsgzG6lwhUhKduK0yqPBKHQRrJlv/2/HFBLXc4yLk9SKnZdgVHCpBxIEX4obMyMcu3HBh9w==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/react-native-keychain/-/react-native-keychain-10.0.0.tgz",
+ "integrity": "sha512-YzPKSAnSzGEJ12IK6CctNLU79T1W15WDrElRQ+1/FsOazGX9ucFPTQwgYe8Dy8jiSEDJKM4wkVa3g4lD2Z+Pnw==",
"license": "MIT",
"workspaces": [
"KeychainExample",
"website"
],
"engines": {
- "node": ">=18"
+ "node": ">=16"
}
},
"node_modules/react-native-localize": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/react-native-localize/-/react-native-localize-3.3.0.tgz",
- "integrity": "sha512-pbxiL0sL9hv3dRRcDRHEcsLGfuQavFfsK0dK5RNVjmTI8x3hiojRJHcppzqKOAUjZusehbA7Hnzdjz/7LkZsgw==",
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/react-native-localize/-/react-native-localize-3.4.1.tgz",
+ "integrity": "sha512-NJqJGBUpHtD/MpLCCkrNiqNZ+xFwbHCivxaoN1Oeb8tBAiZr/IqgP3E+MgnqmmdTMOJ33llUfiW3EM6pEIb33w==",
"license": "MIT",
"peerDependencies": {
"react": ">=18.1.0",
@@ -19191,15 +19627,15 @@
}
},
"node_modules/react-native-navigation": {
- "version": "7.40.3",
- "resolved": "https://registry.npmjs.org/react-native-navigation/-/react-native-navigation-7.40.3.tgz",
- "integrity": "sha512-3IDoIDj3UWQduyyMQmqcWolFGcMt09SS0KlGbnjZZ60eFBbPbGEbXyGJG4p1fdQuIkkD9jOKlcXEMlApPyerfA==",
+ "version": "7.44.0",
+ "resolved": "https://registry.npmjs.org/react-native-navigation/-/react-native-navigation-7.44.0.tgz",
+ "integrity": "sha512-/e55m66omwHPHhYxDJYXutxvxUGeLK8ZIh2/8pN+bzI+MWWbNvXUJIL0PLV5vWT8VM0N4Q7tTnEoRTJlCAwtxA==",
"license": "MIT",
"dependencies": {
"hoist-non-react-statics": "3.x.x",
"lodash": "4.17.x",
"prop-types": "15.x.x",
- "react-lifecycles-compat": "2.0.0",
+ "react-lifecycles-compat": "^3.0.4",
"tslib": "1.9.3"
},
"bin": {
@@ -19236,9 +19672,9 @@
}
},
"node_modules/react-native-permissions": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-5.2.1.tgz",
- "integrity": "sha512-F8CaDVi+zYjl2pO4Fwh5n5SCi5s0TvvRzQnczb8nwkzHJTv6HqlO6Sj1ZmqrAeuCN06b5Ysu9BEWhK4qT4ekXg==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-5.3.0.tgz",
+ "integrity": "sha512-krDaImQ7J8tm7P+GqKmTIkojNqdO0E6v2x7TOlX/7rRc/zlpoqRXsN7210ecChcUmEOJEH6wzPcemYq+7AfZiw==",
"license": "MIT",
"peerDependencies": {
"react": ">=18.1.0",
@@ -19252,9 +19688,9 @@
}
},
"node_modules/react-native-reanimated": {
- "version": "3.16.5",
- "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.16.5.tgz",
- "integrity": "sha512-mq/5k14pimkhCeP9XwFJkEr8XufaHqIekum8fqpsn0fcBzbLvyiqfM2LEuBvi0+DTv5Bd2dHmUHkYqGYfkj3Jw==",
+ "version": "3.17.1",
+ "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.17.1.tgz",
+ "integrity": "sha512-ECzLhLxMKLifv34a8799/MHqIazQZV9fLMNSMdixXQlzX71RyL3/ah3cz/h3ERoyhJAYRC2ySLLZho6pXSqMFQ==",
"license": "MIT",
"dependencies": {
"@babel/plugin-transform-arrow-functions": "^7.0.0-0",
@@ -19267,7 +19703,8 @@
"@babel/plugin-transform-unicode-regex": "^7.0.0-0",
"@babel/preset-typescript": "^7.16.7",
"convert-source-map": "^2.0.0",
- "invariant": "^2.2.4"
+ "invariant": "^2.2.4",
+ "react-native-is-edge-to-edge": "1.1.6"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0",
@@ -19276,9 +19713,9 @@
}
},
"node_modules/react-native-safe-area-context": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-5.0.0.tgz",
- "integrity": "sha512-4K4TvEbRsTDYuSSJZfMNKuJNn1+qgrSkOBwRoreiHcuqy1egrHpkhPhoN1Zg1+b3BxcVXlKXtMIf4eVaG/DPJw==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-5.3.0.tgz",
+ "integrity": "sha512-glV9bwuozTjf/JDBIBm+ITnukHNaUT3nucgdeADwjtHsfEN3RL5UO6nq99vvdWv5j/O9yCZBvFncM1BBQ+UvpQ==",
"license": "MIT",
"peerDependencies": {
"react": "*",
@@ -19286,9 +19723,9 @@
}
},
"node_modules/react-native-screens": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-4.3.0.tgz",
- "integrity": "sha512-G0u8BPgu2vcRZoQTlRpBXKa0ElQSDvDBlRe6ncWwCeBmd5Uqa2I3tQ6Vn6trIE6+yneW/nD4p5wihEHlAWZPEw==",
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-4.9.2.tgz",
+ "integrity": "sha512-87gR7XRIirACYxtYltEl1BbUo5r0W4AFPckUDDzATAN6LIUZ2PC3bX6UAFeoEBEqBbfaemRZTWSYHl6MCZFSgw==",
"license": "MIT",
"dependencies": {
"react-freeze": "^1.0.0",
@@ -19317,18 +19754,18 @@
}
},
"node_modules/react-native-share": {
- "version": "12.0.3",
- "resolved": "https://registry.npmjs.org/react-native-share/-/react-native-share-12.0.3.tgz",
- "integrity": "sha512-Bg96AjouSbcpdlI/AzWXMBwpjyWcm4NvGr49mSF1cz8aw8E1sMXwpsHa6I841SJML8Im6sRN3aXnK+/QManrtQ==",
+ "version": "12.0.9",
+ "resolved": "https://registry.npmjs.org/react-native-share/-/react-native-share-12.0.9.tgz",
+ "integrity": "sha512-vSuz/9aF+/AZS3I5NC19MrB56h1Yivk2Yz8lf2d8Szv3KuRw2BnDI/AfCTjMWByJLVYr6xgzfkTkAfvbDGzxLQ==",
"license": "MIT",
"engines": {
"node": ">=16"
}
},
"node_modules/react-native-svg": {
- "version": "15.10.1",
- "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-15.10.1.tgz",
- "integrity": "sha512-Hqz/doQciVFK/Df2v+wsW96oY5jxlta7rZ31KQYo78dlgvAHEaGr6paEOAMvlIruw7EHNQ0Vc1ZmJPJF2kfIPQ==",
+ "version": "15.11.2",
+ "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-15.11.2.tgz",
+ "integrity": "sha512-+YfF72IbWQUKzCIydlijV1fLuBsQNGMT6Da2kFlo1sh+LE3BIm/2Q7AR1zAAR6L0BFLi1WaQPLfFUC9bNZpOmw==",
"license": "MIT",
"dependencies": {
"css-select": "^5.1.0",
@@ -19399,9 +19836,9 @@
}
},
"node_modules/react-native-video": {
- "version": "6.8.2",
- "resolved": "https://registry.npmjs.org/react-native-video/-/react-native-video-6.8.2.tgz",
- "integrity": "sha512-lAf6pa/eqksaQnZ+rx9XWx9HpfNt0xr/XmSXMASynJJ8EqMJTr8gHJe4Wfkebo5W8qAMKRuHYtZs+4Shzl3IIQ==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/react-native-video/-/react-native-video-6.11.0.tgz",
+ "integrity": "sha512-+lxuyQqUwowWQ5vx82mSnPiAW7ZHvyZrgCRy/6WHREAyCcdveA118SIAjPurRc5bASXPDeit7WkYF4xRlonyYQ==",
"license": "MIT",
"peerDependencies": {
"react": "*",
@@ -19420,9 +19857,9 @@
}
},
"node_modules/react-native-webrtc": {
- "version": "124.0.4",
- "resolved": "https://registry.npmjs.org/react-native-webrtc/-/react-native-webrtc-124.0.4.tgz",
- "integrity": "sha512-ZbhSz1f+kc1v5VE0B84+v6ujIWTHa2fIuocrYzGUIFab7E5izmct7PNHb9dzzs0xhBGqh4c2rUa49jbL+P/e2w==",
+ "version": "124.0.5",
+ "resolved": "https://registry.npmjs.org/react-native-webrtc/-/react-native-webrtc-124.0.5.tgz",
+ "integrity": "sha512-LIQJKst+t53bJOcQef9VXuz3pVheSBUA4olQGkxosbF4pHW1gsWoXYmf6wmI2zrqOA+aZsjjB6aT9AKLyr6a0Q==",
"license": "MIT",
"dependencies": {
"base64-js": "1.5.1",
@@ -20340,30 +20777,33 @@
}
},
"node_modules/react-test-renderer": {
- "version": "18.2.0",
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.3.1.tgz",
+ "integrity": "sha512-KkAgygexHUkQqtvvx/otwxtuFu5cVjfzTCtjXLH9boS19/Nbtg84zS7wIQn39G8IlrhThBpQsMKkq5ZHZIYFXA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
- "react-is": "^18.2.0",
+ "react-is": "^18.3.1",
"react-shallow-renderer": "^16.15.0",
- "scheduler": "^0.23.0"
+ "scheduler": "^0.23.2"
},
"peerDependencies": {
- "react": "^18.2.0"
+ "react": "^18.3.1"
}
},
"node_modules/react-test-renderer/node_modules/react-is": {
"version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
+ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
"dev": true,
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/react-test-renderer/node_modules/scheduler": {
"version": "0.23.2",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"loose-envify": "^1.1.0"
}
@@ -20426,9 +20866,9 @@
}
},
"node_modules/recyclerlistview": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/recyclerlistview/-/recyclerlistview-4.2.1.tgz",
- "integrity": "sha512-NtVYjofwgUCt1rEsTp6jHQg/47TWjnO92TU2kTVgJ9wsc/ely4HnizHHa+f/dI7qaw4+zcSogElrLjhMltN2/g==",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/recyclerlistview/-/recyclerlistview-4.2.3.tgz",
+ "integrity": "sha512-STR/wj/FyT8EMsBzzhZ1l2goYirMkIgfV3gYEPxI3Kf3lOnu6f7Dryhyw7/IkQrgX5xtTcDrZMqytvteH9rL3g==",
"license": "Apache-2.0",
"dependencies": {
"lodash.debounce": "4.0.8",
@@ -20453,18 +20893,19 @@
}
},
"node_modules/reflect.getprototypeof": {
- "version": "1.0.8",
- "dev": true,
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz",
+ "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==",
"license": "MIT",
"dependencies": {
"call-bind": "^1.0.8",
"define-properties": "^1.2.1",
- "dunder-proto": "^1.0.0",
- "es-abstract": "^1.23.5",
+ "es-abstract": "^1.23.9",
"es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.4",
- "gopd": "^1.2.0",
- "which-builtin-type": "^1.2.0"
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.7",
+ "get-proto": "^1.0.1",
+ "which-builtin-type": "^1.2.1"
},
"engines": {
"node": ">= 0.4"
@@ -20621,6 +21062,8 @@
},
"node_modules/require-from-string": {
"version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -20715,7 +21158,9 @@
"license": "MIT"
},
"node_modules/resolve.exports": {
- "version": "2.0.2",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz",
+ "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==",
"license": "MIT",
"engines": {
"node": ">=10"
@@ -20782,12 +21227,15 @@
}
},
"node_modules/safe-array-concat": {
- "version": "1.1.2",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz",
+ "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==",
"license": "MIT",
"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"
},
"engines": {
@@ -20801,13 +21249,31 @@
"version": "5.1.2",
"license": "MIT"
},
- "node_modules/safe-regex-test": {
- "version": "1.0.3",
+ "node_modules/safe-push-apply": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz",
+ "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.6",
"es-errors": "^1.3.0",
- "is-regex": "^1.1.4"
+ "isarray": "^2.0.5"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/safe-regex-test": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz",
+ "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==",
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "is-regex": "^1.2.1"
},
"engines": {
"node": ">= 0.4"
@@ -20845,24 +21311,6 @@
"loose-envify": "^1.1.0"
}
},
- "node_modules/schema-utils": {
- "version": "4.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/json-schema": "^7.0.9",
- "ajv": "^8.9.0",
- "ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.1.0"
- },
- "engines": {
- "node": ">= 12.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
"node_modules/selfsigned": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz",
@@ -20877,7 +21325,9 @@
}
},
"node_modules/semver": {
- "version": "7.6.3",
+ "version": "7.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
+ "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -21119,6 +21569,20 @@
"node": ">= 0.4"
}
},
+ "node_modules/set-proto": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz",
+ "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==",
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/setimmediate": {
"version": "1.0.5",
"license": "MIT"
@@ -21205,13 +21669,69 @@
"peer": true
},
"node_modules/side-channel": {
- "version": "1.0.6",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+ "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
"es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.4",
- "object-inspect": "^1.13.1"
+ "object-inspect": "^1.13.3",
+ "side-channel-list": "^1.0.0",
+ "side-channel-map": "^1.0.1",
+ "side-channel-weakmap": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-list": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+ "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-map": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+ "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-weakmap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+ "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+ "license": "MIT",
+ "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"
},
"engines": {
"node": ">= 0.4"
@@ -21527,6 +22047,13 @@
"node": ">= 0.10.0"
}
},
+ "node_modules/strict-event-emitter": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz",
+ "integrity": "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/strict-uri-encode": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz",
@@ -21616,22 +22143,25 @@
}
},
"node_modules/string.prototype.matchall": {
- "version": "4.0.11",
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz",
+ "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==",
"dev": true,
"license": "MIT",
"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"
+ "side-channel": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
@@ -21649,13 +22179,18 @@
}
},
"node_modules/string.prototype.trim": {
- "version": "1.2.9",
+ "version": "1.2.10",
+ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz",
+ "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==",
"license": "MIT",
"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-object-atoms": "^1.0.0"
+ "es-abstract": "^1.23.5",
+ "es-object-atoms": "^1.0.0",
+ "has-property-descriptors": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -21665,13 +22200,19 @@
}
},
"node_modules/string.prototype.trimend": {
- "version": "1.0.8",
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz",
+ "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==",
"license": "MIT",
"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"
},
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -22073,22 +22614,6 @@
}
}
},
- "node_modules/terser-webpack-plugin/node_modules/ajv": {
- "version": "6.12.6",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
"node_modules/terser-webpack-plugin/node_modules/ajv-keywords": {
"version": "3.5.2",
"dev": true,
@@ -22112,12 +22637,6 @@
"node": ">= 10.13.0"
}
},
- "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
"node_modules/terser-webpack-plugin/node_modules/schema-utils": {
"version": "3.3.0",
"dev": true,
@@ -22185,11 +22704,6 @@
"node": "*"
}
},
- "node_modules/text-table": {
- "version": "0.2.0",
- "dev": true,
- "license": "MIT"
- },
"node_modules/thenify": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
@@ -22287,7 +22801,9 @@
}
},
"node_modules/tough-cookie": {
- "version": "5.0.0",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz",
+ "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -22309,16 +22825,16 @@
}
},
"node_modules/ts-api-utils": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz",
- "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz",
+ "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=16"
+ "node": ">=18.12"
},
"peerDependencies": {
- "typescript": ">=4.2.0"
+ "typescript": ">=4.8.4"
}
},
"node_modules/ts-interface-checker": {
@@ -22328,7 +22844,9 @@
"license": "Apache-2.0"
},
"node_modules/ts-jest": {
- "version": "29.2.5",
+ "version": "29.2.6",
+ "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.6.tgz",
+ "integrity": "sha512-yTNZVZqc8lSixm+QGVFcPe6+yj7+TWZwIesuOWvfcn4B9bz5x4NDzVCQQjOs7Hfouu36aEqfEbo9Qpo+gq8dDg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -22339,7 +22857,7 @@
"json5": "^2.2.3",
"lodash.memoize": "^4.1.2",
"make-error": "^1.3.6",
- "semver": "^7.6.3",
+ "semver": "^7.7.1",
"yargs-parser": "^21.1.1"
},
"bin": {
@@ -22468,26 +22986,30 @@
}
},
"node_modules/typed-array-buffer": {
- "version": "1.0.2",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz",
+ "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
+ "call-bound": "^1.0.3",
"es-errors": "^1.3.0",
- "is-typed-array": "^1.1.13"
+ "is-typed-array": "^1.1.14"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/typed-array-byte-length": {
- "version": "1.0.1",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz",
+ "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==",
"license": "MIT",
"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"
+ "gopd": "^1.2.0",
+ "has-proto": "^1.2.0",
+ "is-typed-array": "^1.1.14"
},
"engines": {
"node": ">= 0.4"
@@ -22497,15 +23019,18 @@
}
},
"node_modules/typed-array-byte-offset": {
- "version": "1.0.2",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz",
+ "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==",
"license": "MIT",
"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"
+ "gopd": "^1.2.0",
+ "has-proto": "^1.2.0",
+ "is-typed-array": "^1.1.15",
+ "reflect.getprototypeof": "^1.0.9"
},
"engines": {
"node": ">= 0.4"
@@ -22515,15 +23040,17 @@
}
},
"node_modules/typed-array-length": {
- "version": "1.0.6",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz",
+ "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==",
"license": "MIT",
"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"
+ "possible-typed-array-names": "^1.0.0",
+ "reflect.getprototypeof": "^1.0.6"
},
"engines": {
"node": ">= 0.4"
@@ -22533,7 +23060,9 @@
}
},
"node_modules/typescript": {
- "version": "5.7.2",
+ "version": "5.8.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz",
+ "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==",
"devOptional": true,
"license": "Apache-2.0",
"bin": {
@@ -22566,22 +23095,27 @@
}
},
"node_modules/unbox-primitive": {
- "version": "1.0.2",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz",
+ "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==",
"license": "MIT",
"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"
+ "has-symbols": "^1.1.0",
+ "which-boxed-primitive": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/undici": {
- "version": "6.21.1",
- "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.1.tgz",
- "integrity": "sha512-q/1rj5D0/zayJB2FraXdaWxbhWiNKDvu8naDT2dl1yTlvJp4BLtOcp2a5BvgGNQpYYJzau7tf1WgKv3b+7mqpQ==",
+ "version": "6.21.2",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.2.tgz",
+ "integrity": "sha512-uROZWze0R0itiAKVPsYhFov9LxrPMHLMEQFszeI2gCN6bnIIZ8twzBCJcN2LJrBBLfrP0t1FW0g+JmKVl8Vk1g==",
"license": "MIT",
"engines": {
"node": ">=18.17"
@@ -22910,7 +23444,9 @@
}
},
"node_modules/uuid": {
- "version": "11.0.3",
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz",
+ "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==",
"dev": true,
"funding": [
"https://github.com/sponsors/broofa",
@@ -23135,22 +23671,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/webpack/node_modules/ajv": {
- "version": "6.12.6",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
"node_modules/webpack/node_modules/ajv-keywords": {
"version": "3.5.2",
"dev": true,
@@ -23160,12 +23680,6 @@
"ajv": "^6.9.1"
}
},
- "node_modules/webpack/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
"node_modules/webpack/node_modules/schema-utils": {
"version": "3.3.0",
"dev": true,
@@ -23248,37 +23762,43 @@
}
},
"node_modules/which-boxed-primitive": {
- "version": "1.0.2",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz",
+ "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==",
"license": "MIT",
"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"
+ "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"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/which-builtin-type": {
- "version": "1.2.0",
- "dev": true,
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz",
+ "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
+ "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-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"
+ "which-typed-array": "^1.1.16"
},
"engines": {
"node": ">= 0.4"
@@ -23308,13 +23828,17 @@
"license": "ISC"
},
"node_modules/which-typed-array": {
- "version": "1.1.15",
+ "version": "1.1.19",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz",
+ "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==",
"license": "MIT",
"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"
},
"engines": {
@@ -23334,9 +23858,9 @@
"license": "MIT"
},
"node_modules/wonka": {
- "version": "6.3.4",
- "resolved": "https://registry.npmjs.org/wonka/-/wonka-6.3.4.tgz",
- "integrity": "sha512-CjpbqNtBGNAeyNS/9W6q3kSkKE52+FjIj7AkFlLr11s/VWGUu6a2CdYSdGxocIhIVjaW/zchesBQUKPVU69Cqg==",
+ "version": "6.3.5",
+ "resolved": "https://registry.npmjs.org/wonka/-/wonka-6.3.5.tgz",
+ "integrity": "sha512-SSil+ecw6B4/Dm7Pf2sAshKQ5hWFvfyGlfPbEd6A14dOH6VDjrmbY86u6nZvy9omGwwIPFR8V41+of1EezgoUw==",
"license": "MIT"
},
"node_modules/wrap-ansi": {
diff --git a/package.json b/package.json
index 8e0fad627..cb3509966 100644
--- a/package.json
+++ b/package.json
@@ -11,13 +11,13 @@
"npm": "^9 || ^10"
},
"dependencies": {
- "@formatjs/intl-datetimeformat": "6.17.1",
- "@formatjs/intl-getcanonicallocales": "2.5.4",
- "@formatjs/intl-listformat": "7.7.8",
- "@formatjs/intl-locale": "4.2.8",
- "@formatjs/intl-numberformat": "8.15.1",
- "@formatjs/intl-pluralrules": "5.4.1",
- "@gorhom/bottom-sheet": "5.0.6",
+ "@formatjs/intl-datetimeformat": "6.17.4",
+ "@formatjs/intl-getcanonicallocales": "2.5.5",
+ "@formatjs/intl-listformat": "7.7.11",
+ "@formatjs/intl-locale": "4.2.11",
+ "@formatjs/intl-numberformat": "8.15.4",
+ "@formatjs/intl-pluralrules": "5.4.4",
+ "@gorhom/bottom-sheet": "5.1.2",
"@mattermost/calls": "github:mattermost/calls-common#030ff7c0a37ee9b0ccc5fae0b2ea9c0e1c08473f",
"@mattermost/compass-icons": "0.1.48",
"@mattermost/hardware-keyboard": "file:./libraries/@mattermost/hardware-keyboard",
@@ -27,22 +27,22 @@
"@mattermost/react-native-turbo-log": "0.6.0",
"@mattermost/rnshare": "file:./libraries/@mattermost/rnshare",
"@mattermost/rnutils": "file:./libraries/@mattermost/rnutils",
- "@msgpack/msgpack": "2.8.0",
- "@nozbe/watermelondb": "0.28.0-1",
- "@react-native-camera-roll/camera-roll": "7.9.0",
- "@react-native-clipboard/clipboard": "1.15.0",
+ "@msgpack/msgpack": "3.1.1",
+ "@nozbe/watermelondb": "0.28.0-2",
+ "@react-native-camera-roll/camera-roll": "7.10.0",
+ "@react-native-clipboard/clipboard": "1.16.2",
"@react-native-community/cli": "15.1.3",
"@react-native-community/cli-platform-android": "15.1.3",
"@react-native-community/cli-platform-ios": "15.1.3",
- "@react-native-community/datetimepicker": "8.2.0",
+ "@react-native-community/datetimepicker": "8.3.0",
"@react-native-community/netinfo": "11.4.1",
"@react-native-cookies/cookies": "6.2.1",
- "@react-navigation/bottom-tabs": "7.2.0",
- "@react-navigation/native": "7.0.14",
- "@react-navigation/stack": "7.1.0",
+ "@react-navigation/bottom-tabs": "7.3.2",
+ "@react-navigation/native": "7.0.18",
+ "@react-navigation/stack": "7.2.2",
"@rneui/base": "4.0.0-rc.8",
"@sentry/react-native": "6.4.0",
- "@shopify/flash-list": "1.7.3",
+ "@shopify/flash-list": "1.7.6",
"@stream-io/flat-list-mvcp": "0.10.3",
"@voximplant/react-native-foreground-service": "3.0.2",
"APNG4Android": "github:mattermost/APNG4Android#15a7e93d59542d18c1e562d49b3f4896dd1643a6",
@@ -52,69 +52,69 @@
"deep-equal": "2.2.3",
"deepmerge": "4.3.1",
"emoji-regex": "10.4.0",
- "expo": "52.0.19",
- "expo-application": "6.0.1",
- "expo-crypto": "14.0.1",
- "expo-device": "7.0.1",
- "expo-image": "2.0.4",
- "expo-linear-gradient": "14.0.1",
- "expo-store-review": "8.0.0",
- "expo-video-thumbnails": "9.0.2",
- "expo-web-browser": "14.0.1",
+ "expo": "52.0.40",
+ "expo-application": "6.0.2",
+ "expo-crypto": "14.0.2",
+ "expo-device": "7.0.2",
+ "expo-image": "2.0.6",
+ "expo-linear-gradient": "14.0.2",
+ "expo-store-review": "8.0.1",
+ "expo-video-thumbnails": "9.0.3",
+ "expo-web-browser": "14.0.2",
"fflate": "0.8.2",
- "fuse.js": "7.0.0",
- "html-entities": "2.5.2",
- "mime-db": "1.53.0",
- "moment-timezone": "0.5.46",
- "node-html-parser": "6.1.13",
+ "fuse.js": "7.1.0",
+ "html-entities": "2.5.3",
+ "mime-db": "1.54.0",
+ "moment-timezone": "0.5.48",
+ "node-html-parser": "7.0.1",
"path-to-regexp": "8.2.0",
"react": "18.3.1",
"react-freeze": "1.0.4",
- "react-intl": "7.0.4",
+ "react-intl": "7.1.8",
"react-native": "0.76.5",
"react-native-background-timer": "2.4.1",
"react-native-document-picker": "9.3.1",
"react-native-dotenv": "3.4.11",
"react-native-exception-handler": "2.10.10",
"react-native-file-viewer": "2.1.5",
- "react-native-gesture-handler": "2.21.2",
+ "react-native-gesture-handler": "2.24.0",
"react-native-haptic-feedback": "2.3.3",
- "react-native-image-picker": "7.2.3",
+ "react-native-image-picker": "8.2.0",
"react-native-incall-manager": "4.2.0",
"react-native-keyboard-aware-scroll-view": "0.9.5",
- "react-native-keychain": "9.2.2",
- "react-native-localize": "3.3.0",
+ "react-native-keychain": "10.0.0",
+ "react-native-localize": "3.4.1",
"react-native-math-view": "3.9.5",
- "react-native-navigation": "7.40.3",
+ "react-native-navigation": "7.44.0",
"react-native-notifications": "5.1.0",
"react-native-performance": "5.1.2",
- "react-native-permissions": "5.2.1",
- "react-native-reanimated": "3.16.5",
- "react-native-safe-area-context": "5.0.0",
- "react-native-screens": "4.3.0",
+ "react-native-permissions": "5.3.0",
+ "react-native-reanimated": "3.17.1",
+ "react-native-safe-area-context": "5.3.0",
+ "react-native-screens": "4.9.2",
"react-native-section-list-get-item-layout": "2.2.3",
"react-native-shadow-2": "7.1.1",
- "react-native-share": "12.0.3",
- "react-native-svg": "15.10.1",
+ "react-native-share": "12.0.9",
+ "react-native-svg": "15.11.2",
"react-native-url-polyfill": "2.0.0",
"react-native-vector-icons": "10.2.0",
- "react-native-video": "6.8.2",
+ "react-native-video": "6.11.0",
"react-native-walkthrough-tooltip": "1.6.0",
- "react-native-webrtc": "124.0.4",
+ "react-native-webrtc": "124.0.5",
"react-syntax-highlighter": "15.6.1",
- "semver": "7.6.3",
+ "semver": "7.7.1",
"tinycolor2": "1.6.0",
"url-parse": "1.5.10"
},
"devDependencies": {
"@babel/cli": "7.26.4",
- "@babel/core": "7.26.0",
- "@babel/eslint-parser": "7.25.9",
+ "@babel/core": "7.26.10",
+ "@babel/eslint-parser": "7.26.10",
"@babel/plugin-proposal-class-properties": "7.18.6",
"@babel/plugin-proposal-decorators": "7.25.9",
- "@babel/plugin-transform-flow-strip-types": "7.25.9",
- "@babel/plugin-transform-runtime": "7.25.9",
- "@babel/preset-env": "7.26.0",
+ "@babel/plugin-transform-flow-strip-types": "7.26.5",
+ "@babel/plugin-transform-runtime": "7.26.10",
+ "@babel/preset-env": "7.26.9",
"@babel/preset-typescript": "7.26.0",
"@babel/register": "7.25.9",
"@babel/runtime": "7.26.10",
@@ -122,53 +122,54 @@
"@react-native/eslint-config": "0.76.5",
"@react-native/metro-config": "0.76.5",
"@react-native/typescript-config": "0.76.5",
+ "@stylistic/eslint-plugin-ts": "4.2.0",
"@testing-library/react-hooks": "8.0.1",
- "@testing-library/react-native": "12.9.0",
+ "@testing-library/react-native": "13.2.0",
"@types/base-64": "1.0.2",
"@types/commonmark": "0.27.9",
"@types/commonmark-react-renderer": "4.3.4",
"@types/deep-equal": "1.0.4",
"@types/jest": "29.5.14",
- "@types/lodash": "4.17.13",
+ "@types/lodash": "4.17.16",
"@types/mime-db": "1.43.5",
"@types/pako": "2.0.3",
"@types/querystringify": "2.0.2",
"@types/react": "18.3.12",
"@types/react-native-background-timer": "2.0.2",
"@types/react-native-dotenv": "0.2.2",
- "@types/react-native-share": "6.0.0",
"@types/react-syntax-highlighter": "15.5.13",
"@types/semver": "7.5.8",
"@types/tinycolor2": "1.4.6",
"@types/tough-cookie": "4.0.5",
"@types/url-parse": "1.4.11",
"@types/uuid": "10.0.0",
- "@typescript-eslint/eslint-plugin": "7.14.1",
- "@typescript-eslint/parser": "7.14.1",
+ "@typescript-eslint/eslint-plugin": "8.27.0",
+ "@typescript-eslint/parser": "8.27.0",
"babel-jest": "29.7.0",
- "babel-loader": "9.2.1",
+ "babel-loader": "10.0.0",
"babel-plugin-module-resolver": "5.0.2",
- "eslint": "8.57.1",
+ "eslint": "9.23.0",
"eslint-plugin-header": "3.1.1",
"eslint-plugin-import": "2.31.0",
- "eslint-plugin-jest": "28.9.0",
- "eslint-plugin-react": "7.37.2",
- "eslint-plugin-react-hooks": "5.1.0",
+ "eslint-plugin-jest": "28.11.0",
+ "eslint-plugin-react": "7.37.4",
+ "eslint-plugin-react-hooks": "5.2.0",
"husky": "9.1.7",
"isomorphic-fetch": "3.0.0",
"jest": "29.7.0",
"jest-cli": "29.7.0",
- "jest-expo": "52.0.2",
+ "jest-expo": "52.0.6",
"jetifier": "2.0.0",
"mmjstool": "github:mattermost/mattermost-utilities#83b1b311972b8f5e750aae4019457a40abb5aa44",
- "nock": "13.5.6",
+ "nock": "14.0.1",
"patch-package": "8.0.0",
- "react-devtools-core": "6.0.1",
+ "react-devtools-core": "6.1.1",
+ "react-test-renderer": "18.3.1",
"timezones.json": "1.7.1",
- "tough-cookie": "5.0.0",
- "ts-jest": "29.2.5",
- "typescript": "5.7.2",
- "uuid": "11.0.3"
+ "tough-cookie": "5.1.2",
+ "ts-jest": "29.2.6",
+ "typescript": "5.8.2",
+ "uuid": "11.1.0"
},
"scripts": {
"android": "react-native run-android",
@@ -188,7 +189,7 @@
"ios": "react-native run-ios",
"ios-gems": "bundle install",
"ios-gems-m1": "arch -arm64 bundle install",
- "lint": "eslint --ignore-path .gitignore --ignore-pattern node_modules --quiet .",
+ "lint": "eslint --ignore-pattern .gitignore --ignore-pattern node_modules --quiet .",
"mmjstool": "mmjstool",
"pod-install": "cd ios && RCT_NEW_ARCH_ENABLED=0 pod install",
"pod-install-m1": "cd ios && RCT_NEW_ARCH_ENABLED=0 arch -x86_64 pod install",
@@ -203,22 +204,26 @@
"updatesnapshot": "jest --updateSnapshot"
},
"overrides": {
+ "promise": "^8.3.0",
+ "react-test-renderer": "18.3.1",
+ "@babel/runtime": "7.26.10",
+ "@babel/runtime-corejs3": "7.26.10",
"@testing-library/react-native": {
"react": "^18.3.1"
},
"@testing-library/react-hooks": {
"@types/react": "^18.2.37",
"react": "^18.3.1",
- "react-test-renderer": "^18.2.0"
+ "react-test-renderer": "^18.3.1"
},
"@react-native-community/datetimepicker": {
"react-native": "^0.76.5"
},
- "@react-native-clipboard/clipboard": {
- "react-native": "^0.76.5"
- },
"react-native-windows": {
"react-native": "^0.76.5"
+ },
+ "@react-native/eslint-config@0.76.5": {
+ "@typescript-eslint/eslint-plugin": "^8.26.1"
}
},
"expo": {
diff --git a/patches/@gorhom+bottom-sheet+5.0.6.patch b/patches/@gorhom+bottom-sheet+5.1.2.patch
similarity index 100%
rename from patches/@gorhom+bottom-sheet+5.0.6.patch
rename to patches/@gorhom+bottom-sheet+5.1.2.patch
diff --git a/patches/@nozbe+watermelondb+0.28.0-1.patch b/patches/@nozbe+watermelondb+0.28.0-2.patch
similarity index 100%
rename from patches/@nozbe+watermelondb+0.28.0-1.patch
rename to patches/@nozbe+watermelondb+0.28.0-2.patch
diff --git a/patches/@shopify+flash-list+1.7.3.patch b/patches/@shopify+flash-list+1.7.6.patch
similarity index 100%
rename from patches/@shopify+flash-list+1.7.3.patch
rename to patches/@shopify+flash-list+1.7.6.patch
diff --git a/patches/expo-image+2.0.4.patch b/patches/expo-image+2.0.6.patch
similarity index 100%
rename from patches/expo-image+2.0.4.patch
rename to patches/expo-image+2.0.6.patch
diff --git a/patches/expo-modules-core+2.1.2.patch b/patches/expo-modules-core+2.2.3.patch
similarity index 100%
rename from patches/expo-modules-core+2.1.2.patch
rename to patches/expo-modules-core+2.2.3.patch
diff --git a/patches/expo-video-thumbnails+9.0.2.patch b/patches/expo-video-thumbnails+9.0.3.patch
similarity index 100%
rename from patches/expo-video-thumbnails+9.0.2.patch
rename to patches/expo-video-thumbnails+9.0.3.patch
diff --git a/patches/jest-expo+52.0.2.patch b/patches/jest-expo+52.0.6.patch
similarity index 100%
rename from patches/jest-expo+52.0.2.patch
rename to patches/jest-expo+52.0.6.patch
diff --git a/patches/react-intl+7.1.8.patch b/patches/react-intl+7.1.8.patch
new file mode 100644
index 000000000..ffb9a1b58
--- /dev/null
+++ b/patches/react-intl+7.1.8.patch
@@ -0,0 +1,13 @@
+diff --git a/node_modules/react-intl/src/components/createIntl.js b/node_modules/react-intl/src/components/createIntl.js
+index 6887909..d1819bc 100644
+--- a/node_modules/react-intl/src/components/createIntl.js
++++ b/node_modules/react-intl/src/components/createIntl.js
+@@ -32,7 +32,7 @@ var formatMessage = function (config, formatters, descriptor, rawValues) {
+ formatters,
+ descriptor,
+ values], rest, false));
+- return (0, utils_1.toKeyedReactNodeArray)(chunks);
++ return typeof chunks === 'string' ? chunks : (0, utils_1.toKeyedReactNodeArray)(chunks);
+ };
+ /**
+ * Create intl object
diff --git a/patches/react-native-keychain+9.2.2.patch b/patches/react-native-keychain+10.0.0.patch
similarity index 68%
rename from patches/react-native-keychain+9.2.2.patch
rename to patches/react-native-keychain+10.0.0.patch
index 43204fd16..8da2f845c 100644
--- a/patches/react-native-keychain+9.2.2.patch
+++ b/patches/react-native-keychain+10.0.0.patch
@@ -1,5 +1,5 @@
diff --git a/node_modules/react-native-keychain/ios/RNKeychainManager/RNKeychainManager.h b/node_modules/react-native-keychain/ios/RNKeychainManager/RNKeychainManager.h
-index 4a1234f..f3e2308 100644
+index 4a1234f..1eb9519 100644
--- a/node_modules/react-native-keychain/ios/RNKeychainManager/RNKeychainManager.h
+++ b/node_modules/react-native-keychain/ios/RNKeychainManager/RNKeychainManager.h
@@ -10,5 +10,6 @@
@@ -11,10 +11,10 @@ index 4a1234f..f3e2308 100644
+-(NSArray*)getAllServersForInternetPasswords;
@end
diff --git a/node_modules/react-native-keychain/ios/RNKeychainManager/RNKeychainManager.m b/node_modules/react-native-keychain/ios/RNKeychainManager/RNKeychainManager.m
-index 18e42ab..ff130ab 100644
+index 6888ff0..c5e1dc5 100644
--- a/node_modules/react-native-keychain/ios/RNKeychainManager/RNKeychainManager.m
+++ b/node_modules/react-native-keychain/ios/RNKeychainManager/RNKeychainManager.m
-@@ -209,6 +209,36 @@ SecAccessControlCreateFlags accessControlValue(NSDictionary *options)
+@@ -209,6 +209,35 @@ SecAccessControlCreateFlags accessControlValue(NSDictionary *options)
return 0;
}
@@ -24,6 +24,7 @@ index 18e42ab..ff130ab 100644
+ (__bridge id)kCFBooleanTrue, (__bridge id)kSecReturnAttributes,
+ (__bridge id)kSecMatchLimitAll, (__bridge id)kSecMatchLimit,
+ nil];
++
+ NSMutableArray *servers = [NSMutableArray new];
+
+ [query setObject:(__bridge id)kSecClassInternetPassword forKey:(__bridge id)kSecClass];
@@ -38,74 +39,74 @@ index 18e42ab..ff130ab 100644
+ if (result != NULL) {
+ for (id entry in result) {
+ NSString *serverData = [entry objectForKey:(__bridge NSString *)kSecAttrServer];
-+ if (serverData != NULL) {
-+ [servers addObject:serverData];
-+ }
++ [servers addObject:serverData];
+ }
+ }
+ }
-+
++
+ return servers;
+}
+
- (void)insertKeychainEntry:(NSDictionary *)attributes
withOptions:(NSDictionary * __nullable)options
resolver:(RCTPromiseResolveBlock)resolve
-@@ -663,4 +693,14 @@ RCT_EXPORT_METHOD(getAllGenericPasswordServices:(RCTPromiseResolveBlock)resolve
- }
+@@ -627,6 +656,16 @@ RCT_EXPORT_METHOD(getInternetCredentialsForServer:(NSString *)server
+
}
+RCT_EXPORT_METHOD(getAllInternetPasswordServers:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
+{
+ @try {
-+ NSArray *servers = [self getAllServersForInternetPasswords];
++ NSArray *servers = [self getAllServersForInternetPasswords];
+ return resolve(servers);
+ } @catch (NSError *nsError) {
+ return rejectWithError(reject, nsError);
+ }
+}
+
- @end
+ RCT_EXPORT_METHOD(resetInternetCredentialsForOptions:(NSDictionary *)options
+ resolver:(RCTPromiseResolveBlock)resolve
+ rejecter:(RCTPromiseRejectBlock)reject)
diff --git a/node_modules/react-native-keychain/lib/typescript/index.d.ts b/node_modules/react-native-keychain/lib/typescript/index.d.ts
-index 43f2e2f..dcef782 100644
+index b868899..1e2b619 100644
--- a/node_modules/react-native-keychain/lib/typescript/index.d.ts
+++ b/node_modules/react-native-keychain/lib/typescript/index.d.ts
-@@ -73,6 +73,17 @@ export declare function resetGenericPassword(serviceOrOptions?: string | BaseOpt
+@@ -122,6 +122,17 @@ export declare function setInternetCredentials(server: string, username: string,
* ```
*/
- export declare function getAllGenericPasswordServices(): Promise;
+ export declare function getInternetCredentials(server: string, options?: GetOptions): Promise;
+/**
-+* Gets all `kSecAttrServer` values used in internet credentials for iOS.
-+* @return {Promise} Resolves to an array of strings
-+*
-+* @example
-+* ```typescript
-+* const servers = await Keychain.getAllInternetPasswordServers();
-+* console.log('Servers:', servers);
-+* ```
-+*/
++ * Gets all `kSecAttrServer` values used in internet credentials for iOS.
++ * @return {Promise} Resolves to an array of strings
++ *
++ * @example
++ * ```typescript
++ * const servers = await Keychain.getAllInternetPasswordServers();
++ * console.log('Servers:', servers);
++ * ```
++ */
+export declare function getAllInternetPasswordServers(): Promise;
/**
- * Checks if internet credentials exist for the given server.
+ * Deletes all internet password keychain entries for the given server.
*
diff --git a/node_modules/react-native-keychain/src/index.ts b/node_modules/react-native-keychain/src/index.ts
-index 7bfe371..3ac11b5 100644
+index 1de35da..16eea24 100644
--- a/node_modules/react-native-keychain/src/index.ts
+++ b/node_modules/react-native-keychain/src/index.ts
-@@ -132,6 +132,27 @@ export function getAllGenericPasswordServices(): Promise {
- return RNKeychainManager.getAllGenericPasswordServices();
+@@ -200,6 +200,27 @@ export function getInternetCredentials(
+ );
}
+/**
-+* Gets all `kSecAttrServer` values used in internet credentials for iOS.
-+* @return {Promise} Resolves to an array of strings
-+*
-+* @example
-+* ```typescript
-+* const servers = await Keychain.getAllInternetPasswordServers();
-+* console.log('Servers:', servers);
-+* ```
-+*/
++ * Gets all `kSecAttrServer` values used in internet credentials for iOS.
++ * @return {Promise} Resolves to an array of strings
++ *
++ * @example
++ * ```typescript
++ * const servers = await Keychain.getAllInternetPasswordServers();
++ * console.log('Servers:', servers);
++ * ```
++ */
+export async function getAllInternetPasswordServers(): Promise {
+ if (Platform.OS !== 'ios') {
+ return Promise.reject(
@@ -118,5 +119,5 @@ index 7bfe371..3ac11b5 100644
+}
+
/**
- * Checks if internet credentials exist for the given server.
+ * Deletes all internet password keychain entries for the given server.
*
diff --git a/patches/react-native-navigation+7.40.3.patch b/patches/react-native-navigation+7.44.0.patch
similarity index 70%
rename from patches/react-native-navigation+7.40.3.patch
rename to patches/react-native-navigation+7.44.0.patch
index a0bcfba5b..46bb51908 100644
--- a/patches/react-native-navigation+7.40.3.patch
+++ b/patches/react-native-navigation+7.44.0.patch
@@ -1,14 +1,13 @@
diff --git a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/NavigationActivity.java b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/NavigationActivity.java
-index 481aaf0..609e359 100644
+index f3f0d5a..3af346d 100644
--- a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/NavigationActivity.java
+++ b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/NavigationActivity.java
-@@ -1,18 +1,15 @@
+@@ -1,13 +1,12 @@
package com.reactnativenavigation;
-import android.annotation.TargetApi;
import android.content.Intent;
import android.content.res.Configuration;
--import android.graphics.Color;
-import android.os.Build;
import android.os.Bundle;
import android.view.KeyEvent;
@@ -18,11 +17,7 @@ index 481aaf0..609e359 100644
import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
import com.facebook.react.modules.core.PermissionAwareActivity;
import com.facebook.react.modules.core.PermissionListener;
--import com.reactnativenavigation.options.Options;
- import com.reactnativenavigation.viewcontrollers.overlay.OverlayManager;
- import com.reactnativenavigation.viewcontrollers.viewcontroller.RootPresenter;
- import com.reactnativenavigation.react.JsDevReloadHandler;
-@@ -25,9 +22,8 @@ import com.reactnativenavigation.viewcontrollers.navigator.Navigator;
+@@ -24,9 +23,8 @@ import com.reactnativenavigation.viewcontrollers.navigator.Navigator;
import androidx.activity.OnBackPressedCallback;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -33,16 +28,16 @@ index 481aaf0..609e359 100644
@Nullable
private PermissionListener mPermissionListener;
-@@ -50,7 +46,7 @@ public class NavigationActivity extends AppCompatActivity implements DefaultHard
+@@ -49,7 +47,7 @@ public class NavigationActivity extends AppCompatActivity implements DefaultHard
);
navigator.bindViews();
getReactGateway().onActivityCreated(this);
- setBackPressedCallback();
+ // setBackPressedCallback();
+ StatusBarPresenter.Companion.init(this);
}
- @Override
-@@ -96,15 +92,16 @@ public class NavigationActivity extends AppCompatActivity implements DefaultHard
+@@ -96,15 +94,15 @@ public class NavigationActivity extends AppCompatActivity implements DefaultHard
@Override
public void invokeDefaultOnBackPressed() {
@@ -56,7 +51,6 @@ index 481aaf0..609e359 100644
+ // NavigationActivity.super.onBackPressed();
+ // callback.setEnabled(true);
+ // }
-+ super.invokeDefaultOnBackPressed();
}
@Override
@@ -65,7 +59,7 @@ index 481aaf0..609e359 100644
super.onActivityResult(requestCode, resultCode, data);
getReactGateway().onActivityResult(this, requestCode, resultCode, data);
}
-@@ -126,7 +123,6 @@ public class NavigationActivity extends AppCompatActivity implements DefaultHard
+@@ -126,7 +124,6 @@ public class NavigationActivity extends AppCompatActivity implements DefaultHard
return navigator;
}
@@ -73,31 +67,6 @@ index 481aaf0..609e359 100644
public void requestPermissions(String[] permissions, int requestCode, PermissionListener listener) {
mPermissionListener = listener;
requestPermissions(permissions, requestCode);
-diff --git a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/NavigationApplication.java b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/NavigationApplication.java
-index 0eced0f..251d72c 100644
---- a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/NavigationApplication.java
-+++ b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/NavigationApplication.java
-@@ -4,6 +4,7 @@ import android.app.Application;
-
- import com.facebook.react.ReactApplication;
- import com.facebook.react.ReactNativeHost;
-+import com.facebook.react.soloader.OpenSourceMergedSoMapping;
- import com.facebook.soloader.SoLoader;
- import com.reactnativenavigation.react.ReactGateway;
- import com.reactnativenavigation.viewcontrollers.externalcomponent.ExternalComponentCreator;
-@@ -23,7 +24,11 @@ public abstract class NavigationApplication extends Application implements React
- public void onCreate() {
- super.onCreate();
- instance = this;
-- SoLoader.init(this, false);
-+ try {
-+ SoLoader.init(this, OpenSourceMergedSoMapping.INSTANCE);
-+ } catch (Exception e) {
-+ e.printStackTrace();
-+ }
- reactGateway = createReactGateway();
- }
-
diff --git a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/react/NavigationModule.java b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/react/NavigationModule.java
index 4cc09eb..857bbd4 100644
--- a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/react/NavigationModule.java
@@ -302,50 +271,43 @@ index 4cc09eb..857bbd4 100644
+ super.invalidate();
}
}
-diff --git a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/utils/ReactTypefaceUtils.java b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/utils/ReactTypefaceUtils.java
-index 834d734..3fc00c3 100644
---- a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/utils/ReactTypefaceUtils.java
-+++ b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/utils/ReactTypefaceUtils.java
-@@ -96,12 +96,12 @@ public class ReactTypefaceUtils {
-
- int want = 0;
- if ((weight == Typeface.BOLD)
-- || ((oldStyle & Typeface.BOLD) != 0 && weight == ReactTextShadowNode.UNSET)) {
-+ || ((oldStyle & Typeface.BOLD) != 0 && weight == -1)) {
- want |= Typeface.BOLD;
+diff --git a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/react/ReactView.java b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/react/ReactView.java
+index 0db6f39..0b265b7 100644
+--- a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/react/ReactView.java
++++ b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/react/ReactView.java
+@@ -10,7 +10,6 @@ import androidx.annotation.RestrictTo;
+ import com.facebook.react.ReactInstanceManager;
+ import com.facebook.react.ReactRootView;
+ import com.facebook.react.bridge.ReactContext;
+-import com.facebook.react.config.ReactFeatureFlags;
+ import com.facebook.react.uimanager.JSTouchDispatcher;
+ import com.facebook.react.uimanager.UIManagerModule;
+ import com.facebook.react.uimanager.events.EventDispatcher;
+@@ -35,7 +34,7 @@ public class ReactView extends ReactRootView implements IReactView, Renderable {
+ this.componentId = componentId;
+ this.componentName = componentName;
+ jsTouchDispatcher = new JSTouchDispatcher(this);
+- setIsFabric(ReactFeatureFlags.enableFabricRenderer);
++ setIsFabric(false);
}
- if ((style == Typeface.ITALIC)
-- || ((oldStyle & Typeface.ITALIC) != 0 && style == ReactTextShadowNode.UNSET)) {
-+ || ((oldStyle & Typeface.ITALIC) != 0 && style == -1)) {
- want |= Typeface.ITALIC;
- }
-
-diff --git a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/utils/ReactViewGroup.kt b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/utils/ReactViewGroup.kt
-index f92580c..a58fa7b 100644
---- a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/utils/ReactViewGroup.kt
-+++ b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/utils/ReactViewGroup.kt
-@@ -4,4 +4,4 @@ import com.facebook.react.views.view.ReactViewBackgroundDrawable
- import com.facebook.react.views.view.ReactViewGroup
-
- val ReactViewGroup.borderRadius: Float
-- get() = (background as? ReactViewBackgroundDrawable)?.fullBorderRadius ?: 0f
-\ No newline at end of file
-+ get() = 0f
-\ No newline at end of file
+ @Override
diff --git a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/child/ChildController.java b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/child/ChildController.java
-index 3acc41d..ebc8d18 100644
+index f014bff..e4ccc55 100644
--- a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/child/ChildController.java
+++ b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/child/ChildController.java
-@@ -7,6 +7,7 @@ import android.util.Log;
- import android.view.View;
+@@ -6,8 +6,10 @@ import android.view.View;
import android.view.ViewGroup;
- import android.view.WindowInsets;
+
+ import androidx.annotation.CallSuper;
++import androidx.core.graphics.Insets;
+ import androidx.core.view.ViewCompat;
+ import androidx.core.view.WindowInsetsCompat;
+import android.view.WindowManager;
import com.reactnativenavigation.options.Options;
- import com.reactnativenavigation.utils.LogKt;
-@@ -100,6 +101,18 @@ public abstract class ChildController extends ViewControlle
+ import com.reactnativenavigation.viewcontrollers.navigator.Navigator;
+@@ -93,6 +95,18 @@ public abstract class ChildController extends ViewControlle
}
protected WindowInsetsCompat onApplyWindowInsets(View view, WindowInsetsCompat insets) {
@@ -364,32 +326,6 @@ index 3acc41d..ebc8d18 100644
return insets;
}
-diff --git a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/LayoutDirectionApplier.kt b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/LayoutDirectionApplier.kt
-index 89216ae..345207a 100644
---- a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/LayoutDirectionApplier.kt
-+++ b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/LayoutDirectionApplier.kt
-@@ -1,15 +1,17 @@
- package com.reactnativenavigation.viewcontrollers.viewcontroller
-
-+import com.facebook.react.bridge.ReactContext
- import com.facebook.react.ReactInstanceManager
- import com.facebook.react.modules.i18nmanager.I18nUtil
- import com.reactnativenavigation.options.Options
-
- class LayoutDirectionApplier {
- fun apply(root: ViewController<*>, options: Options, instanceManager: ReactInstanceManager) {
-- if (options.layout.direction.hasValue() && instanceManager.currentReactContext != null) {
-+ val reactContext = instanceManager.currentReactContext as? ReactContext
-+ if (reactContext != null && options.layout.direction.hasValue()) {
- root.activity.window.decorView.layoutDirection = options.layout.direction.get()
-- I18nUtil.getInstance().allowRTL(instanceManager.currentReactContext, options.layout.direction.isRtl)
-- I18nUtil.getInstance().forceRTL(instanceManager.currentReactContext, options.layout.direction.isRtl)
-+ I18nUtil.getInstance().allowRTL(reactContext, options.layout.direction.isRtl)
-+ I18nUtil.getInstance().forceRTL(reactContext, options.layout.direction.isRtl)
- }
- }
- }
-\ No newline at end of file
diff --git a/node_modules/react-native-navigation/lib/android/app/src/reactNative71/java/com/reactnativenavigation/react/ReactGateway.java b/node_modules/react-native-navigation/lib/android/app/src/reactNative71/java/com/reactnativenavigation/react/ReactGateway.java
index 035ec31..630b8d4 100644
--- a/node_modules/react-native-navigation/lib/android/app/src/reactNative71/java/com/reactnativenavigation/react/ReactGateway.java
@@ -406,75 +342,62 @@ index 035ec31..630b8d4 100644
+ }
}
diff --git a/node_modules/react-native-navigation/lib/android/app/src/reactNative71/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt b/node_modules/react-native-navigation/lib/android/app/src/reactNative71/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt
-index ea8516f..f275c18 100644
+index 551f72b..f275c18 100644
--- a/node_modules/react-native-navigation/lib/android/app/src/reactNative71/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt
+++ b/node_modules/react-native-navigation/lib/android/app/src/reactNative71/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt
-@@ -50,13 +50,19 @@ class ModalContentLayout(context: Context?) : ReactViewGroup(context), RootView{
+@@ -49,17 +49,23 @@ class ModalContentLayout(context: Context?) : ReactViewGroup(context), RootView{
+ updateFirstChildView()
}
}
- override fun onChildStartedNativeGesture(child: View, androidEvent: MotionEvent?) {
+- override fun onChildStartedNativeGesture(child: View, androidEvent: MotionEvent) {
- mJSTouchDispatcher.onChildStartedNativeGesture(androidEvent, this.getEventDispatcher())
++ override fun onChildStartedNativeGesture(child: View, androidEvent: MotionEvent?) {
+ androidEvent?.let {
+ mJSTouchDispatcher.onChildStartedNativeGesture(it, this.getEventDispatcher()!!)
+ }
}
- override fun onChildStartedNativeGesture(androidEvent: MotionEvent?) {
+- override fun onChildStartedNativeGesture(androidEvent: MotionEvent) {
- mJSTouchDispatcher.onChildStartedNativeGesture(androidEvent, this.getEventDispatcher())
++ override fun onChildStartedNativeGesture(androidEvent: MotionEvent?) {
+ androidEvent?.let {
+ mJSTouchDispatcher.onChildStartedNativeGesture(it, this.getEventDispatcher()!!)
+ }
}
- override fun onChildEndedNativeGesture(child: View, androidEvent: MotionEvent?) {
+- override fun onChildEndedNativeGesture(child: View, androidEvent: MotionEvent) {
- mJSTouchDispatcher.onChildEndedNativeGesture(androidEvent, this.getEventDispatcher())
++ override fun onChildEndedNativeGesture(child: View, androidEvent: MotionEvent?) {
+ androidEvent?.let {
+ mJSTouchDispatcher.onChildEndedNativeGesture(it, this.getEventDispatcher()!!)
+ }
}
override fun requestDisallowInterceptTouchEvent(disallowIntercept: Boolean) {}
- private fun getEventDispatcher(): EventDispatcher? {
-@@ -74,12 +80,16 @@ class ModalContentLayout(context: Context?) : ReactViewGroup(context), RootView{
+- private fun getEventDispatcher(): EventDispatcher {
++ private fun getEventDispatcher(): EventDispatcher? {
+ val reactContext: ReactContext = this.getReactContext()
+ return reactContext.getNativeModule(UIManagerModule::class.java)!!.eventDispatcher
+ }
+@@ -73,13 +79,17 @@ class ModalContentLayout(context: Context?) : ReactViewGroup(context), RootView{
+ return this.context as ReactContext
}
- override fun onInterceptTouchEvent(event: MotionEvent?): Boolean {
+- override fun onInterceptTouchEvent(event: MotionEvent): Boolean {
- mJSTouchDispatcher.handleTouchEvent(event, getEventDispatcher())
++ override fun onInterceptTouchEvent(event: MotionEvent?): Boolean {
+ event?.let {
+ mJSTouchDispatcher.handleTouchEvent(it, getEventDispatcher()!!)
+ }
return super.onInterceptTouchEvent(event)
}
- override fun onTouchEvent(event: MotionEvent?): Boolean {
+- override fun onTouchEvent(event: MotionEvent): Boolean {
- mJSTouchDispatcher.handleTouchEvent(event, getEventDispatcher())
++ override fun onTouchEvent(event: MotionEvent?): Boolean {
+ event?.let {
+ mJSTouchDispatcher.handleTouchEvent(it, getEventDispatcher()!!)
+ }
super.onTouchEvent(event)
return true
}
-diff --git a/node_modules/react-native-navigation/lib/ios/BottomTabsBasePresenter.m b/node_modules/react-native-navigation/lib/ios/BottomTabsBasePresenter.m
-index 75aa424..f0a7e08 100644
---- a/node_modules/react-native-navigation/lib/ios/BottomTabsBasePresenter.m
-+++ b/node_modules/react-native-navigation/lib/ios/BottomTabsBasePresenter.m
-@@ -29,8 +29,6 @@
- [self applyBackgroundColor:[withDefault.bottomTabs.backgroundColor withDefault:nil]
- translucent:[withDefault.bottomTabs.translucent withDefault:NO]];
- [bottomTabs setTabBarHideShadow:[withDefault.bottomTabs.hideShadow withDefault:NO]];
-- [bottomTabs setTabBarStyle:[RCTConvert UIBarStyle:[withDefault.bottomTabs.barStyle
-- withDefault:@"default"]]];
- [self applyTabBarBorder:withDefault.bottomTabs];
- [self applyTabBarShadow:withDefault.bottomTabs.shadow];
- }
-@@ -59,10 +57,6 @@
- [self setTabBarBackgroundColor:mergeOptions.bottomTabs.backgroundColor.get];
- }
-
-- if (mergeOptions.bottomTabs.barStyle.hasValue) {
-- [bottomTabs setTabBarStyle:[RCTConvert UIBarStyle:mergeOptions.bottomTabs.barStyle.get]];
-- }
--
- if (mergeOptions.bottomTabs.translucent.hasValue) {
- [bottomTabs setTabBarTranslucent:mergeOptions.bottomTabs.translucent.get];
- }
diff --git a/node_modules/react-native-navigation/lib/ios/RNNComponentViewController.m b/node_modules/react-native-navigation/lib/ios/RNNComponentViewController.m
index fc482a6..9406bbf 100644
--- a/node_modules/react-native-navigation/lib/ios/RNNComponentViewController.m
@@ -509,32 +432,8 @@ index b44f24f..bf4e1c3 100644
[hitTestResult isKindOfClass:[RCTModalHostView class]] ||
[hitTestResult isKindOfClass:NSClassFromString(@"RCTRootComponentView")]) {
return nil;
-diff --git a/node_modules/react-native-navigation/lib/ios/RNNStackPresenter.m b/node_modules/react-native-navigation/lib/ios/RNNStackPresenter.m
-index 5f4218e..8513863 100644
---- a/node_modules/react-native-navigation/lib/ios/RNNStackPresenter.m
-+++ b/node_modules/react-native-navigation/lib/ios/RNNStackPresenter.m
-@@ -67,8 +67,6 @@
- [_interactivePopGestureDelegate setEnabled:[withDefault.popGesture withDefault:YES]];
- stack.interactivePopGestureRecognizer.delegate = _interactivePopGestureDelegate;
-
-- [stack
-- setBarStyle:[RCTConvert UIBarStyle:[withDefault.topBar.barStyle withDefault:@"default"]]];
- [stack setRootBackgroundImage:[withDefault.rootBackgroundImage withDefault:nil]];
- [stack setNavigationBarTestId:[withDefault.topBar.testID withDefault:nil]];
- [stack setNavigationBarVisible:[withDefault.topBar.visible withDefault:YES]
-@@ -125,10 +123,6 @@
- [stack hideBarsOnScroll:[mergeOptions.topBar.hideOnScroll get]];
- }
-
-- if (mergeOptions.topBar.barStyle.hasValue) {
-- [stack setBarStyle:[RCTConvert UIBarStyle:mergeOptions.topBar.barStyle.get]];
-- }
--
- if (mergeOptions.topBar.background.clipToBounds.hasValue) {
- [stack setNavigationBarClipsToBounds:[mergeOptions.topBar.background.clipToBounds get]];
- }
diff --git a/node_modules/react-native-navigation/lib/src/interfaces/Options.ts b/node_modules/react-native-navigation/lib/src/interfaces/Options.ts
-index 1ab5b4e..ccd0b74 100644
+index f0923ed..b0ea7fc 100644
--- a/node_modules/react-native-navigation/lib/src/interfaces/Options.ts
+++ b/node_modules/react-native-navigation/lib/src/interfaces/Options.ts
@@ -1,5 +1,5 @@
diff --git a/patches/react-native-reanimated+3.16.5.patch b/patches/react-native-reanimated+3.17.1.patch
similarity index 100%
rename from patches/react-native-reanimated+3.16.5.patch
rename to patches/react-native-reanimated+3.17.1.patch
diff --git a/patches/react-native-safe-area-context+5.0.0.patch b/patches/react-native-safe-area-context+5.3.0.patch
similarity index 100%
rename from patches/react-native-safe-area-context+5.0.0.patch
rename to patches/react-native-safe-area-context+5.3.0.patch
diff --git a/patches/react-native-share+12.0.3.patch b/patches/react-native-share+12.0.9.patch
similarity index 100%
rename from patches/react-native-share+12.0.3.patch
rename to patches/react-native-share+12.0.9.patch
diff --git a/patches/react-native-svg+15.10.1.patch b/patches/react-native-svg+15.11.2.patch
similarity index 100%
rename from patches/react-native-svg+15.10.1.patch
rename to patches/react-native-svg+15.11.2.patch
diff --git a/patches/react-native-webrtc+124.0.4.patch b/patches/react-native-webrtc+124.0.5.patch
similarity index 100%
rename from patches/react-native-webrtc+124.0.4.patch
rename to patches/react-native-webrtc+124.0.5.patch
diff --git a/test/setup.ts b/test/setup.ts
index a523b7111..9050247f7 100644
--- a/test/setup.ts
+++ b/test/setup.ts
@@ -9,7 +9,6 @@ import mockSafeAreaContext from 'react-native-safe-area-context/jest/mock';
import {v4 as uuidv4} from 'uuid';
import 'react-native-gesture-handler/jestSetup';
-import '@testing-library/react-native/extend-expect';
import {mockApiClient} from './mock_api_client';
@@ -18,6 +17,9 @@ import type {RequestOptions} from '@mattermost/react-native-network-client';
// @ts-expect-error Promise does not exists in global
global.Promise = jest.requireActual('promise');
+// eslint-disable-next-line no-process-env
+process.env.EXPO_OS = 'ios';
+
setGenerator(uuidv4);
require('isomorphic-fetch');
@@ -69,6 +71,13 @@ jest.mock('expo-web-browser', () => ({
jest.mock('@nozbe/watermelondb/utils/common/randomId/randomId', () => ({}));
+jest.mock('@nozbe/watermelondb/react/withObservables/garbageCollector', () => {
+ return {
+ __esModule: true,
+ default: jest.fn(),
+ };
+});
+
/* eslint-disable no-console */
jest.mock('@database/manager');
jest.doMock('react-native', () => {
@@ -166,6 +175,7 @@ jest.doMock('react-native', () => {
removeServerNotifications: jest.fn().mockImplementation(),
unlockOrientation: jest.fn(),
+ getWindowDimensions: jest.fn().mockReturnValue({width: 426, height: 952}),
},
APIClient: {
getConstants: () => ({
@@ -231,6 +241,12 @@ jest.doMock('react-native', () => {
InteractionManager,
NativeModules,
Linking,
+ Animated: {
+ ...ReactNative.Animated,
+ timing: jest.fn(() => ({
+ start: jest.fn((callback) => callback?.({finished: true})),
+ })),
+ },
}, ReactNative);
});
@@ -388,12 +404,12 @@ jest.mock('@react-native-clipboard/clipboard', () => ({}));
jest.mock('react-native-document-picker', () => ({}));
jest.mock('@mattermost/react-native-network-client', () => ({
- getOrCreateAPIClient: (serverUrl: string) => ({client: {
+ getOrCreateAPIClient: jest.fn((serverUrl: string) => Promise.resolve({client: {
baseUrl: serverUrl,
get: (url: string, options?: RequestOptions) => mockApiClient.get(`${serverUrl}${url}`, options),
post: (url: string, options?: RequestOptions) => mockApiClient.post(`${serverUrl}${url}`, options),
invalidate: jest.fn(),
- }}),
+ }})),
RetryTypes: {
EXPONENTIAL_RETRY: 'exponential',
},
@@ -424,3 +440,24 @@ global.requestAnimationFrame = (callback) => {
};
global.performance.now = () => Date.now();
+
+const colors = {
+ reset: '\x1b[0m',
+ yellow: '\x1b[33m',
+ red: '\x1b[31m',
+ cyan: '\x1b[36m',
+ blue: '\x1b[1;34m',
+};
+
+const filterStackTrace = (color: string, prefix: string) => {
+ return (...args: unknown[]) => {
+ const message = args.join(' ');
+ process.stdout.write(`\n${color}${prefix} ${message}${colors.reset}\n`);
+ };
+};
+
+// Override console methods globally
+console.warn = filterStackTrace(colors.yellow, '⚠️ Warning:');
+console.error = filterStackTrace(colors.red, '🚨 Error:');
+console.log = filterStackTrace(colors.cyan, '📢 Log:');
+console.debug = filterStackTrace(colors.blue, '🐞 Debug:');
diff --git a/types/launch/index.ts b/types/launch/index.ts
index b813e4369..30fa52292 100644
--- a/types/launch/index.ts
+++ b/types/launch/index.ts
@@ -1,7 +1,7 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
-import type {DeepLink, Launch} from '@constants';
+import type {DeepLink as DeepLinkConstant, Launch} from '@constants';
export interface DeepLink {
serverUrl: string;
@@ -33,7 +33,7 @@ export interface DeepLinkPlugin extends DeepLink {
route?: string;
}
-export type DeepLinkType = typeof DeepLink[keyof typeof DeepLink];
+export type DeepLinkType = typeof DeepLinkConstant[keyof typeof DeepLinkConstant];
export interface DeepLinkWithData {
type: DeepLinkType;
diff --git a/types/screens/gallery.ts b/types/screens/gallery.ts
index 950586b05..4ce5986ee 100644
--- a/types/screens/gallery.ts
+++ b/types/screens/gallery.ts
@@ -5,17 +5,17 @@
// See LICENSE.txt for license information.
import type {Caption} from '@mattermost/calls/lib/types';
import type {GestureHandlerGestureEvent} from 'react-native-gesture-handler';
-import type Animated from 'react-native-reanimated';
+import type {SharedValue} from 'react-native-reanimated';
export type GalleryManagerSharedValues = {
- width: Animated.SharedValue;
- height: Animated.SharedValue;
- x: Animated.SharedValue;
- y: Animated.SharedValue;
- opacity: Animated.SharedValue;
- activeIndex: Animated.SharedValue;
- targetWidth: Animated.SharedValue;
- targetHeight: Animated.SharedValue;
+ width: SharedValue;
+ height: SharedValue;
+ x: SharedValue;
+ y: SharedValue;
+ opacity: SharedValue;
+ activeIndex: SharedValue;
+ targetWidth: SharedValue;
+ targetHeight: SharedValue;
}
export type Context = { [key: string]: any };