diff --git a/.gitlab/ci/build_app.yml b/.gitlab/ci/build_app.yml
index 66b90414..3854e3ad 100644
--- a/.gitlab/ci/build_app.yml
+++ b/.gitlab/ci/build_app.yml
@@ -86,7 +86,7 @@ app-web-image:
- npm install -g pnpm@10
- pnpm config set @polycentric:registry https://${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/
- pnpm install
- - apt-get update && apt-get install -y --no-install-recommends git
+ - apt-get update && apt-get install -y --no-install-recommends git jq
# Tag builds use the tag version; others use the latest release + a patch.
- export APP_VERSION=$(node "$CI_PROJECT_DIR/tools/expo/resolve-version.js")
- echo "Building app version ${APP_VERSION}"
@@ -117,9 +117,42 @@ app-web-image:
app-android-apk:
extends: .app-eas-build
script:
- - npx eas-cli build --platform android --profile preview --non-interactive --wait --json > eas-build.json
+ - |
+ if [ -n "${CI_COMMIT_TAG:-}" ]; then
+ EAS_PROFILE="production-apk"
+ else
+ EAS_PROFILE="preview"
+ fi
+ echo "Building Android APK with EAS profile ${EAS_PROFILE}"
+ npx eas-cli build --platform android --profile "$EAS_PROFILE" --non-interactive --wait --json > eas-build.json
# eas only builds remotely; download the resulting APK so it is a CI artifact.
- node "$CI_PROJECT_DIR/tools/expo/download-apk.js" eas-build.json polycentric.apk
+ - |
+ if [ "$CI_PIPELINE_SOURCE" != "merge_request_event" ]; then
+ export CLOUDFLARE_API_TOKEN="$CLOUDFLARE_R2_API_TOKEN"
+ APP_BUILD_NUMBER=$(jq -r '.[0].appBuildVersion' eas-build.json)
+ APK_KEY="android/$EAS_PROFILE/builds/$APP_BUILD_NUMBER/harbor-v$APP_VERSION.apk"
+ APK_URL="${EXPO_PUBLIC_RELEASE_URL%/}/$APK_KEY"
+
+ jq -n \
+ --argjson buildNumber "$APP_BUILD_NUMBER" \
+ --arg version "$APP_VERSION" \
+ --arg apkUrl "$APK_URL" \
+ '{ buildNumber: $buildNumber, version: $version, apkUrl: $apkUrl }' \
+ > latest.json
+
+ npx --yes wrangler@4 r2 object put "$R2_BUCKET_NAME/$APK_KEY" \
+ --file polycentric.apk \
+ --content-type application/vnd.android.package-archive \
+ --cache-control "public, max-age=31536000, immutable" \
+ --remote
+
+ npx --yes wrangler@4 r2 object put "$R2_BUCKET_NAME/android/$EAS_PROFILE/latest.json" \
+ --file latest.json \
+ --content-type application/json \
+ --cache-control no-store \
+ --remote
+ fi
artifacts:
paths:
- apps/polycentric/polycentric.apk
@@ -129,9 +162,9 @@ app-android-apk:
app-android-aab:
extends: .app-eas-build
script:
- - npx eas-cli build --platform android --non-interactive --no-wait --auto-submit
+ - npx eas-cli build --platform android --profile production --non-interactive --no-wait --auto-submit
app-ios:
extends: .app-eas-build
script:
- - npx eas-cli build --platform ios --non-interactive --no-wait --auto-submit
+ - npx eas-cli build --platform ios --profile production --non-interactive --no-wait --auto-submit
diff --git a/apps/polycentric/app.config.ts b/apps/polycentric/app.config.ts
index 44f958e6..567fcc5c 100644
--- a/apps/polycentric/app.config.ts
+++ b/apps/polycentric/app.config.ts
@@ -4,6 +4,9 @@ import fs from 'fs';
const { version: PKG_VERSION } = require('./package.json');
const IS_DEV = process.env.APP_VARIANT === 'dev';
+const BUILD_PROFILE = process.env.EXPO_PUBLIC_BUILD_PROFILE;
+const IS_APK_BUILD =
+ BUILD_PROFILE === 'preview' || BUILD_PROFILE === 'production-apk';
const NAME = IS_DEV ? 'Harbor Dev' : 'Harbor';
const ID = IS_DEV ? 'org.futo.polycentric.dev' : 'org.futo.polycentric';
@@ -49,7 +52,10 @@ export default ({ config }: ConfigContext): ExpoConfig => ({
backgroundColor: '#FF6A00',
},
package: ID,
- permissions: ['android.permission.CAMERA'],
+ permissions: [
+ 'android.permission.CAMERA',
+ ...(IS_APK_BUILD ? ['android.permission.REQUEST_INSTALL_PACKAGES'] : []),
+ ],
...(HAS_GOOGLE_SERVICES && { googleServicesFile: GOOGLE_SERVICES_FILE }),
},
plugins: [
diff --git a/apps/polycentric/app/_layout.tsx b/apps/polycentric/app/_layout.tsx
index 369ae90a..70de1b8e 100644
--- a/apps/polycentric/app/_layout.tsx
+++ b/apps/polycentric/app/_layout.tsx
@@ -6,6 +6,7 @@ import {
} from '@/src/common/lib/polycentric-hooks';
import { APP_NAME } from '@/src/common/constants';
import { Atoms, ThemeProvider, useTheme } from '@/src/common/theme';
+import { UpdateModal } from '@/src/features/updates/UpdateModal';
import { isWeb } from '@/src/common/util/platform';
import '@/src/common/util/react-native-screens-feature-flags';
import { TrueSheetProvider } from '@lodev09/react-native-true-sheet';
@@ -130,6 +131,7 @@ export default function RootLayout() {
+
diff --git a/apps/polycentric/eas.json b/apps/polycentric/eas.json
index 1826bf6b..4c918d81 100644
--- a/apps/polycentric/eas.json
+++ b/apps/polycentric/eas.json
@@ -6,13 +6,39 @@
"build": {
"development": {
"developmentClient": true,
- "distribution": "internal"
+ "distribution": "internal",
+ "environment": "development",
+ "env": {
+ "EXPO_PUBLIC_BUILD_PROFILE": "development"
+ }
},
"preview": {
- "distribution": "internal"
+ "distribution": "internal",
+ "autoIncrement": true,
+ "environment": "preview",
+ "env": {
+ "EXPO_PUBLIC_BUILD_PROFILE": "preview"
+ },
+ "android": {
+ "buildType": "apk"
+ }
},
"production": {
- "autoIncrement": true
+ "autoIncrement": true,
+ "environment": "production",
+ "env": {
+ "EXPO_PUBLIC_BUILD_PROFILE": "production"
+ }
+ },
+ "production-apk": {
+ "extends": "production",
+ "distribution": "internal",
+ "env": {
+ "EXPO_PUBLIC_BUILD_PROFILE": "production-apk"
+ },
+ "android": {
+ "buildType": "apk"
+ }
}
},
"submit": {
diff --git a/apps/polycentric/package.json b/apps/polycentric/package.json
index a91511a2..74c0237e 100644
--- a/apps/polycentric/package.json
+++ b/apps/polycentric/package.json
@@ -36,6 +36,7 @@
"@types/react-native-web": "^0.19.2",
"better-sqlite3": "^12.10.0",
"expo": "~57.0.4",
+ "expo-application": "~57.0.0",
"expo-blur": "~57.0.0",
"expo-build-properties": "~57.0.3",
"expo-clipboard": "~57.0.0",
@@ -49,6 +50,7 @@
"expo-image": "~57.0.0",
"expo-image-manipulator": "~57.0.2",
"expo-image-picker": "~57.0.2",
+ "expo-intent-launcher": "~57.0.1",
"expo-linking": "~57.0.2",
"expo-notifications": "~57.0.3",
"expo-router": "~57.0.4",
diff --git a/apps/polycentric/src/features/updates/UpdateModal.tsx b/apps/polycentric/src/features/updates/UpdateModal.tsx
new file mode 100644
index 00000000..dc628a33
--- /dev/null
+++ b/apps/polycentric/src/features/updates/UpdateModal.tsx
@@ -0,0 +1,128 @@
+import { useEffect, useState } from 'react';
+import { Modal, Platform, View } from 'react-native';
+import { fetch } from 'expo/fetch';
+import { File, Paths } from 'expo-file-system';
+import { getContentUriAsync } from 'expo-file-system/legacy';
+import { startActivityAsync } from 'expo-intent-launcher';
+import { SafeAreaView } from 'react-native-safe-area-context';
+import { Atoms, useTheme } from '@/src/common/theme';
+import { Button, Text } from '@/src/common/components';
+import * as Application from 'expo-application';
+
+type ApkBuildProfile = 'preview' | 'production-apk';
+
+const RELEASE_URL = process.env.EXPO_PUBLIC_RELEASE_URL;
+const BUILD_PROFILE = process.env.EXPO_PUBLIC_BUILD_PROFILE;
+
+export interface LatestRelease {
+ buildNumber: number;
+ version: string;
+ apkUrl: string;
+}
+
+export async function fetchLatestRelease(
+ buildProfile: ApkBuildProfile,
+): Promise {
+ const response = await fetch(
+ `${RELEASE_URL}/android/${buildProfile}/latest.json`,
+ );
+
+ if (!response.ok) {
+ throw new Error(`Release check failed: ${response.status}`);
+ }
+
+ return response.json();
+}
+
+export function UpdateModal() {
+ const [availableRelease, setAvailableRelease] =
+ useState(null);
+ const { theme } = useTheme();
+
+ const onUpdateNow = async () => {
+ if (!availableRelease) return;
+
+ const apk = await File.downloadFileAsync(
+ availableRelease.apkUrl,
+ new File(Paths.cache, 'polycentric-update.apk'),
+ { idempotent: true },
+ );
+ const contentUri = await getContentUriAsync(apk.uri);
+
+ await startActivityAsync('android.intent.action.VIEW', {
+ data: contentUri,
+ flags: 1,
+ type: 'application/vnd.android.package-archive',
+ });
+ };
+
+ useEffect(() => {
+ if (
+ Platform.OS !== 'android' ||
+ !RELEASE_URL ||
+ (BUILD_PROFILE !== 'preview' && BUILD_PROFILE !== 'production-apk')
+ ) {
+ return;
+ }
+
+ void fetchLatestRelease(BUILD_PROFILE).then((release) => {
+ const installedBuildNumber = Number(Application.nativeBuildVersion);
+ if (
+ Number.isNaN(installedBuildNumber) ||
+ release.buildNumber <= installedBuildNumber
+ ) {
+ return;
+ }
+
+ setAvailableRelease(release);
+ });
+ }, []);
+
+ return (
+ setAvailableRelease(null)}
+ presentationStyle="fullScreen"
+ visible={availableRelease !== null}
+ >
+
+
+
+
+
+ New Update
+ {'\n'}
+ Available
+
+
+
+ New Android APK version available. Version{' '}
+ {availableRelease?.version} is now ready to install.
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 4bf402f7..7bb6a509 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -126,6 +126,9 @@ importers:
expo:
specifier: ~57.0.4
version: 57.0.4(4d7f482e0e86e2a8a699f9e63c2da573)
+ expo-application:
+ specifier: ~57.0.0
+ version: 57.0.0(expo@57.0.4)
expo-blur:
specifier: ~57.0.0
version: 57.0.0(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
@@ -165,6 +168,9 @@ importers:
expo-image-picker:
specifier: ~57.0.2
version: 57.0.2(expo@57.0.4)
+ expo-intent-launcher:
+ specifier: ~57.0.1
+ version: 57.0.1(expo@57.0.4)
expo-linking:
specifier: ~57.0.2
version: 57.0.2(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
@@ -599,7 +605,7 @@ importers:
version: 57.0.0(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
jest:
specifier: 'catalog:'
- version: 29.7.0(@types/node@24.13.1)
+ version: 29.7.0(@types/node@22.19.20)
react:
specifier: 19.2.3
version: 19.2.3
@@ -6652,6 +6658,11 @@ packages:
react-native-web:
optional: true
+ expo-intent-launcher@57.0.1:
+ resolution: {integrity: sha512-BYiPEOUeW3AkW/uxEESbS2UBw9LasJ8Heb6A8kF9Ueh6pqrXQHMNJFHzfrOP8qZfv9G2e8CTzrtzpN5p0vH5fA==}
+ peerDependencies:
+ expo: '*'
+
expo-json-utils@57.0.0:
resolution: {integrity: sha512-GJMjJlS3ZRTXWkKJPXY9OjscEEyPxbvNURBJ9Gkd3KxS4Hzof+EdK8pF+3Ty4ec435ciYm9ll+IWznuVHYMiow==}
@@ -14465,83 +14476,6 @@ snapshots:
- typescript
- utf-8-validate
- '@expo/cli@57.0.6(patch_hash=ea4184e1326d9513b8d8a8cfef27ec609848ff92f41989ef50b71c4c3b2d0b9f)(@expo/dom-webview@57.0.0)(@expo/metro-runtime@57.0.3)(expo-constants@57.0.3)(expo-font@57.0.0)(expo-router@57.0.4)(expo@57.0.4)(react-dom@19.2.7(react@19.2.3))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)(typescript@5.9.3)':
- dependencies:
- '@expo/code-signing-certificates': 0.0.6
- '@expo/config': 57.0.3(typescript@5.9.3)
- '@expo/config-plugins': 57.0.5(typescript@5.9.3)
- '@expo/devcert': 1.2.1
- '@expo/env': 2.4.1
- '@expo/image-utils': 0.11.1(typescript@5.9.3)
- '@expo/inline-modules': 0.1.2(typescript@5.9.3)
- '@expo/json-file': 11.0.0
- '@expo/log-box': 57.0.0(@expo/dom-webview@57.0.0)(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- '@expo/metro': 56.0.0
- '@expo/metro-config': 57.0.3(expo@57.0.4)(typescript@5.9.3)
- '@expo/metro-file-map': 57.0.0
- '@expo/osascript': 2.7.0
- '@expo/package-manager': 1.13.0
- '@expo/plist': 0.8.1
- '@expo/prebuild-config': 57.0.5(typescript@5.9.3)
- '@expo/require-utils': 57.0.1(typescript@5.9.3)
- '@expo/router-server': 57.0.2(@expo/metro-runtime@57.0.3)(expo-constants@57.0.3)(expo-font@57.0.0)(expo-router@57.0.4)(expo-server@57.0.0)(expo@57.0.4)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- '@expo/schema-utils': 57.0.1
- '@expo/spawn-async': 1.8.0
- '@expo/ws-tunnel': 2.0.0(ws@8.21.0)
- '@expo/xcpretty': 4.4.4
- '@react-native/dev-middleware': 0.86.0
- accepts: 1.3.8
- agent-cli-detector: 0.1.2
- arg: 5.0.2
- bplist-creator: 0.1.0
- bplist-parser: 0.3.2
- chalk: 4.1.2
- ci-info: 3.9.0
- compression: 1.8.1
- connect: 3.7.0
- debug: 4.4.3
- dnssd-advertise: 1.1.6
- expo: 57.0.4(8cd9a5a2471086325fae71158b38e905)
- expo-server: 57.0.0
- fetch-nodeshim: 0.4.10
- getenv: 2.0.0
- glob: 13.0.6
- lan-network: 0.2.1
- multitars: 1.0.0
- node-forge: 1.4.0
- npm-package-arg: 11.0.3
- ora: 3.4.0
- picomatch: 4.0.5
- pretty-format: 29.7.0
- progress: 2.0.3
- prompts: 2.4.2
- resolve-from: 5.0.0
- semver: 7.8.5
- send: 0.19.2
- slugify: 1.6.9
- stacktrace-parser: 0.1.11
- structured-headers: 0.4.1
- terminal-link: 2.1.1
- toqr: 0.1.1
- wrap-ansi: 7.0.0
- ws: 8.21.0
- zod: 3.25.76
- optionalDependencies:
- expo-router: 57.0.4(0013fb9b470524cc9196807d04efab70)
- react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
- transitivePeerDependencies:
- - '@expo/dom-webview'
- - '@expo/metro-runtime'
- - bufferutil
- - expo-constants
- - expo-font
- - react
- - react-dom
- - react-server-dom-webpack
- - supports-color
- - typescript
- - utf-8-validate
-
'@expo/cli@57.0.6(patch_hash=ea4184e1326d9513b8d8a8cfef27ec609848ff92f41989ef50b71c4c3b2d0b9f)(@expo/dom-webview@57.0.0)(@expo/metro-runtime@57.0.3)(expo-constants@57.0.3)(expo-font@57.0.0)(expo-router@57.0.4)(expo@57.0.4)(react-dom@19.2.7(react@19.2.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.7))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.7))(react@19.2.7)(typescript@5.9.3)':
dependencies:
'@expo/code-signing-certificates': 0.0.6
@@ -14642,6 +14576,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- typescript
+ optional: true
'@expo/config-plugins@57.0.3(typescript@6.0.3)':
dependencies:
@@ -14680,6 +14615,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- typescript
+ optional: true
'@expo/config-plugins@57.0.5(typescript@6.0.3)':
dependencies:
@@ -14717,6 +14653,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- typescript
+ optional: true
'@expo/config@57.0.3(typescript@6.0.3)':
dependencies:
@@ -14758,7 +14695,7 @@ snapshots:
'@expo/dom-webview@57.0.0(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)':
dependencies:
- expo: 57.0.4(8cd9a5a2471086325fae71158b38e905)
+ expo: 57.0.4(4d7f482e0e86e2a8a699f9e63c2da573)
react: 19.2.3
react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
@@ -14807,6 +14744,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- typescript
+ optional: true
'@expo/image-utils@0.11.1(typescript@6.0.3)':
dependencies:
@@ -14827,6 +14765,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- typescript
+ optional: true
'@expo/inline-modules@0.1.2(typescript@6.0.3)':
dependencies:
@@ -14852,6 +14791,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- typescript
+ optional: true
'@expo/local-build-cache-provider@57.0.2(typescript@6.0.3)':
dependencies:
@@ -14865,7 +14805,7 @@ snapshots:
dependencies:
'@expo/dom-webview': 57.0.0(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
anser: 1.4.10
- expo: 57.0.4(8cd9a5a2471086325fae71158b38e905)
+ expo: 57.0.4(4d7f482e0e86e2a8a699f9e63c2da573)
react: 19.2.3
react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
stacktrace-parser: 0.1.11
@@ -14912,6 +14852,7 @@ snapshots:
- supports-color
- typescript
- utf-8-validate
+ optional: true
'@expo/metro-config@57.0.3(expo@57.0.4)(typescript@6.0.3)':
dependencies:
@@ -14970,20 +14911,6 @@ snapshots:
optionalDependencies:
react-dom: 19.2.3(react@19.2.3)
- '@expo/metro-runtime@57.0.3(@expo/log-box@57.0.0)(expo@57.0.4)(react-dom@19.2.7(react@19.2.3))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)':
- dependencies:
- '@expo/log-box': 57.0.0(@expo/dom-webview@57.0.0)(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- anser: 1.4.10
- expo: 57.0.4(8cd9a5a2471086325fae71158b38e905)
- pretty-format: 29.7.0
- react: 19.2.3
- react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
- stacktrace-parser: 0.1.11
- whatwg-fetch: 3.6.20
- optionalDependencies:
- react-dom: 19.2.7(react@19.2.3)
- optional: true
-
'@expo/metro-runtime@57.0.3(@expo/log-box@57.0.0)(expo@57.0.4)(react-dom@19.2.7(react@19.2.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.7))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.7))(react@19.2.7)':
dependencies:
'@expo/log-box': 57.0.0(@expo/dom-webview@57.0.0)(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.7))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.7))(react@19.2.7)
@@ -15053,6 +14980,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- typescript
+ optional: true
'@expo/prebuild-config@57.0.5(typescript@6.0.3)':
dependencies:
@@ -15079,6 +15007,7 @@ snapshots:
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
+ optional: true
'@expo/require-utils@57.0.1(typescript@6.0.3)':
dependencies:
@@ -15099,6 +15028,7 @@ snapshots:
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
+ optional: true
'@expo/require-utils@57.0.3(typescript@6.0.3)':
dependencies:
@@ -15125,21 +15055,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@expo/router-server@57.0.2(@expo/metro-runtime@57.0.3)(expo-constants@57.0.3)(expo-font@57.0.0)(expo-router@57.0.4)(expo-server@57.0.0)(expo@57.0.4)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)':
- dependencies:
- debug: 4.4.3
- expo: 57.0.4(8cd9a5a2471086325fae71158b38e905)
- expo-constants: 57.0.3(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))
- expo-font: 57.0.0(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- expo-server: 57.0.0
- react: 19.2.3
- optionalDependencies:
- '@expo/metro-runtime': 57.0.3(@expo/log-box@57.0.0)(expo@57.0.4)(react-dom@19.2.7(react@19.2.3))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- expo-router: 57.0.4(0013fb9b470524cc9196807d04efab70)
- react-dom: 19.2.7(react@19.2.3)
- transitivePeerDependencies:
- - supports-color
-
'@expo/router-server@57.0.2(@expo/metro-runtime@57.0.3)(expo-constants@57.0.3)(expo-font@57.0.0)(expo-router@57.0.4)(expo-server@57.0.0)(expo@57.0.4)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
debug: 4.4.3
@@ -15181,22 +15096,6 @@ snapshots:
- '@types/react'
- '@types/react-dom'
- '@expo/ui@57.0.4(@babel/core@7.29.7)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(expo@57.0.4)(react-dom@19.2.7(react@19.2.3))(react-native-worklets@0.10.2(@babel/core@7.29.7)(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)':
- dependencies:
- expo: 57.0.4(8cd9a5a2471086325fae71158b38e905)
- react: 19.2.3
- react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
- sf-symbols-typescript: 2.2.0
- vaul: 1.1.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- optionalDependencies:
- '@babel/core': 7.29.7
- react-dom: 19.2.7(react@19.2.3)
- react-native-worklets: 0.10.2(@babel/core@7.29.7)(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- transitivePeerDependencies:
- - '@types/react'
- - '@types/react-dom'
- optional: true
-
'@expo/ui@57.0.4(@babel/core@7.29.7)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(expo@57.0.4)(react-dom@19.2.7(react@19.2.7))(react-native-worklets@0.10.2(@babel/core@7.29.7)(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.7))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.7))(react@19.2.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.7))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.7))(react@19.2.7)':
dependencies:
expo: 57.0.4(390dfb0cbb66aff9bb66d37597256d65)
@@ -16096,19 +15995,6 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-collection@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)':
- dependencies:
- '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-primitive': 2.1.5(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- '@radix-ui/react-slot': 1.2.5(@types/react@19.2.17)(react@19.2.3)
- react: 19.2.3
- react-dom: 19.2.7(react@19.2.3)
- optionalDependencies:
- '@types/react': 19.2.17
- '@types/react-dom': 19.2.3(@types/react@19.2.17)
- optional: true
-
'@radix-ui/react-collection@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
@@ -16170,29 +16056,6 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-dialog@1.1.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)':
- dependencies:
- '@radix-ui/primitive': 1.1.4
- '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-dismissable-layer': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- '@radix-ui/react-focus-guards': 1.1.4(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-focus-scope': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- '@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-portal': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- '@radix-ui/react-primitive': 2.1.5(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- '@radix-ui/react-slot': 1.2.5(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.3)
- aria-hidden: 1.2.6
- react: 19.2.3
- react-dom: 19.2.7(react@19.2.3)
- react-remove-scroll: 2.7.2(@types/react@19.2.17)(react@19.2.3)
- optionalDependencies:
- '@types/react': 19.2.17
- '@types/react-dom': 19.2.3(@types/react@19.2.17)
- optional: true
-
'@radix-ui/react-dialog@1.1.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
@@ -16242,20 +16105,6 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-dismissable-layer@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)':
- dependencies:
- '@radix-ui/primitive': 1.1.4
- '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-primitive': 2.1.5(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-use-escape-keydown': 1.1.2(@types/react@19.2.17)(react@19.2.3)
- react: 19.2.3
- react-dom: 19.2.7(react@19.2.3)
- optionalDependencies:
- '@types/react': 19.2.17
- '@types/react-dom': 19.2.3(@types/react@19.2.17)
- optional: true
-
'@radix-ui/react-dismissable-layer@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
@@ -16333,18 +16182,6 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-focus-scope@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)':
- dependencies:
- '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-primitive': 2.1.5(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.3)
- react: 19.2.3
- react-dom: 19.2.7(react@19.2.3)
- optionalDependencies:
- '@types/react': 19.2.17
- '@types/react-dom': 19.2.3(@types/react@19.2.17)
- optional: true
-
'@radix-ui/react-focus-scope@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
@@ -16466,17 +16303,6 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-portal@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)':
- dependencies:
- '@radix-ui/react-primitive': 2.1.5(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.3)
- react: 19.2.3
- react-dom: 19.2.7(react@19.2.3)
- optionalDependencies:
- '@types/react': 19.2.17
- '@types/react-dom': 19.2.3(@types/react@19.2.17)
- optional: true
-
'@radix-ui/react-portal@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-primitive': 2.1.5(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
@@ -16507,16 +16333,6 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-presence@1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)':
- dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.3)
- react: 19.2.3
- react-dom: 19.2.7(react@19.2.3)
- optionalDependencies:
- '@types/react': 19.2.17
- '@types/react-dom': 19.2.3(@types/react@19.2.17)
- optional: true
-
'@radix-ui/react-presence@1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7)
@@ -16536,16 +16352,6 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-primitive@2.1.5(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)':
- dependencies:
- '@radix-ui/react-slot': 1.2.5(@types/react@19.2.17)(react@19.2.3)
- react: 19.2.3
- react-dom: 19.2.7(react@19.2.3)
- optionalDependencies:
- '@types/react': 19.2.17
- '@types/react-dom': 19.2.3(@types/react@19.2.17)
- optional: true
-
'@radix-ui/react-primitive@2.1.5(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-slot': 1.2.5(@types/react@19.2.17)(react@19.2.7)
@@ -16600,24 +16406,6 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-roving-focus@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)':
- dependencies:
- '@radix-ui/primitive': 1.1.4
- '@radix-ui/react-collection': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-primitive': 2.1.5(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.3)
- react: 19.2.3
- react-dom: 19.2.7(react@19.2.3)
- optionalDependencies:
- '@types/react': 19.2.17
- '@types/react-dom': 19.2.3(@types/react@19.2.17)
- optional: true
-
'@radix-ui/react-roving-focus@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
@@ -16699,23 +16487,6 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-tabs@1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)':
- dependencies:
- '@radix-ui/primitive': 1.1.4
- '@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- '@radix-ui/react-primitive': 2.1.5(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- '@radix-ui/react-roving-focus': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.3)
- react: 19.2.3
- react-dom: 19.2.7(react@19.2.3)
- optionalDependencies:
- '@types/react': 19.2.17
- '@types/react-dom': 19.2.3(@types/react@19.2.17)
- optional: true
-
'@radix-ui/react-tabs@1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
@@ -17061,9 +16832,7 @@ snapshots:
metro-runtime: 0.84.4
transitivePeerDependencies:
- '@babel/core'
- - bufferutil
- supports-color
- - utf-8-validate
'@react-native/normalize-colors@0.74.89': {}
@@ -18539,7 +18308,7 @@ snapshots:
react-refresh: 0.14.2
optionalDependencies:
'@babel/runtime': 7.29.7
- expo: 57.0.4(390dfb0cbb66aff9bb66d37597256d65)
+ expo: 57.0.4(4d7f482e0e86e2a8a699f9e63c2da573)
transitivePeerDependencies:
- '@babel/core'
- supports-color
@@ -19137,6 +18906,21 @@ snapshots:
optionalDependencies:
typescript: 6.0.3
+ create-jest@29.7.0(@types/node@22.19.20):
+ dependencies:
+ '@jest/types': 29.6.3
+ chalk: 4.1.2
+ exit: 0.1.2
+ graceful-fs: 4.2.11
+ jest-config: 29.7.0(@types/node@22.19.20)
+ jest-util: 29.7.0
+ prompts: 2.4.2
+ transitivePeerDependencies:
+ - '@types/node'
+ - babel-plugin-macros
+ - supports-color
+ - ts-node
+
create-jest@29.7.0(@types/node@24.13.1):
dependencies:
'@jest/types': 29.6.3
@@ -19823,17 +19607,6 @@ snapshots:
dependencies:
expo: 57.0.4(4d7f482e0e86e2a8a699f9e63c2da573)
- expo-asset@57.0.3(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)(typescript@5.9.3):
- dependencies:
- '@expo/image-utils': 0.11.1(typescript@5.9.3)
- expo: 57.0.4(8cd9a5a2471086325fae71158b38e905)
- expo-constants: 57.0.3(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))
- react: 19.2.3
- react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
- transitivePeerDependencies:
- - supports-color
- - typescript
-
expo-asset@57.0.3(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)(typescript@6.0.3):
dependencies:
'@expo/image-utils': 0.11.1(typescript@6.0.3)
@@ -19879,7 +19652,7 @@ snapshots:
expo-constants@57.0.3(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)):
dependencies:
'@expo/env': 2.4.1
- expo: 57.0.4(8cd9a5a2471086325fae71158b38e905)
+ expo: 57.0.4(4d7f482e0e86e2a8a699f9e63c2da573)
react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
transitivePeerDependencies:
- supports-color
@@ -19933,7 +19706,7 @@ snapshots:
expo-file-system@57.0.0(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)):
dependencies:
- expo: 57.0.4(8cd9a5a2471086325fae71158b38e905)
+ expo: 57.0.4(4d7f482e0e86e2a8a699f9e63c2da573)
react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
expo-file-system@57.0.0(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.7))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.7)):
@@ -19944,7 +19717,7 @@ snapshots:
expo-font@57.0.0(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3):
dependencies:
- expo: 57.0.4(8cd9a5a2471086325fae71158b38e905)
+ expo: 57.0.4(4d7f482e0e86e2a8a699f9e63c2da573)
fontfaceobserver: 2.3.0
react: 19.2.3
react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
@@ -19959,7 +19732,7 @@ snapshots:
expo-glass-effect@57.0.0(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3):
dependencies:
- expo: 57.0.4(8cd9a5a2471086325fae71158b38e905)
+ expo: 57.0.4(4d7f482e0e86e2a8a699f9e63c2da573)
react: 19.2.3
react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
@@ -19997,11 +19770,15 @@ snapshots:
optionalDependencies:
react-native-web: 0.21.2(encoding@0.1.13)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ expo-intent-launcher@57.0.1(expo@57.0.4):
+ dependencies:
+ expo: 57.0.4(4d7f482e0e86e2a8a699f9e63c2da573)
+
expo-json-utils@57.0.0: {}
expo-keep-awake@57.0.0(expo@57.0.4)(react@19.2.3):
dependencies:
- expo: 57.0.4(8cd9a5a2471086325fae71158b38e905)
+ expo: 57.0.4(4d7f482e0e86e2a8a699f9e63c2da573)
react: 19.2.3
expo-keep-awake@57.0.0(expo@57.0.4)(react@19.2.7):
@@ -20045,6 +19822,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- typescript
+ optional: true
expo-modules-autolinking@57.0.5(typescript@6.0.3):
dependencies:
@@ -20066,16 +19844,6 @@ snapshots:
optionalDependencies:
react-native-worklets: 0.10.0(@babel/core@7.29.7)(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- expo-modules-core@57.0.3(react-native-worklets@0.10.2(@babel/core@7.29.7)(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3):
- dependencies:
- '@expo/expo-modules-macros-plugin': 0.3.0
- expo-modules-jsi: 57.0.1(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))
- invariant: 2.2.4
- react: 19.2.3
- react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
- optionalDependencies:
- react-native-worklets: 0.10.2(@babel/core@7.29.7)(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
-
expo-modules-core@57.0.3(react-native-worklets@0.10.2(@babel/core@7.29.7)(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.7))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.7))(react@19.2.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.7))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.7))(react@19.2.7):
dependencies:
'@expo/expo-modules-macros-plugin': 0.3.0
@@ -20110,59 +19878,6 @@ snapshots:
- supports-color
- typescript
- expo-router@57.0.4(0013fb9b470524cc9196807d04efab70):
- dependencies:
- '@expo/log-box': 57.0.0(@expo/dom-webview@57.0.0)(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- '@expo/metro-runtime': 57.0.3(@expo/log-box@57.0.0)(expo@57.0.4)(react-dom@19.2.7(react@19.2.3))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- '@expo/schema-utils': 57.0.1
- '@expo/ui': 57.0.4(@babel/core@7.29.7)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(expo@57.0.4)(react-dom@19.2.7(react@19.2.3))(react-native-worklets@0.10.2(@babel/core@7.29.7)(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- '@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.3)
- '@radix-ui/react-tabs': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- '@react-native-masked-view/masked-view': 0.3.2(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- '@testing-library/jest-dom': 6.9.1
- '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1)
- client-only: 0.0.1
- color: 4.2.3
- debug: 4.4.3
- escape-string-regexp: 4.0.0
- expo: 57.0.4(8cd9a5a2471086325fae71158b38e905)
- expo-constants: 57.0.3(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))
- expo-glass-effect: 57.0.0(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- expo-linking: 57.0.2(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- expo-server: 57.0.0
- expo-symbols: 57.0.0(expo-font@57.0.0)(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- fast-deep-equal: 3.1.3
- invariant: 2.2.4
- nanoid: 3.3.15
- query-string: 7.1.3
- react: 19.2.3
- react-fast-compare: 3.2.2
- react-is: 19.2.7
- react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
- react-native-drawer-layout: 4.2.7(8d85665559d7c3f0a3d6e2a52c2d3570)
- react-native-safe-area-context: 5.8.0(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- react-native-screens: 4.26.2(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- server-only: 0.0.1
- sf-symbols-typescript: 2.2.0
- shallowequal: 1.1.0
- standard-navigation: 0.0.5
- vaul: 1.1.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- optionalDependencies:
- '@testing-library/react-native': 14.0.1(jest@29.7.0(@types/node@24.13.1))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)(test-renderer@1.2.0(@types/react@19.2.17)(react@19.2.3))
- react-dom: 19.2.7(react@19.2.3)
- react-native-gesture-handler: 2.32.0(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- react-native-reanimated: 4.5.1(react-native-worklets@0.10.2(@babel/core@7.29.7)(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- react-native-web: 0.21.2(encoding@0.1.13)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- transitivePeerDependencies:
- - '@babel/core'
- - '@testing-library/dom'
- - '@types/react'
- - '@types/react-dom'
- - expo-font
- - react-native-worklets
- - supports-color
- optional: true
-
expo-router@57.0.4(a36a2978c0100ce364a9e9d6c4032cbd):
dependencies:
'@expo/log-box': 57.0.0(@expo/dom-webview@57.0.0)(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
@@ -20300,7 +20015,7 @@ snapshots:
expo-sqlite@57.0.0(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3):
dependencies:
await-lock: 2.2.2
- expo: 57.0.4(8cd9a5a2471086325fae71158b38e905)
+ expo: 57.0.4(4d7f482e0e86e2a8a699f9e63c2da573)
react: 19.2.3
react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
@@ -20321,7 +20036,7 @@ snapshots:
expo-symbols@57.0.0(expo-font@57.0.0)(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3):
dependencies:
'@expo-google-fonts/material-symbols': 0.4.38
- expo: 57.0.4(8cd9a5a2471086325fae71158b38e905)
+ expo: 57.0.4(4d7f482e0e86e2a8a699f9e63c2da573)
expo-font: 57.0.0(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
react: 19.2.3
react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
@@ -20444,49 +20159,6 @@ snapshots:
- typescript
- utf-8-validate
- expo@57.0.4(8cd9a5a2471086325fae71158b38e905):
- dependencies:
- '@babel/runtime': 7.29.7
- '@expo/cli': 57.0.6(patch_hash=ea4184e1326d9513b8d8a8cfef27ec609848ff92f41989ef50b71c4c3b2d0b9f)(@expo/dom-webview@57.0.0)(@expo/metro-runtime@57.0.3)(expo-constants@57.0.3)(expo-font@57.0.0)(expo-router@57.0.4)(expo@57.0.4)(react-dom@19.2.7(react@19.2.3))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
- '@expo/config': 57.0.3(typescript@5.9.3)
- '@expo/config-plugins': 57.0.3(typescript@5.9.3)
- '@expo/devtools': 57.0.0(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- '@expo/fingerprint': 0.20.3
- '@expo/local-build-cache-provider': 57.0.2(typescript@5.9.3)
- '@expo/log-box': 57.0.0(@expo/dom-webview@57.0.0)(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- '@expo/metro': 56.0.0
- '@expo/metro-config': 57.0.3(expo@57.0.4)(typescript@5.9.3)
- '@ungap/structured-clone': 1.3.2
- babel-preset-expo: 57.0.2(@babel/core@7.29.7)(@babel/runtime@7.29.7)(expo@57.0.4)(react-refresh@0.14.2)
- expo-asset: 57.0.3(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
- expo-constants: 57.0.3(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))
- expo-file-system: 57.0.0(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))
- expo-font: 57.0.0(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- expo-keep-awake: 57.0.0(expo@57.0.4)(react@19.2.3)
- expo-modules-autolinking: 57.0.5(typescript@5.9.3)
- expo-modules-core: 57.0.3(react-native-worklets@0.10.2(@babel/core@7.29.7)(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- pretty-format: 29.7.0
- react: 19.2.3
- react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
- react-refresh: 0.14.2
- whatwg-url-minimum: 0.1.2
- optionalDependencies:
- '@expo/dom-webview': 57.0.0(expo@57.0.4)(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- '@expo/metro-runtime': 57.0.3(@expo/log-box@57.0.0)(expo@57.0.4)(react-dom@19.2.7(react@19.2.3))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- react-dom: 19.2.7(react@19.2.3)
- react-native-web: 0.21.2(encoding@0.1.13)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- react-native-webview: 13.16.1(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- transitivePeerDependencies:
- - '@babel/core'
- - bufferutil
- - expo-router
- - expo-widgets
- - react-native-worklets
- - react-server-dom-webpack
- - supports-color
- - typescript
- - utf-8-validate
-
exponential-backoff@3.1.3: {}
express@4.22.2:
@@ -21582,6 +21254,25 @@ snapshots:
- babel-plugin-macros
- supports-color
+ jest-cli@29.7.0(@types/node@22.19.20):
+ dependencies:
+ '@jest/core': 29.7.0
+ '@jest/test-result': 29.7.0
+ '@jest/types': 29.6.3
+ chalk: 4.1.2
+ create-jest: 29.7.0(@types/node@22.19.20)
+ exit: 0.1.2
+ import-local: 3.2.0
+ jest-config: 29.7.0(@types/node@22.19.20)
+ jest-util: 29.7.0
+ jest-validate: 29.7.0
+ yargs: 17.7.3
+ transitivePeerDependencies:
+ - '@types/node'
+ - babel-plugin-macros
+ - supports-color
+ - ts-node
+
jest-cli@29.7.0(@types/node@24.13.1):
dependencies:
'@jest/core': 29.7.0
@@ -21601,6 +21292,36 @@ snapshots:
- supports-color
- ts-node
+ jest-config@29.7.0(@types/node@22.19.20):
+ dependencies:
+ '@babel/core': 7.29.7
+ '@jest/test-sequencer': 29.7.0
+ '@jest/types': 29.6.3
+ babel-jest: 29.7.0(@babel/core@7.29.7)
+ chalk: 4.1.2
+ ci-info: 3.9.0
+ deepmerge: 4.3.1
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ jest-circus: 29.7.0
+ jest-environment-node: 29.7.0
+ jest-get-type: 29.6.3
+ jest-regex-util: 29.6.3
+ jest-resolve: 29.7.0
+ jest-runner: 29.7.0
+ jest-util: 29.7.0
+ jest-validate: 29.7.0
+ micromatch: 4.0.8
+ parse-json: 5.2.0
+ pretty-format: 29.7.0
+ slash: 3.0.0
+ strip-json-comments: 3.1.1
+ optionalDependencies:
+ '@types/node': 22.19.20
+ transitivePeerDependencies:
+ - babel-plugin-macros
+ - supports-color
+
jest-config@29.7.0(@types/node@24.13.1):
dependencies:
'@babel/core': 7.29.7
@@ -21925,6 +21646,18 @@ snapshots:
merge-stream: 2.0.0
supports-color: 8.1.1
+ jest@29.7.0(@types/node@22.19.20):
+ dependencies:
+ '@jest/core': 29.7.0
+ '@jest/types': 29.6.3
+ import-local: 3.2.0
+ jest-cli: 29.7.0(@types/node@22.19.20)
+ transitivePeerDependencies:
+ - '@types/node'
+ - babel-plugin-macros
+ - supports-color
+ - ts-node
+
jest@29.7.0(@types/node@24.13.1):
dependencies:
'@jest/core': 29.7.0
@@ -24295,12 +24028,6 @@ snapshots:
react: 19.2.3
scheduler: 0.27.0
- react-dom@19.2.7(react@19.2.3):
- dependencies:
- react: 19.2.3
- scheduler: 0.27.0
- optional: true
-
react-dom@19.2.7(react@19.2.7):
dependencies:
react: 19.2.7
@@ -24386,16 +24113,6 @@ snapshots:
use-latest-callback: 0.2.6(react@19.2.7)
optional: true
- react-native-drawer-layout@4.2.7(8d85665559d7c3f0a3d6e2a52c2d3570):
- dependencies:
- color: 4.2.3
- react: 19.2.3
- react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
- react-native-gesture-handler: 2.32.0(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- react-native-reanimated: 4.5.1(react-native-worklets@0.10.2(@babel/core@7.29.7)(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- use-latest-callback: 0.2.6(react@19.2.3)
- optional: true
-
react-native-drawer-layout@4.2.7(f7093462d4a34ab6e68d9c2599c68cf5):
dependencies:
color: 4.2.3
@@ -24468,15 +24185,6 @@ snapshots:
react-native-worklets: 0.10.0(@babel/core@7.29.7)(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
semver: 7.8.5
- react-native-reanimated@4.5.1(react-native-worklets@0.10.2(@babel/core@7.29.7)(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3):
- dependencies:
- react: 19.2.3
- react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
- react-native-is-edge-to-edge: 1.3.1(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- react-native-worklets: 0.10.2(@babel/core@7.29.7)(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3)
- semver: 7.8.5
- optional: true
-
react-native-reanimated@4.5.1(react-native-worklets@0.10.2(@babel/core@7.29.7)(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.7))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.7))(react@19.2.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.7))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.7))(react@19.2.7):
dependencies:
react: 19.2.7
@@ -24491,12 +24199,6 @@ snapshots:
react: 19.2.3
react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
- react-native-safe-area-context@5.8.0(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3):
- dependencies:
- react: 19.2.3
- react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
- optional: true
-
react-native-safe-area-context@5.8.0(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.7))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.7))(react@19.2.7):
dependencies:
react: 19.2.7
@@ -24552,22 +24254,6 @@ snapshots:
transitivePeerDependencies:
- encoding
- react-native-web@0.21.2(encoding@0.1.13)(react-dom@19.2.7(react@19.2.3))(react@19.2.3):
- dependencies:
- '@babel/runtime': 7.29.7
- '@react-native/normalize-colors': 0.74.89
- fbjs: 3.0.5(encoding@0.1.13)
- inline-style-prefixer: 7.0.1
- memoize-one: 6.0.0
- nullthrows: 1.1.1
- postcss-value-parser: 4.2.0
- react: 19.2.3
- react-dom: 19.2.7(react@19.2.3)
- styleq: 0.1.3
- transitivePeerDependencies:
- - encoding
- optional: true
-
react-native-web@0.21.2(encoding@0.1.13)(react-dom@19.2.7(react@19.2.7))(react@19.2.7):
dependencies:
'@babel/runtime': 7.29.7
@@ -24620,28 +24306,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- react-native-worklets@0.10.2(@babel/core@7.29.7)(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3))(react@19.2.3):
- dependencies:
- '@babel/core': 7.29.7
- '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7)
- '@babel/plugin-transform-class-properties': 7.29.7(@babel/core@7.29.7)
- '@babel/plugin-transform-classes': 7.29.7(@babel/core@7.29.7)
- '@babel/plugin-transform-nullish-coalescing-operator': 7.29.7(@babel/core@7.29.7)
- '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7)
- '@babel/plugin-transform-shorthand-properties': 7.29.7(@babel/core@7.29.7)
- '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.29.7)
- '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7)
- '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7)
- '@babel/types': 7.29.7
- '@react-native/metro-config': 0.86.0(@babel/core@7.29.7)
- convert-source-map: 2.0.0
- react: 19.2.3
- react-native: 0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.3))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.3)
- semver: 7.8.5
- transitivePeerDependencies:
- - supports-color
- optional: true
-
react-native-worklets@0.10.2(@babel/core@7.29.7)(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(react-native@0.86.0(@babel/core@7.29.7)(@react-native/jest-preset@0.86.0(@babel/core@7.29.7)(react@19.2.7))(@react-native/metro-config@0.86.0(@babel/core@7.29.7))(@types/react@19.2.17)(react@19.2.7))(react@19.2.7):
dependencies:
'@babel/core': 7.29.7
@@ -26175,16 +25839,6 @@ snapshots:
- '@types/react'
- '@types/react-dom'
- vaul@1.1.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3):
- dependencies:
- '@radix-ui/react-dialog': 1.1.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.3))(react@19.2.3)
- react: 19.2.3
- react-dom: 19.2.7(react@19.2.3)
- transitivePeerDependencies:
- - '@types/react'
- - '@types/react-dom'
- optional: true
-
vaul@1.1.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7):
dependencies:
'@radix-ui/react-dialog': 1.1.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)