From 7bcec90efc6514cd5f76b2aafc5139acea0bee3d Mon Sep 17 00:00:00 2001 From: Kyle McDonald Date: Wed, 1 Apr 2026 10:30:39 -0500 Subject: [PATCH 01/10] chore: upgrade expo and react native packages to their latest versions --- .changeset/old-cats-drop.md | 7 + examples/expo-example/app.json | 5 +- examples/expo-example/package.json | 67 +- packages/expo/package.json | 14 +- .../KnockExpoPushNotificationProvider.tsx | 43 +- .../modules/push/getNotificationsModule.ts | 78 + packages/expo/src/modules/push/types.ts | 15 +- packages/expo/src/modules/push/utils.ts | 72 +- ...KnockExpoPushNotificationProvider.test.tsx | 9 +- packages/react-native/package.json | 6 +- yarn.lock | 2708 ++++++++++------- 11 files changed, 1868 insertions(+), 1156 deletions(-) create mode 100644 .changeset/old-cats-drop.md create mode 100644 packages/expo/src/modules/push/getNotificationsModule.ts diff --git a/.changeset/old-cats-drop.md b/.changeset/old-cats-drop.md new file mode 100644 index 000000000..d1c0b6651 --- /dev/null +++ b/.changeset/old-cats-drop.md @@ -0,0 +1,7 @@ +--- +"@knocklabs/expo-example": minor +"@knocklabs/react-native": minor +"@knocklabs/expo": minor +--- + +chore: upgrade expo and react native packages to their latest version, ensure expo go builds on android get the proper warning about deprecated notifcation support from expo, ensure expo-example app works as expected. diff --git a/examples/expo-example/app.json b/examples/expo-example/app.json index 0fd559495..54a787f08 100644 --- a/examples/expo-example/app.json +++ b/examples/expo-example/app.json @@ -7,7 +7,6 @@ "icon": "./assets/images/icon.png", "scheme": "expoexample", "userInterfaceStyle": "automatic", - "newArchEnabled": true, "ios": { "supportsTablet": true, "bundleIdentifier": "com.knocklabs.expoexample" @@ -17,7 +16,6 @@ "foregroundImage": "./assets/images/adaptive-icon.png", "backgroundColor": "#ffffff" }, - "edgeToEdgeEnabled": true, "package": "com.knocklabs.expoexample" }, "web": { @@ -38,8 +36,7 @@ ] ], "experiments": { - "typedRoutes": true, - "reactCanary": true + "typedRoutes": true }, "extra": { "router": {}, diff --git a/examples/expo-example/package.json b/examples/expo-example/package.json index 12379f2d4..180410cf1 100644 --- a/examples/expo-example/package.json +++ b/examples/expo-example/package.json @@ -10,41 +10,42 @@ "lint": "expo lint" }, "dependencies": { + "@expo/log-box": "~55.0.8", "@expo/vector-icons": "^15.0.2", "@knocklabs/expo": "workspace:^", - "@react-navigation/bottom-tabs": "^7.3.10", - "@react-navigation/elements": "^2.6.3", - "@react-navigation/native": "^7.1.6", - "expo": "~53.0.22", - "expo-blur": "~14.1.5", - "expo-constants": "~17.1.7", - "expo-device": "^7.1.4", - "expo-font": "~13.3.2", - "expo-haptics": "~14.1.4", - "expo-image": "~2.4.0", - "expo-linking": "~7.1.7", - "expo-notifications": "^0.31.4", - "expo-router": "~5.1.6", - "expo-splash-screen": "~0.30.10", - "expo-status-bar": "~2.2.3", - "expo-symbols": "~0.4.5", - "expo-system-ui": "~5.0.11", - "expo-web-browser": "~14.2.0", - "react": "^19.0.0", - "react-dom": "^19.0.0", - "react-native": "^0.79.2", - "react-native-gesture-handler": "^2.27.1", - "react-native-reanimated": "~3.17.4", - "react-native-safe-area-context": "5.4.0", - "react-native-screens": "~4.11.1", - "react-native-web": "~0.21.2", - "react-native-webview": "13.13.5" + "@react-navigation/bottom-tabs": "^7.15.5", + "@react-navigation/elements": "^2.9.14", + "@react-navigation/native": "^7.1.33", + "expo": "~55.0.9", + "expo-blur": "~55.0.10", + "expo-constants": "~55.0.9", + "expo-device": "~55.0.10", + "expo-font": "~55.0.4", + "expo-haptics": "~55.0.9", + "expo-image": "~55.0.6", + "expo-linking": "~55.0.9", + "expo-notifications": "~55.0.14", + "expo-router": "~55.0.8", + "expo-splash-screen": "~55.0.13", + "expo-status-bar": "~55.0.4", + "expo-symbols": "~55.0.5", + "expo-system-ui": "~55.0.11", + "expo-web-browser": "~55.0.10", + "react": "19.2.0", + "react-dom": "19.2.0", + "react-native": "0.83.4", + "react-native-gesture-handler": "~2.30.0", + "react-native-reanimated": "~3.19.5", + "react-native-safe-area-context": "~5.6.2", + "react-native-screens": "~4.23.0", + "react-native-web": "~0.21.0", + "react-native-webview": "13.16.0" }, "devDependencies": { "@babel/core": "^7.28.0", - "@types/react": "^19.1.8", + "@types/react": "^19.2.0", "eslint": "^8.56.0", - "eslint-config-expo": "~9.2.0", + "eslint-config-expo": "~55.0.0", "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-import": "^2.32.0", "eslint-plugin-prettier": "^5.5.1", @@ -53,5 +54,13 @@ "private": true, "engines": { "node": "22.17.0" + }, + "expo": { + "install": { + "exclude": [ + "react-native-reanimated", + "typescript" + ] + } } } diff --git a/packages/expo/package.json b/packages/expo/package.json index ab2a81e70..48a4852ff 100644 --- a/packages/expo/package.json +++ b/packages/expo/package.json @@ -54,9 +54,9 @@ "@knocklabs/client": "workspace:^", "@knocklabs/react-core": "workspace:^", "@knocklabs/react-native": "workspace:^", - "react-native-gesture-handler": "^2.27.1", + "react-native-gesture-handler": "~2.30.0", "react-native-render-html": "^6.3.4", - "react-native-svg": "^15.12.0" + "react-native-svg": "15.15.3" }, "devDependencies": { "@codecov/vite-plugin": "^1.9.1", @@ -70,13 +70,13 @@ "eslint": "^8.56.0", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.5.2", - "expo": "~53.0.22", - "expo-constants": "~17.1.7", - "expo-device": "^7.1.4", - "expo-notifications": "^0.31.4", + "expo": "~55.0.9", + "expo-constants": "~55.0.9", + "expo-device": "~55.0.10", + "expo-notifications": "~55.0.14", "jsdom": "^27.1.0", "react": "^19.0.0", - "react-native": "^0.79.2", + "react-native": "^0.83.4", "rimraf": "^6.0.1", "typescript": "^5.8.3", "vite": "^5.4.19", diff --git a/packages/expo/src/modules/push/KnockExpoPushNotificationProvider.tsx b/packages/expo/src/modules/push/KnockExpoPushNotificationProvider.tsx index f5b493244..75c8df955 100644 --- a/packages/expo/src/modules/push/KnockExpoPushNotificationProvider.tsx +++ b/packages/expo/src/modules/push/KnockExpoPushNotificationProvider.tsx @@ -4,7 +4,6 @@ import { KnockPushNotificationProvider, usePushNotifications, } from "@knocklabs/react-native"; -import * as Notifications from "expo-notifications"; import React, { createContext, useCallback, @@ -14,6 +13,11 @@ import React, { useState, } from "react"; +import { + type Notification, + type NotificationResponse, + getNotificationsModule, +} from "./getNotificationsModule"; import type { KnockExpoPushNotificationContextType, KnockExpoPushNotificationProviderProps, @@ -70,18 +74,18 @@ const InternalExpoPushNotificationProvider: React.FC< // Use refs for handlers to avoid re-running effects when handlers change const notificationReceivedHandlerRef = useRef< - (notification: Notifications.Notification) => void + (notification: Notification) => void >(() => {}); const notificationTappedHandlerRef = useRef< - (response: Notifications.NotificationResponse) => void + (response: NotificationResponse) => void >(() => {}); /** * Register a handler to be called when a notification is received in the foreground. */ const onNotificationReceived = useCallback( - (handler: (notification: Notifications.Notification) => void) => { + (handler: (notification: Notification) => void) => { notificationReceivedHandlerRef.current = handler; }, [], @@ -91,7 +95,7 @@ const InternalExpoPushNotificationProvider: React.FC< * Register a handler to be called when a notification is tapped. */ const onNotificationTapped = useCallback( - (handler: (response: Notifications.NotificationResponse) => void) => { + (handler: (response: NotificationResponse) => void) => { notificationTappedHandlerRef.current = handler; }, [], @@ -130,7 +134,7 @@ const InternalExpoPushNotificationProvider: React.FC< */ const updateMessageStatus = useCallback( async ( - notification: Notifications.Notification, + notification: Notification, status: MessageEngagementStatus, ): Promise => { const messageId = notification.request.content.data?.[ @@ -153,11 +157,14 @@ const InternalExpoPushNotificationProvider: React.FC< // Set up the notification handler for foreground notifications useEffect(() => { + const NotificationsModule = getNotificationsModule(); + if (!NotificationsModule) return; + const handleNotification = customNotificationHandler ? customNotificationHandler : async () => DEFAULT_NOTIFICATION_BEHAVIOR; - Notifications.setNotificationHandler({ handleNotification }); + NotificationsModule.setNotificationHandler({ handleNotification }); }, [customNotificationHandler]); // Auto-register for push notifications on mount if enabled @@ -196,20 +203,24 @@ const InternalExpoPushNotificationProvider: React.FC< // Set up notification listeners for received and tapped notifications useEffect(() => { - const receivedSubscription = Notifications.addNotificationReceivedListener( - (notification) => { + const NotificationsModule = getNotificationsModule(); + if (!NotificationsModule) return; + + const receivedSubscription = + NotificationsModule.addNotificationReceivedListener((notification) => { knockClient.log("[Knock] Notification received in foreground"); updateMessageStatus(notification, "interacted"); notificationReceivedHandlerRef.current(notification); - }, - ); + }); const responseSubscription = - Notifications.addNotificationResponseReceivedListener((response) => { - knockClient.log("[Knock] Notification was tapped"); - updateMessageStatus(response.notification, "interacted"); - notificationTappedHandlerRef.current(response); - }); + NotificationsModule.addNotificationResponseReceivedListener( + (response) => { + knockClient.log("[Knock] Notification was tapped"); + updateMessageStatus(response.notification, "interacted"); + notificationTappedHandlerRef.current(response); + }, + ); return () => { receivedSubscription.remove(); diff --git a/packages/expo/src/modules/push/getNotificationsModule.ts b/packages/expo/src/modules/push/getNotificationsModule.ts new file mode 100644 index 000000000..4c8b309b1 --- /dev/null +++ b/packages/expo/src/modules/push/getNotificationsModule.ts @@ -0,0 +1,78 @@ +import Constants, { ExecutionEnvironment } from "expo-constants"; +import type * as Notifications from "expo-notifications"; +import { Platform } from "react-native"; + +/** + * The type of the expo-notifications module when successfully loaded. + */ +export type NotificationsModule = typeof Notifications; + +// Type aliases derived from the expo-notifications namespace so that consumers +// access all expo-notifications types through this module rather than importing +// from the package directly (which can trigger runtime side-effects). +export type Notification = Notifications.Notification; +export type NotificationResponse = Notifications.NotificationResponse; +export type NotificationBehavior = Notifications.NotificationBehavior; + +/** + * Lazily load the expo-notifications module. + * + * In Expo SDK 55+, `import * as Notifications from "expo-notifications"` triggers + * a top-level side-effect (DevicePushTokenAutoRegistration.fx.ts) that calls + * `addPushTokenListener()`, which throws on Android Expo Go where push notification + * functionality has been removed (since SDK 53). + * + * We detect Android Expo Go before attempting the require() and skip it entirely, + * since the throw from expo-notifications bypasses JavaScript try/catch via + * React Native's global error handler. + * + * On all other environments (iOS Expo Go, development builds, production), + * expo-notifications loads normally. + */ + +// Cache the module after the first load to avoid repeated require() calls and +// environment detection checks on every access. The three states are: +// undefined = not yet loaded (initial) +// null = unavailable (Android Expo Go or load failure) +// module = successfully loaded +let cachedModule: NotificationsModule | null | undefined = undefined; + +function isAndroidExpoGo(): boolean { + return ( + Platform.OS === "android" && + Constants.executionEnvironment === ExecutionEnvironment.StoreClient + ); +} + +export function getNotificationsModule(): NotificationsModule | null { + if (cachedModule !== undefined) { + return cachedModule; + } + + if (isAndroidExpoGo()) { + console.warn( + "[Knock] Push notifications (remote notifications) are not available in Expo Go " + + "on Android. This is an Expo platform limitation — push notification support was " + + "removed from Expo Go on Android in SDK 53. Push features (token registration, " + + "notification listeners) will be disabled, but all other Knock features will " + + "continue to work.\n\n" + + "To use push notifications on Android, use a development build instead of Expo Go: " + + "https://docs.expo.dev/develop/development-builds/introduction/", + ); + cachedModule = null; + return cachedModule; + } + + try { + // eslint-disable-next-line @typescript-eslint/no-require-imports + cachedModule = require("expo-notifications") as NotificationsModule; + } catch { + console.warn( + "[Knock] expo-notifications could not be loaded. " + + "Push notification features will be disabled.", + ); + cachedModule = null; + } + + return cachedModule; +} diff --git a/packages/expo/src/modules/push/types.ts b/packages/expo/src/modules/push/types.ts index d9ed6b140..1a896bf7e 100644 --- a/packages/expo/src/modules/push/types.ts +++ b/packages/expo/src/modules/push/types.ts @@ -1,7 +1,12 @@ import type { KnockPushNotificationContextType } from "@knocklabs/react-native"; -import type * as Notifications from "expo-notifications"; import type React from "react"; +import type { + Notification, + NotificationBehavior, + NotificationResponse, +} from "./getNotificationsModule"; + /** * Context type for the Expo push notification provider. * Extends the base push notification context with Expo-specific functionality. @@ -16,12 +21,12 @@ export interface KnockExpoPushNotificationContextType /** Register a handler for when a notification is received in the foreground */ onNotificationReceived: ( - handler: (notification: Notifications.Notification) => void, + handler: (notification: Notification) => void, ) => void; /** Register a handler for when a notification is tapped */ onNotificationTapped: ( - handler: (response: Notifications.NotificationResponse) => void, + handler: (response: NotificationResponse) => void, ) => void; } @@ -37,8 +42,8 @@ export interface KnockExpoPushNotificationProviderProps { * If not provided, notifications will show alerts, play sounds, and set badges. */ customNotificationHandler?: ( - notification: Notifications.Notification, - ) => Promise; + notification: Notification, + ) => Promise; /** * Custom function to set up the Android notification channel. diff --git a/packages/expo/src/modules/push/utils.ts b/packages/expo/src/modules/push/utils.ts index 953d7382d..a7976f310 100644 --- a/packages/expo/src/modules/push/utils.ts +++ b/packages/expo/src/modules/push/utils.ts @@ -1,22 +1,44 @@ import Constants from "expo-constants"; import * as Device from "expo-device"; -import * as Notifications from "expo-notifications"; import { Platform } from "react-native"; +import { getNotificationsModule } from "./getNotificationsModule"; + // eslint-disable-next-line @typescript-eslint/no-explicit-any type ExpoConstants = typeof Constants & Record; +/** + * Permission status values returned by expo-notifications. + * "unavailable" is returned when the notifications module could not be loaded + * (e.g. Android Expo Go where push support was removed in SDK 53). + */ +export type PushPermissionStatus = + | "granted" + | "denied" + | "undetermined" + | "unavailable"; + +/** + * Configuration for how a notification should be presented when received in the foreground. + */ +type NotificationBehavior = { + shouldShowAlert: boolean; + shouldPlaySound: boolean; + shouldSetBadge: boolean; + shouldShowBanner: boolean; + shouldShowList: boolean; +}; + /** * Default notification behavior when a notification is received. */ -export const DEFAULT_NOTIFICATION_BEHAVIOR: Notifications.NotificationBehavior = - { - shouldShowAlert: true, - shouldPlaySound: true, - shouldSetBadge: true, - shouldShowBanner: true, - shouldShowList: true, - }; +export const DEFAULT_NOTIFICATION_BEHAVIOR: NotificationBehavior = { + shouldShowAlert: true, + shouldPlaySound: true, + shouldSetBadge: true, + shouldShowBanner: true, + shouldShowList: true, +}; /** * Get the Expo project ID from various possible sources. @@ -50,17 +72,23 @@ export function getProjectId(): string | null { /** * Request push notification permissions if not already granted. - * @returns The permission status string + * @returns The permission status */ -export async function requestPushPermission(): Promise { - const { status: existingStatus } = await Notifications.getPermissionsAsync(); +export async function requestPushPermission(): Promise { + const NotificationsModule = getNotificationsModule(); + if (!NotificationsModule) { + return "unavailable"; + } + + const { status: existingStatus } = + await NotificationsModule.getPermissionsAsync(); if (existingStatus === "granted") { return existingStatus; } - const { status } = await Notifications.requestPermissionsAsync(); - return status; + const { status } = await NotificationsModule.requestPermissionsAsync(); + return status as PushPermissionStatus; } /** @@ -79,7 +107,12 @@ export async function getExpoPushToken(): Promise { return null; } - const token = await Notifications.getExpoPushTokenAsync({ projectId }); + const NotificationsModule = getNotificationsModule(); + if (!NotificationsModule) { + return null; + } + + const token = await NotificationsModule.getExpoPushTokenAsync({ projectId }); return token?.data ?? null; } @@ -87,9 +120,14 @@ export async function getExpoPushToken(): Promise { * Set up the default Android notification channel. */ export async function setupDefaultAndroidChannel(): Promise { - await Notifications.setNotificationChannelAsync("default", { + const NotificationsModule = getNotificationsModule(); + if (!NotificationsModule) { + return; + } + + await NotificationsModule.setNotificationChannelAsync("default", { name: "Default", - importance: Notifications.AndroidImportance.MAX, + importance: NotificationsModule.AndroidImportance.MAX, vibrationPattern: [0, 250, 250, 250], lightColor: "#FF231F7C", }); diff --git a/packages/expo/test/modules/push/KnockExpoPushNotificationProvider.test.tsx b/packages/expo/test/modules/push/KnockExpoPushNotificationProvider.test.tsx index 291864a32..8ff4bec23 100644 --- a/packages/expo/test/modules/push/KnockExpoPushNotificationProvider.test.tsx +++ b/packages/expo/test/modules/push/KnockExpoPushNotificationProvider.test.tsx @@ -31,7 +31,7 @@ vi.mock("react-native", () => ({ }, })); -vi.mock("expo-notifications", () => ({ +const mockNotifications = { setNotificationHandler: vi.fn(), getPermissionsAsync: vi.fn().mockResolvedValue({ status: "granted" }), requestPermissionsAsync: vi.fn().mockResolvedValue({ status: "granted" }), @@ -44,6 +44,13 @@ vi.mock("expo-notifications", () => ({ AndroidImportance: { MAX: 5, }, +}; + +vi.mock("expo-notifications", () => mockNotifications); + +// Mock the lazy loader to return our mock directly (avoids require() in test env) +vi.mock("../../../src/modules/push/getNotificationsModule", () => ({ + getNotificationsModule: () => mockNotifications, })); // Create stable mock functions for usePushNotifications diff --git a/packages/react-native/package.json b/packages/react-native/package.json index ba8365335..193635025 100644 --- a/packages/react-native/package.json +++ b/packages/react-native/package.json @@ -47,10 +47,10 @@ "dependencies": { "@knocklabs/client": "workspace:^", "@knocklabs/react-core": "workspace:^", - "react-native-gesture-handler": "^2.27.1", + "react-native-gesture-handler": "~2.30.0", "react-native-get-random-values": "^1.11.0", "react-native-render-html": "^6.3.4", - "react-native-svg": "^15.12.0" + "react-native-svg": "15.15.3" }, "devDependencies": { "@codecov/vite-plugin": "^1.9.1", @@ -65,7 +65,7 @@ "eslint-plugin-react-refresh": "^0.5.2", "react": "^19.0.0", "react-dom": "^19.0.0", - "react-native": "^0.79.2", + "react-native": "^0.83.4", "rimraf": "^6.0.1", "typescript": "^5.8.3", "vite": "^5.4.19", diff --git a/yarn.lock b/yarn.lock index 0bc8a36f0..2244c67ae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,18 +5,6 @@ __metadata: version: 8 cacheKey: 10c0 -"@0no-co/graphql.web@npm:^1.0.5, @0no-co/graphql.web@npm:^1.0.8": - version: 1.1.2 - resolution: "@0no-co/graphql.web@npm:1.1.2" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 - peerDependenciesMeta: - graphql: - optional: true - checksum: 10c0/7074de29681f0563cb9a90d702c7cda4443dce858e09f9a09adbafe32c302890cab81959ccba4ed7ac3e332423b2928a1dc95dd4a5004e6a5c156b733caa349a - languageName: node - linkType: hard - "@acemir/cssom@npm:^0.9.19": version: 0.9.19 resolution: "@acemir/cssom@npm:0.9.19" @@ -159,15 +147,6 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:7.10.4, @babel/code-frame@npm:~7.10.4": - version: 7.10.4 - resolution: "@babel/code-frame@npm:7.10.4" - dependencies: - "@babel/highlight": "npm:^7.10.4" - checksum: 10c0/69e0f52986a1f40231d891224f420436629b6678711b68c088e97b7bdba1607aeb5eb9cfb070275c433f0bf43c37c134845db80d1cdbf5ac88a69b0bdcce9402 - languageName: node - linkType: hard - "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.27.1": version: 7.27.1 resolution: "@babel/code-frame@npm:7.27.1" @@ -179,7 +158,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0": +"@babel/code-frame@npm:^7.20.0, @babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0": version: 7.29.0 resolution: "@babel/code-frame@npm:7.29.0" dependencies: @@ -297,7 +276,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.29.0": +"@babel/generator@npm:^7.29.0, @babel/generator@npm:^7.29.1": version: 7.29.1 resolution: "@babel/generator@npm:7.29.1" dependencies: @@ -624,7 +603,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.22.20, @babel/helper-validator-identifier@npm:^7.25.9, @babel/helper-validator-identifier@npm:^7.27.1": +"@babel/helper-validator-identifier@npm:^7.22.20, @babel/helper-validator-identifier@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-validator-identifier@npm:7.27.1" checksum: 10c0/c558f11c4871d526498e49d07a84752d1800bf72ac0d3dad100309a2eaba24efbf56ea59af5137ff15e3a00280ebe588560534b0e894a4750f8b1411d8f78b84 @@ -676,19 +655,7 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.10.4": - version: 7.25.9 - resolution: "@babel/highlight@npm:7.25.9" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.25.9" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10c0/ae0ed93c151b85a07df42936117fa593ce91563a22dfc8944a90ae7088c9679645c33e00dcd20b081c1979665d65f986241172dae1fc9e5922692fc3ff685a49 - languageName: node - linkType: hard - -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.27.1, @babel/parser@npm:^7.27.2": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.27.1, @babel/parser@npm:^7.27.2": version: 7.27.2 resolution: "@babel/parser@npm:7.27.2" dependencies: @@ -1225,7 +1192,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.28.6": +"@babel/plugin-transform-class-static-block@npm:^7.27.1, @babel/plugin-transform-class-static-block@npm:^7.28.6": version: 7.28.6 resolution: "@babel/plugin-transform-class-static-block@npm:7.28.6" dependencies: @@ -2305,7 +2272,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.4, @babel/types@npm:^7.27.1, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.4, @babel/types@npm:^7.27.1, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": version: 7.27.1 resolution: "@babel/types@npm:7.27.1" dependencies: @@ -2315,6 +2282,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.26.0, @babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/types@npm:7.29.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.28.5" + checksum: 10c0/23cc3466e83bcbfab8b9bd0edaafdb5d4efdb88b82b3be6728bbade5ba2f0996f84f63b1c5f7a8c0d67efded28300898a5f930b171bb40b311bca2029c4e9b4f + languageName: node + linkType: hard + "@babel/types@npm:^7.27.3, @babel/types@npm:^7.28.0": version: 7.28.0 resolution: "@babel/types@npm:7.28.0" @@ -2335,16 +2312,6 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0": - version: 7.29.0 - resolution: "@babel/types@npm:7.29.0" - dependencies: - "@babel/helper-string-parser": "npm:^7.27.1" - "@babel/helper-validator-identifier": "npm:^7.28.5" - checksum: 10c0/23cc3466e83bcbfab8b9bd0edaafdb5d4efdb88b82b3be6728bbade5ba2f0996f84f63b1c5f7a8c0d67efded28300898a5f930b171bb40b311bca2029c4e9b4f - languageName: node - linkType: hard - "@bcoe/v8-coverage@npm:^1.0.2": version: 1.0.2 resolution: "@bcoe/v8-coverage@npm:1.0.2" @@ -3365,31 +3332,38 @@ __metadata: languageName: node linkType: hard -"@expo/cli@npm:0.24.21": - version: 0.24.21 - resolution: "@expo/cli@npm:0.24.21" +"@expo-google-fonts/material-symbols@npm:^0.4.1": + version: 0.4.27 + resolution: "@expo-google-fonts/material-symbols@npm:0.4.27" + checksum: 10c0/f6fac427703c2639d7d1c05c46f76eeef44b9f9f2bfe3134a673296b5921c83fe89371446c83d7596eaa9e530ed9a80600d7e67f1603a220262439c238e38a35 + languageName: node + linkType: hard + +"@expo/cli@npm:55.0.19": + version: 55.0.19 + resolution: "@expo/cli@npm:55.0.19" dependencies: - "@0no-co/graphql.web": "npm:^1.0.8" - "@babel/runtime": "npm:^7.20.0" - "@expo/code-signing-certificates": "npm:^0.0.5" - "@expo/config": "npm:~11.0.13" - "@expo/config-plugins": "npm:~10.1.2" - "@expo/devcert": "npm:^1.1.2" - "@expo/env": "npm:~1.0.7" - "@expo/image-utils": "npm:^0.7.6" - "@expo/json-file": "npm:^9.1.5" - "@expo/metro-config": "npm:~0.20.17" - "@expo/osascript": "npm:^2.2.5" - "@expo/package-manager": "npm:^1.8.6" - "@expo/plist": "npm:^0.3.5" - "@expo/prebuild-config": "npm:^9.0.11" - "@expo/schema-utils": "npm:^0.1.0" + "@expo/code-signing-certificates": "npm:^0.0.6" + "@expo/config": "npm:~55.0.11" + "@expo/config-plugins": "npm:~55.0.7" + "@expo/devcert": "npm:^1.2.1" + "@expo/env": "npm:~2.1.1" + "@expo/image-utils": "npm:^0.8.12" + "@expo/json-file": "npm:^10.0.12" + "@expo/log-box": "npm:55.0.8" + "@expo/metro": "npm:~54.2.0" + "@expo/metro-config": "npm:~55.0.11" + "@expo/osascript": "npm:^2.4.2" + "@expo/package-manager": "npm:^1.10.3" + "@expo/plist": "npm:^0.5.2" + "@expo/prebuild-config": "npm:^55.0.11" + "@expo/require-utils": "npm:^55.0.3" + "@expo/router-server": "npm:^55.0.11" + "@expo/schema-utils": "npm:^55.0.2" "@expo/spawn-async": "npm:^1.7.2" "@expo/ws-tunnel": "npm:^1.0.1" - "@expo/xcpretty": "npm:^4.3.0" - "@react-native/dev-middleware": "npm:0.79.6" - "@urql/core": "npm:^5.0.6" - "@urql/exchange-retry": "npm:^1.3.0" + "@expo/xcpretty": "npm:^4.4.0" + "@react-native/dev-middleware": "npm:0.83.4" accepts: "npm:^1.3.8" arg: "npm:^5.0.2" better-opn: "npm:~3.0.2" @@ -3400,152 +3374,176 @@ __metadata: compression: "npm:^1.7.4" connect: "npm:^3.7.0" debug: "npm:^4.3.4" - env-editor: "npm:^0.4.1" - freeport-async: "npm:^2.0.0" + dnssd-advertise: "npm:^1.1.3" + expo-server: "npm:^55.0.6" + fetch-nodeshim: "npm:^0.4.6" getenv: "npm:^2.0.0" - glob: "npm:^10.4.2" - lan-network: "npm:^0.1.6" - minimatch: "npm:^9.0.0" - node-forge: "npm:^1.3.1" + glob: "npm:^13.0.0" + lan-network: "npm:^0.2.0" + multitars: "npm:^0.2.3" + node-forge: "npm:^1.3.3" npm-package-arg: "npm:^11.0.0" ora: "npm:^3.4.0" - picomatch: "npm:^3.0.1" - pretty-bytes: "npm:^5.6.0" + picomatch: "npm:^4.0.3" pretty-format: "npm:^29.7.0" progress: "npm:^2.0.3" prompts: "npm:^2.3.2" - qrcode-terminal: "npm:0.11.0" - require-from-string: "npm:^2.0.2" - requireg: "npm:^0.2.2" - resolve: "npm:^1.22.2" resolve-from: "npm:^5.0.0" - resolve.exports: "npm:^2.0.3" semver: "npm:^7.6.0" send: "npm:^0.19.0" slugify: "npm:^1.3.4" source-map-support: "npm:~0.5.21" stacktrace-parser: "npm:^0.1.10" structured-headers: "npm:^0.4.1" - tar: "npm:^7.4.3" terminal-link: "npm:^2.1.1" - undici: "npm:^6.18.2" + toqr: "npm:^0.1.1" wrap-ansi: "npm:^7.0.0" ws: "npm:^8.12.1" + zod: "npm:^3.25.76" + peerDependencies: + expo: "*" + expo-router: "*" + react-native: "*" + peerDependenciesMeta: + expo-router: + optional: true + react-native: + optional: true bin: expo-internal: build/bin/cli - checksum: 10c0/6ae1b20b23045192a8a72194212f8eaeb7d239d6b4ae7d9875cf736c31bf96493ffa69e1273feb5ee0cd99b610909fb1f22f901908b5d4de9935f35583e6f8b5 + checksum: 10c0/eaa8487fc88830d3e1cc86e071d23bd307e2bc094b8198cf3c3ce185fd635f07dbb0f594d0a8cd200134fc82f7e9915189d8ca178edfca8f0a4086219f1037c0 languageName: node linkType: hard -"@expo/code-signing-certificates@npm:^0.0.5": - version: 0.0.5 - resolution: "@expo/code-signing-certificates@npm:0.0.5" +"@expo/code-signing-certificates@npm:^0.0.6": + version: 0.0.6 + resolution: "@expo/code-signing-certificates@npm:0.0.6" dependencies: - node-forge: "npm:^1.2.1" - nullthrows: "npm:^1.1.1" - checksum: 10c0/98c908c54f92d6782ae01fef47dd858140dc6013e5376ee3faf9b243327f2b16279441fec171cbde45d0e3ebd0bf72db57b4d4c2a0c4f952285b0b377b2b356b + node-forge: "npm:^1.3.3" + checksum: 10c0/3c60be55fb056ccebf7355c1dbe959cee191eaa1c33c6ff5a7331c1ffe1cfa66edc6b62e8005b4a9023bbd40462d81d35284e79eaa8893facb2493801685bbea languageName: node linkType: hard -"@expo/config-plugins@npm:~10.1.2": - version: 10.1.2 - resolution: "@expo/config-plugins@npm:10.1.2" +"@expo/config-plugins@npm:~55.0.7": + version: 55.0.7 + resolution: "@expo/config-plugins@npm:55.0.7" dependencies: - "@expo/config-types": "npm:^53.0.5" - "@expo/json-file": "npm:~9.1.5" - "@expo/plist": "npm:^0.3.5" + "@expo/config-types": "npm:^55.0.5" + "@expo/json-file": "npm:~10.0.12" + "@expo/plist": "npm:^0.5.2" "@expo/sdk-runtime-versions": "npm:^1.0.0" chalk: "npm:^4.1.2" debug: "npm:^4.3.5" getenv: "npm:^2.0.0" - glob: "npm:^10.4.2" + glob: "npm:^13.0.0" resolve-from: "npm:^5.0.0" semver: "npm:^7.5.4" - slash: "npm:^3.0.0" slugify: "npm:^1.6.6" xcode: "npm:^3.0.1" xml2js: "npm:0.6.0" - checksum: 10c0/d5ef0f002db40cb182058b2fe9df6f5f77ff09e18aa0bc8109047d75cd912487bace59bcff7104c6f68f6b49f89d0b387ab6f90f8069c63c9f3fccb9fb9b99de + checksum: 10c0/46cea118d9a780ac367862ef136aafa65063a3bc9a9864ece2a18d4b9e66e64d2bb19f0c0972e07f1106a58203f65671208bebcf5e207953f54217210807746c languageName: node linkType: hard -"@expo/config-types@npm:^53.0.5": - version: 53.0.5 - resolution: "@expo/config-types@npm:53.0.5" - checksum: 10c0/a7c96f65327de5608aedaf0669bc95b721323113064bdad3473d6faa07b619100ef1df5811f3fdb5dc50d05610842aec8d6bc1902dd0345d51ba2d520884487d +"@expo/config-types@npm:^55.0.5": + version: 55.0.5 + resolution: "@expo/config-types@npm:55.0.5" + checksum: 10c0/24ce0481cc465ddd3b53cfdde099ef4e899b1f8fff224a0f249b88c93e6c98930e99a55f3929eb53d08138b1b66102ece7b76e16f4e5fadcdf5bbac26c9c3d7e languageName: node linkType: hard -"@expo/config@npm:~11.0.12, @expo/config@npm:~11.0.13": - version: 11.0.13 - resolution: "@expo/config@npm:11.0.13" +"@expo/config@npm:~55.0.10, @expo/config@npm:~55.0.11": + version: 55.0.11 + resolution: "@expo/config@npm:55.0.11" dependencies: - "@babel/code-frame": "npm:~7.10.4" - "@expo/config-plugins": "npm:~10.1.2" - "@expo/config-types": "npm:^53.0.5" - "@expo/json-file": "npm:^9.1.5" + "@expo/config-plugins": "npm:~55.0.7" + "@expo/config-types": "npm:^55.0.5" + "@expo/json-file": "npm:^10.0.12" + "@expo/require-utils": "npm:^55.0.3" deepmerge: "npm:^4.3.1" getenv: "npm:^2.0.0" - glob: "npm:^10.4.2" - require-from-string: "npm:^2.0.2" + glob: "npm:^13.0.0" resolve-from: "npm:^5.0.0" resolve-workspace-root: "npm:^2.0.0" semver: "npm:^7.6.0" slugify: "npm:^1.3.4" - sucrase: "npm:3.35.0" - checksum: 10c0/19cdbc4baa498ca9e55416fd1b2a202cca061e34984236b1f032f3d28cf72a4ddc824bc0cbe3d39c5b5f1117ef65be84c4b05bf62b6fa41d5d049b75af59a17c + checksum: 10c0/7156bf02f23b854c6edde8ccfaabf6c37cde0c81efa4e57feba82ed3cb1dfdd0ca3fc2fc39395016eaad3e78014854bf5507274f6951115eeba4fd4b81a7591f languageName: node linkType: hard -"@expo/devcert@npm:^1.1.2": - version: 1.2.0 - resolution: "@expo/devcert@npm:1.2.0" +"@expo/devcert@npm:^1.2.1": + version: 1.2.1 + resolution: "@expo/devcert@npm:1.2.1" dependencies: "@expo/sudo-prompt": "npm:^9.3.1" debug: "npm:^3.1.0" - glob: "npm:^10.4.2" - checksum: 10c0/3d6a1ce44918c2e5be3bb89d25cfc80551623e4fe5004d4eb29d1edc8edd676258345e64d2aefe56188bc5d4b33e2b7e733a108b2be225af1f90ca86d7170069 + checksum: 10c0/7c5cb4fa74a14702a44b4772a56f27fd191b6cd08988f3da01323f6d592623c80247171b7d66b2c0a32408f48a0814162dbb2764042444887f27e38b89ad1051 languageName: node linkType: hard -"@expo/env@npm:~1.0.7": - version: 1.0.7 - resolution: "@expo/env@npm:1.0.7" +"@expo/devtools@npm:55.0.2": + version: 55.0.2 + resolution: "@expo/devtools@npm:55.0.2" + dependencies: + chalk: "npm:^4.1.2" + peerDependencies: + react: "*" + react-native: "*" + peerDependenciesMeta: + react: + optional: true + react-native: + optional: true + checksum: 10c0/f247e2a5d2c3129d8b0dbee6daa4a5bca5103d5e3a177257522a89661deb598d84af9805d302cc0af166635604a57fa73b38ff1304b5921b17d0bd372b459686 + languageName: node + linkType: hard + +"@expo/dom-webview@npm:^55.0.3": + version: 55.0.3 + resolution: "@expo/dom-webview@npm:55.0.3" + peerDependencies: + expo: "*" + react: "*" + react-native: "*" + checksum: 10c0/db27b9f464042cdbf33458b7523e0f5024c855b4a6a219ade7245a8e44688a3764679375761809d8d1bd7edf7eca1ad8b6ae7a75a1c8720d2fd5c95bc6a041bc + languageName: node + linkType: hard + +"@expo/env@npm:^2.0.11, @expo/env@npm:~2.1.1": + version: 2.1.1 + resolution: "@expo/env@npm:2.1.1" dependencies: chalk: "npm:^4.0.0" debug: "npm:^4.3.4" - dotenv: "npm:~16.4.5" - dotenv-expand: "npm:~11.0.6" getenv: "npm:^2.0.0" - checksum: 10c0/a2634073424cc7610fdf507d793adfbc744cc47c1ecc2ba9ba2db68ffad4ead436ce9255699e19b8ade6344eba833fd5dcac95c738c05b5170814c5d90522ade + checksum: 10c0/c863fb05f16e0ffaac10ba0e5f632472c94ff755e5bfea1ce31820a17efc21dc932ccf8d307793187c752e85e151fe0579cc9038db5abc12f4b650174b182cbe languageName: node linkType: hard -"@expo/fingerprint@npm:0.13.4": - version: 0.13.4 - resolution: "@expo/fingerprint@npm:0.13.4" +"@expo/fingerprint@npm:0.16.6": + version: 0.16.6 + resolution: "@expo/fingerprint@npm:0.16.6" dependencies: + "@expo/env": "npm:^2.0.11" "@expo/spawn-async": "npm:^1.7.2" arg: "npm:^5.0.2" chalk: "npm:^4.1.2" debug: "npm:^4.3.4" - find-up: "npm:^5.0.0" getenv: "npm:^2.0.0" - glob: "npm:^10.4.2" + glob: "npm:^13.0.0" ignore: "npm:^5.3.1" - minimatch: "npm:^9.0.0" - p-limit: "npm:^3.1.0" + minimatch: "npm:^10.2.2" resolve-from: "npm:^5.0.0" semver: "npm:^7.6.0" bin: fingerprint: bin/cli.js - checksum: 10c0/a04f81e9862e18654153b4086a0b031bce493b1310560f01f7d5d89101277208865e602223c3be5a47618dfaa5853c4c5cc6598e990374cea7bc82b169ce2582 + checksum: 10c0/18f597e71aa2fa75ca72c59f81a825df5a0262b27d82b948b2d2a6edd11fa7a3a7f6daccef9d4d92224577631a1a15afd02ce7e0568a8a6db4738704706906fe languageName: node linkType: hard -"@expo/image-utils@npm:^0.7.6": - version: 0.7.6 - resolution: "@expo/image-utils@npm:0.7.6" +"@expo/image-utils@npm:^0.8.12": + version: 0.8.12 + resolution: "@expo/image-utils@npm:0.8.12" dependencies: "@expo/spawn-async": "npm:^1.7.2" chalk: "npm:^4.0.0" @@ -3554,115 +3552,223 @@ __metadata: parse-png: "npm:^2.1.0" resolve-from: "npm:^5.0.0" semver: "npm:^7.6.0" - temp-dir: "npm:~2.0.0" - unique-string: "npm:~2.0.0" - checksum: 10c0/45a8ce5237fecd63a4020295b584d237a024d917ca1bf1e31568bb96703b5fd9351a6912a7ecc0fc5c38d97029f31f86e312c4646beb0207ce578289a3e2bc2d + checksum: 10c0/f9ea7b8ac746602e824e6f5005242a400fce59f776caed05d27e3aa8a8354059ce44d0c3d50f6c1aa4e3256282f504150d0ea62c86e6cae5bacc626d530a35f6 languageName: node linkType: hard -"@expo/json-file@npm:^9.1.5, @expo/json-file@npm:~9.1.5": - version: 9.1.5 - resolution: "@expo/json-file@npm:9.1.5" +"@expo/json-file@npm:^10.0.12, @expo/json-file@npm:~10.0.12": + version: 10.0.12 + resolution: "@expo/json-file@npm:10.0.12" dependencies: - "@babel/code-frame": "npm:~7.10.4" + "@babel/code-frame": "npm:^7.20.0" json5: "npm:^2.2.3" - checksum: 10c0/989e3aa6d3e31a7f499d7979c6062694f2bc1fe1a4bc81b64aff74c39f27ed5f52098861897236cdc26b86186062560f3191814a2e8ff5b821a74a71d617f135 + checksum: 10c0/52131a6426e96208ff1b295d580fc70eebb8e292b29fde1db016b2f21a0942a7521feec96b3f58efe5b32dcc1642d569b4211d651146fcdb9bf7e5f08b635878 + languageName: node + linkType: hard + +"@expo/local-build-cache-provider@npm:55.0.7": + version: 55.0.7 + resolution: "@expo/local-build-cache-provider@npm:55.0.7" + dependencies: + "@expo/config": "npm:~55.0.10" + chalk: "npm:^4.1.2" + checksum: 10c0/cccc1fb130333c7f202b21208381194e5c0699267bf7e011b5d550d53b8f3005347bcce6234f1bc7a991d25786e5c1134005cc889a1fb55fe0621215cf7f419d + languageName: node + linkType: hard + +"@expo/log-box@npm:55.0.8, @expo/log-box@npm:~55.0.8": + version: 55.0.8 + resolution: "@expo/log-box@npm:55.0.8" + dependencies: + "@expo/dom-webview": "npm:^55.0.3" + anser: "npm:^1.4.9" + stacktrace-parser: "npm:^0.1.10" + peerDependencies: + "@expo/dom-webview": ^55.0.3 + expo: "*" + react: "*" + react-native: "*" + checksum: 10c0/7e7353c106d1368227295a5890d3fabf1b93f125b9849acf0b5788dd2a9849318af632096645c3f68da745d23066cc02704af7879c112ab4b4edf4e52ec6954d languageName: node linkType: hard -"@expo/metro-config@npm:0.20.17, @expo/metro-config@npm:~0.20.17": - version: 0.20.17 - resolution: "@expo/metro-config@npm:0.20.17" +"@expo/metro-config@npm:55.0.11, @expo/metro-config@npm:~55.0.11": + version: 55.0.11 + resolution: "@expo/metro-config@npm:55.0.11" dependencies: + "@babel/code-frame": "npm:^7.20.0" "@babel/core": "npm:^7.20.0" "@babel/generator": "npm:^7.20.5" - "@babel/parser": "npm:^7.20.0" - "@babel/types": "npm:^7.20.0" - "@expo/config": "npm:~11.0.12" - "@expo/env": "npm:~1.0.7" - "@expo/json-file": "npm:~9.1.5" + "@expo/config": "npm:~55.0.10" + "@expo/env": "npm:~2.1.1" + "@expo/json-file": "npm:~10.0.12" + "@expo/metro": "npm:~54.2.0" "@expo/spawn-async": "npm:^1.7.2" + browserslist: "npm:^4.25.0" chalk: "npm:^4.1.0" debug: "npm:^4.3.2" - dotenv: "npm:~16.4.5" - dotenv-expand: "npm:~11.0.6" getenv: "npm:^2.0.0" - glob: "npm:^10.4.2" + glob: "npm:^13.0.0" + hermes-parser: "npm:^0.32.0" jsc-safe-url: "npm:^0.2.4" - lightningcss: "npm:~1.27.0" - minimatch: "npm:^9.0.0" + lightningcss: "npm:^1.30.1" + picomatch: "npm:^4.0.3" postcss: "npm:~8.4.32" resolve-from: "npm:^5.0.0" - checksum: 10c0/d3bb092635e2311a4be162966d87da484fa3543a4ac2640855ede2a44266e563411b352db8e95c1f5ce29387f24c85e2606bbda23bb932d00d3010d256446d0c + peerDependencies: + expo: "*" + peerDependenciesMeta: + expo: + optional: true + checksum: 10c0/942bfef59f722bd5fb11e91d2fe273ce5f478f6f6de1ad98a929d738bd3f251a02bc9c1c046f00cc05e914b27026a52ec6f21c0422382cee4a85bef95540860b languageName: node linkType: hard -"@expo/metro-runtime@npm:5.0.4": - version: 5.0.4 - resolution: "@expo/metro-runtime@npm:5.0.4" +"@expo/metro-runtime@npm:^55.0.7": + version: 55.0.7 + resolution: "@expo/metro-runtime@npm:55.0.7" + dependencies: + "@expo/log-box": "npm:55.0.8" + anser: "npm:^1.4.9" + pretty-format: "npm:^29.7.0" + stacktrace-parser: "npm:^0.1.10" + whatwg-fetch: "npm:^3.0.0" peerDependencies: + expo: "*" + react: "*" + react-dom: "*" react-native: "*" - checksum: 10c0/3522e7e95c13679a4f150d7cce78253e928adea5593c77af6cda0b56c34f2cb4d4a6d057a8bd455b3e3f63439e321c6b80cd1a7bdfdfa04b2ab1fcc034b3736f + peerDependenciesMeta: + react-dom: + optional: true + checksum: 10c0/b72372f7da44b47c747c7d2f2487dd9ec0f83f62601a00f6f96d656fe62b8e91948f7b639c9b87e5d59d321c6d7e2153577089baceaed8e7148539c8c9736b43 + languageName: node + linkType: hard + +"@expo/metro@npm:~54.2.0": + version: 54.2.0 + resolution: "@expo/metro@npm:54.2.0" + dependencies: + metro: "npm:0.83.3" + metro-babel-transformer: "npm:0.83.3" + metro-cache: "npm:0.83.3" + metro-cache-key: "npm:0.83.3" + metro-config: "npm:0.83.3" + metro-core: "npm:0.83.3" + metro-file-map: "npm:0.83.3" + metro-minify-terser: "npm:0.83.3" + metro-resolver: "npm:0.83.3" + metro-runtime: "npm:0.83.3" + metro-source-map: "npm:0.83.3" + metro-symbolicate: "npm:0.83.3" + metro-transform-plugins: "npm:0.83.3" + metro-transform-worker: "npm:0.83.3" + checksum: 10c0/5114ac19021094e19fcbd383778748451bdf78c904cb9be831b04d44880b4ca05071c1e045e5ccf8076418e32a87de2e5163529f1d91fed4bdda2184958e8a61 languageName: node linkType: hard -"@expo/osascript@npm:^2.2.5": - version: 2.2.5 - resolution: "@expo/osascript@npm:2.2.5" +"@expo/osascript@npm:^2.4.2": + version: 2.4.2 + resolution: "@expo/osascript@npm:2.4.2" dependencies: "@expo/spawn-async": "npm:^1.7.2" - exec-async: "npm:^2.2.0" - checksum: 10c0/1fd6d0ebb43eb09d57db02b4053dd4b1aa5ba341aebbe10c1b39afa03c4724c77778e2e5ed932fe2ff24724ff73f464789778ca9e964aea6dfe3481f3ffbf570 + checksum: 10c0/80adc04b4a6f0695d00a88dcfe3336b395d6431fdccb9e8316c2ec1819ae6524a7063d7c8f4da7f1f3718e57637204c62c2383b7488b0008410efeb7108aa00f languageName: node linkType: hard -"@expo/package-manager@npm:^1.8.6": - version: 1.8.6 - resolution: "@expo/package-manager@npm:1.8.6" +"@expo/package-manager@npm:^1.10.3": + version: 1.10.3 + resolution: "@expo/package-manager@npm:1.10.3" dependencies: - "@expo/json-file": "npm:^9.1.5" + "@expo/json-file": "npm:^10.0.12" "@expo/spawn-async": "npm:^1.7.2" chalk: "npm:^4.0.0" npm-package-arg: "npm:^11.0.0" ora: "npm:^3.4.0" resolve-workspace-root: "npm:^2.0.0" - checksum: 10c0/2d2860016ce15a0c7c6d99bd3df28b0250ce277eae0120696c84ee3edae644524baa43be0874fe7a4796c39ff7ba9de23337360ab2e5fc1501e5da411345143f + checksum: 10c0/b9e6071b9f29f20ef4aae06390c207f22b17eced1fa2d77903100ab7efefe0951a8735dee997ac434550938d939d132a5b1f3f35344bfe9e40344c090d0ebedc languageName: node linkType: hard -"@expo/plist@npm:^0.3.5": - version: 0.3.5 - resolution: "@expo/plist@npm:0.3.5" +"@expo/plist@npm:^0.5.2": + version: 0.5.2 + resolution: "@expo/plist@npm:0.5.2" dependencies: "@xmldom/xmldom": "npm:^0.8.8" - base64-js: "npm:^1.2.3" + base64-js: "npm:^1.5.1" xmlbuilder: "npm:^15.1.1" - checksum: 10c0/d0cde0024b6363f3c96ac186a59795d7c7655986407623324083261ea7e8dcaa7014f385baa1a70422765299eb6d828515ebf0d40590caf34f81997288b74cc1 + checksum: 10c0/19adae2a365ac1a12db93682fb310ff8be03c711f9173bebe5841cbe60cdfb749247bc1a95fa0977b5bac3aa6a078a0fceeafe4ff6c66d1ed67cce496679e310 languageName: node linkType: hard -"@expo/prebuild-config@npm:^9.0.10, @expo/prebuild-config@npm:^9.0.11": - version: 9.0.11 - resolution: "@expo/prebuild-config@npm:9.0.11" +"@expo/prebuild-config@npm:^55.0.11": + version: 55.0.11 + resolution: "@expo/prebuild-config@npm:55.0.11" dependencies: - "@expo/config": "npm:~11.0.13" - "@expo/config-plugins": "npm:~10.1.2" - "@expo/config-types": "npm:^53.0.5" - "@expo/image-utils": "npm:^0.7.6" - "@expo/json-file": "npm:^9.1.5" - "@react-native/normalize-colors": "npm:0.79.5" + "@expo/config": "npm:~55.0.11" + "@expo/config-plugins": "npm:~55.0.7" + "@expo/config-types": "npm:^55.0.5" + "@expo/image-utils": "npm:^0.8.12" + "@expo/json-file": "npm:^10.0.12" + "@react-native/normalize-colors": "npm:0.83.4" debug: "npm:^4.3.1" resolve-from: "npm:^5.0.0" semver: "npm:^7.6.0" xml2js: "npm:0.6.0" - checksum: 10c0/63eb9be6744e2100362c8f7597daf1d4cbfdf4165ae6313c0b5759dbc63e95f8952cfb4634f4e1e0b593e6113100406a1a7972f5231f3fc6c2f7b05c7e0ef708 + peerDependencies: + expo: "*" + checksum: 10c0/e8cffdd29467c3b33deeb911079231253ac258399ac01c2a9765765753af79287233e6351fc1dff7c77fc61590f92353286f764591e421863e25eb5da8e063e6 languageName: node linkType: hard -"@expo/schema-utils@npm:^0.1.0": - version: 0.1.7 - resolution: "@expo/schema-utils@npm:0.1.7" - checksum: 10c0/1099bd8801ff941584bc6d2bb44613f9fb87af663843d629d9ede8315f44f7332c881b70f1681e8f8fc82b27472b4a025341963f0f347e16a0ae90fcb65138cd +"@expo/require-utils@npm:^55.0.3": + version: 55.0.3 + resolution: "@expo/require-utils@npm:55.0.3" + dependencies: + "@babel/code-frame": "npm:^7.20.0" + "@babel/core": "npm:^7.25.2" + "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" + peerDependencies: + typescript: ^5.0.0 || ^5.0.0-0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/562a2dc71f983fba2215295bbcc376d6911217c3a98b96484331112ff98c7a2e979fb1904ac293008ac557114c6658c1deb9b2f441bd246764b507103d2560cd + languageName: node + linkType: hard + +"@expo/router-server@npm:^55.0.11": + version: 55.0.11 + resolution: "@expo/router-server@npm:55.0.11" + dependencies: + debug: "npm:^4.3.4" + peerDependencies: + "@expo/metro-runtime": ^55.0.6 + expo: "*" + expo-constants: ^55.0.9 + expo-font: ^55.0.4 + expo-router: "*" + expo-server: ^55.0.6 + react: "*" + react-dom: "*" + react-server-dom-webpack: ~19.0.1 || ~19.1.2 || ~19.2.1 + peerDependenciesMeta: + "@expo/metro-runtime": + optional: true + expo-router: + optional: true + react-dom: + optional: true + react-server-dom-webpack: + optional: true + checksum: 10c0/54db0a2f3b4d07ddf58ebadd77b2a5d67c54523044c3cf9dac4a078d73795a3450f5d1c3f3a15b2a2a6c0c3eb5fdb11f482ffcbd25fd3a1f481242c3de3f575b + languageName: node + linkType: hard + +"@expo/schema-utils@npm:^55.0.2": + version: 55.0.2 + resolution: "@expo/schema-utils@npm:55.0.2" + checksum: 10c0/0b443cd733f078a34ef6419f0051073f7333c338e108ca13509a728ae8c20dacfd7bba92cbe152e4bdb45f92bbc58290d3041f9a21cbd8518908708b10ccb3ad languageName: node linkType: hard @@ -3673,18 +3779,6 @@ __metadata: languageName: node linkType: hard -"@expo/server@npm:^0.6.3": - version: 0.6.3 - resolution: "@expo/server@npm:0.6.3" - dependencies: - abort-controller: "npm:^3.0.0" - debug: "npm:^4.3.4" - source-map-support: "npm:~0.5.21" - undici: "npm:^6.18.2 || ^7.0.0" - checksum: 10c0/75e72542345da40e8e7da121b97f048c7587fbeb216cb18e0e66fdba1a0d092c0168be94d05bfda1a9689dfeace59fb0f952eb79fcbd956755c1b32040452b18 - languageName: node - linkType: hard - "@expo/spawn-async@npm:^1.7.2": version: 1.7.2 resolution: "@expo/spawn-async@npm:1.7.2" @@ -3701,17 +3795,6 @@ __metadata: languageName: node linkType: hard -"@expo/vector-icons@npm:^14.0.0": - version: 14.1.0 - resolution: "@expo/vector-icons@npm:14.1.0" - peerDependencies: - expo-font: "*" - react: "*" - react-native: "*" - checksum: 10c0/f1dcea2c43c0808f48d1953395c6f8025ae5e811648e86b79158492c9ef8af7a40781e42844dfb1434242a08fcf6ab14886825eb2c79bad2a792aebd1eb5077c - languageName: node - linkType: hard - "@expo/vector-icons@npm:^15.0.2": version: 15.0.2 resolution: "@expo/vector-icons@npm:15.0.2" @@ -3730,17 +3813,16 @@ __metadata: languageName: node linkType: hard -"@expo/xcpretty@npm:^4.3.0": - version: 4.3.2 - resolution: "@expo/xcpretty@npm:4.3.2" +"@expo/xcpretty@npm:^4.4.0": + version: 4.4.1 + resolution: "@expo/xcpretty@npm:4.4.1" dependencies: - "@babel/code-frame": "npm:7.10.4" + "@babel/code-frame": "npm:^7.20.0" chalk: "npm:^4.1.0" - find-up: "npm:^5.0.0" js-yaml: "npm:^4.1.0" bin: excpretty: build/cli.js - checksum: 10c0/e524817b2e42fb8c8914fca7e8f7c2f723f4f6d338a57b7ae97cd3e76da8108af63a22d4c7dc2e96a192a248a242f6e0f8056f0ca53bc4fb5cd2e5ae428e0891 + checksum: 10c0/23bfd12b54bb296284402a4c547a73874b0ed4fa5f5dea26d5f80525c29befe40edb79df921fb3fd783cf0008779b29b7d4d606f2540cc23f96e39cbdc0b21dd languageName: node linkType: hard @@ -3852,13 +3934,6 @@ __metadata: languageName: node linkType: hard -"@ide/backoff@npm:^1.0.0": - version: 1.0.0 - resolution: "@ide/backoff@npm:1.0.0" - checksum: 10c0/e0c176e1894cf0a8f2d4056030d70c52f7e83db15bc0d1422a94f69e8b4c4a73c352791123f1ec647d66232a267353156fcc9e5eec02833e00189a60f057b331 - languageName: node - linkType: hard - "@img/sharp-darwin-arm64@npm:0.34.2": version: 0.34.2 resolution: "@img/sharp-darwin-arm64@npm:0.34.2" @@ -4189,7 +4264,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": +"@jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.8 resolution: "@jridgewell/gen-mapping@npm:0.3.8" dependencies: @@ -4345,41 +4420,42 @@ __metadata: resolution: "@knocklabs/expo-example@workspace:examples/expo-example" dependencies: "@babel/core": "npm:^7.28.0" + "@expo/log-box": "npm:~55.0.8" "@expo/vector-icons": "npm:^15.0.2" "@knocklabs/expo": "workspace:^" - "@react-navigation/bottom-tabs": "npm:^7.3.10" - "@react-navigation/elements": "npm:^2.6.3" - "@react-navigation/native": "npm:^7.1.6" - "@types/react": "npm:^19.1.8" + "@react-navigation/bottom-tabs": "npm:^7.15.5" + "@react-navigation/elements": "npm:^2.9.14" + "@react-navigation/native": "npm:^7.1.33" + "@types/react": "npm:^19.2.0" eslint: "npm:^8.56.0" - eslint-config-expo: "npm:~9.2.0" + eslint-config-expo: "npm:~55.0.0" eslint-import-resolver-typescript: "npm:^4.4.4" eslint-plugin-import: "npm:^2.32.0" eslint-plugin-prettier: "npm:^5.5.1" - expo: "npm:~53.0.22" - expo-blur: "npm:~14.1.5" - expo-constants: "npm:~17.1.7" - expo-device: "npm:^7.1.4" - expo-font: "npm:~13.3.2" - expo-haptics: "npm:~14.1.4" - expo-image: "npm:~2.4.0" - expo-linking: "npm:~7.1.7" - expo-notifications: "npm:^0.31.4" - expo-router: "npm:~5.1.6" - expo-splash-screen: "npm:~0.30.10" - expo-status-bar: "npm:~2.2.3" - expo-symbols: "npm:~0.4.5" - expo-system-ui: "npm:~5.0.11" - expo-web-browser: "npm:~14.2.0" - react: "npm:^19.0.0" - react-dom: "npm:^19.0.0" - react-native: "npm:^0.79.2" - react-native-gesture-handler: "npm:^2.27.1" - react-native-reanimated: "npm:~3.17.4" - react-native-safe-area-context: "npm:5.4.0" - react-native-screens: "npm:~4.11.1" - react-native-web: "npm:~0.21.2" - react-native-webview: "npm:13.13.5" + expo: "npm:~55.0.9" + expo-blur: "npm:~55.0.10" + expo-constants: "npm:~55.0.9" + expo-device: "npm:~55.0.10" + expo-font: "npm:~55.0.4" + expo-haptics: "npm:~55.0.9" + expo-image: "npm:~55.0.6" + expo-linking: "npm:~55.0.9" + expo-notifications: "npm:~55.0.14" + expo-router: "npm:~55.0.8" + expo-splash-screen: "npm:~55.0.13" + expo-status-bar: "npm:~55.0.4" + expo-symbols: "npm:~55.0.5" + expo-system-ui: "npm:~55.0.11" + expo-web-browser: "npm:~55.0.10" + react: "npm:19.2.0" + react-dom: "npm:19.2.0" + react-native: "npm:0.83.4" + react-native-gesture-handler: "npm:~2.30.0" + react-native-reanimated: "npm:~3.19.5" + react-native-safe-area-context: "npm:~5.6.2" + react-native-screens: "npm:~4.23.0" + react-native-web: "npm:~0.21.0" + react-native-webview: "npm:13.16.0" typescript: "npm:^5.8.3" languageName: unknown linkType: soft @@ -4402,16 +4478,16 @@ __metadata: eslint: "npm:^8.56.0" eslint-plugin-react-hooks: "npm:^5.2.0" eslint-plugin-react-refresh: "npm:^0.5.2" - expo: "npm:~53.0.22" - expo-constants: "npm:~17.1.7" - expo-device: "npm:^7.1.4" - expo-notifications: "npm:^0.31.4" + expo: "npm:~55.0.9" + expo-constants: "npm:~55.0.9" + expo-device: "npm:~55.0.10" + expo-notifications: "npm:~55.0.14" jsdom: "npm:^27.1.0" react: "npm:^19.0.0" - react-native: "npm:^0.79.2" - react-native-gesture-handler: "npm:^2.27.1" + react-native: "npm:^0.83.4" + react-native-gesture-handler: "npm:~2.30.0" react-native-render-html: "npm:^6.3.4" - react-native-svg: "npm:^15.12.0" + react-native-svg: "npm:15.15.3" rimraf: "npm:^6.0.1" typescript: "npm:^5.8.3" vite: "npm:^5.4.19" @@ -4522,11 +4598,11 @@ __metadata: eslint-plugin-react-refresh: "npm:^0.5.2" react: "npm:^19.0.0" react-dom: "npm:^19.0.0" - react-native: "npm:^0.79.2" - react-native-gesture-handler: "npm:^2.27.1" + react-native: "npm:^0.83.4" + react-native-gesture-handler: "npm:~2.30.0" react-native-get-random-values: "npm:^1.11.0" react-native-render-html: "npm:^6.3.4" - react-native-svg: "npm:^15.12.0" + react-native-svg: "npm:15.15.3" rimraf: "npm:^6.0.1" typescript: "npm:^5.8.3" vite: "npm:^5.4.19" @@ -5227,7 +5303,7 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-dialog@npm:^1.1.15": +"@radix-ui/react-dialog@npm:^1.1.1, @radix-ui/react-dialog@npm:^1.1.15": version: 1.1.15 resolution: "@radix-ui/react-dialog@npm:1.1.15" dependencies: @@ -5560,9 +5636,9 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-slot@npm:1.2.0": - version: 1.2.0 - resolution: "@radix-ui/react-slot@npm:1.2.0" +"@radix-ui/react-slot@npm:1.2.3, @radix-ui/react-slot@npm:^1.2.3": + version: 1.2.3 + resolution: "@radix-ui/react-slot@npm:1.2.3" dependencies: "@radix-ui/react-compose-refs": "npm:1.1.2" peerDependencies: @@ -5571,13 +5647,13 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/f1455f36479e87a0a2254fc2e2b2aba6740d1fbcada949071210bf2a009a031ad508ac01b544bce96337bcca82f49531b46c71615141a5985aaa11ae69b967b1 + checksum: 10c0/5913aa0d760f505905779515e4b1f0f71a422350f077cc8d26d1aafe53c97f177fec0e6d7fbbb50d8b5e498aa9df9f707ca75ae3801540c283b26b0136138eef languageName: node linkType: hard -"@radix-ui/react-slot@npm:1.2.3, @radix-ui/react-slot@npm:^1.2.3": - version: 1.2.3 - resolution: "@radix-ui/react-slot@npm:1.2.3" +"@radix-ui/react-slot@npm:1.2.4, @radix-ui/react-slot@npm:^1.2.0, @radix-ui/react-slot@npm:^1.2.4": + version: 1.2.4 + resolution: "@radix-ui/react-slot@npm:1.2.4" dependencies: "@radix-ui/react-compose-refs": "npm:1.1.2" peerDependencies: @@ -5586,22 +5662,33 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/5913aa0d760f505905779515e4b1f0f71a422350f077cc8d26d1aafe53c97f177fec0e6d7fbbb50d8b5e498aa9df9f707ca75ae3801540c283b26b0136138eef + checksum: 10c0/8b719bb934f1ae5ac0e37214783085c17c2f1080217caf514c1c6cc3d9ca56c7e19d25470b26da79aa6e605ab36589edaade149b76f5fc0666f1063e2fc0a0dc languageName: node linkType: hard -"@radix-ui/react-slot@npm:1.2.4, @radix-ui/react-slot@npm:^1.2.4": - version: 1.2.4 - resolution: "@radix-ui/react-slot@npm:1.2.4" +"@radix-ui/react-tabs@npm:^1.1.12": + version: 1.1.13 + resolution: "@radix-ui/react-tabs@npm:1.1.13" dependencies: - "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-direction": "npm:1.1.1" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-presence": "npm:1.1.5" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-roving-focus": "npm:1.1.11" + "@radix-ui/react-use-controllable-state": "npm:1.2.2" peerDependencies: "@types/react": "*" + "@types/react-dom": "*" react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/8b719bb934f1ae5ac0e37214783085c17c2f1080217caf514c1c6cc3d9ca56c7e19d25470b26da79aa6e605ab36589edaade149b76f5fc0666f1063e2fc0a0dc + "@types/react-dom": + optional: true + checksum: 10c0/a3c78cd8c30dcb95faf1605a8424a1a71dab121dfa6e9c0019bb30d0f36d882762c925b17596d4977990005a255d8ddc0b7454e4f83337fe557b45570a2d8058 languageName: node linkType: hard @@ -5835,26 +5922,26 @@ __metadata: languageName: node linkType: hard -"@react-native/assets-registry@npm:0.79.5": - version: 0.79.5 - resolution: "@react-native/assets-registry@npm:0.79.5" - checksum: 10c0/629d2062154ac9a95ab9832bbea8d63cb27911d6b1d5b267461cffd4760c6e02bb1a8b1e060127e961a37cf53d311f2efffeb4a485bfbf6fa832c90e2cf23ea2 +"@react-native/assets-registry@npm:0.83.4": + version: 0.83.4 + resolution: "@react-native/assets-registry@npm:0.83.4" + checksum: 10c0/02fcc5e8cae55dc20b81e3bfc62b277ed06118e73ba4d25640b48ae05fb5fc8ae8a78e3441abdeb78efc38fc18d3e818a241176bdbf627ab21495d57ac83e059 languageName: node linkType: hard -"@react-native/babel-plugin-codegen@npm:0.79.6": - version: 0.79.6 - resolution: "@react-native/babel-plugin-codegen@npm:0.79.6" +"@react-native/babel-plugin-codegen@npm:0.83.4": + version: 0.83.4 + resolution: "@react-native/babel-plugin-codegen@npm:0.83.4" dependencies: "@babel/traverse": "npm:^7.25.3" - "@react-native/codegen": "npm:0.79.6" - checksum: 10c0/dc1e22b31db6e11ab1444ca607ab2cf9430ba0b09aa0f1819204b04dd6b151b254b7605bb3f0c2dc1b4d5fdfbf96dd8f8d92e60251dc1dc08b1fa54deb6b1614 + "@react-native/codegen": "npm:0.83.4" + checksum: 10c0/f33af98ee3256e6ab1f8b4828c00ec92fa5f10ceeba22336fd4cd837525c348c8d595709902785bd38f8e8bd8a45c0a4d518d7e9f1d8c4acf8e207995f54fb12 languageName: node linkType: hard -"@react-native/babel-preset@npm:0.79.6": - version: 0.79.6 - resolution: "@react-native/babel-preset@npm:0.79.6" +"@react-native/babel-preset@npm:0.83.4": + version: 0.83.4 + resolution: "@react-native/babel-preset@npm:0.83.4" dependencies: "@babel/core": "npm:^7.25.2" "@babel/plugin-proposal-export-default-from": "npm:^7.24.7" @@ -5897,13 +5984,13 @@ __metadata: "@babel/plugin-transform-typescript": "npm:^7.25.2" "@babel/plugin-transform-unicode-regex": "npm:^7.24.7" "@babel/template": "npm:^7.25.0" - "@react-native/babel-plugin-codegen": "npm:0.79.6" - babel-plugin-syntax-hermes-parser: "npm:0.25.1" + "@react-native/babel-plugin-codegen": "npm:0.83.4" + babel-plugin-syntax-hermes-parser: "npm:0.32.0" babel-plugin-transform-flow-enums: "npm:^0.0.2" react-refresh: "npm:^0.14.0" peerDependencies: "@babel/core": "*" - checksum: 10c0/9afdf7ad725d4c5eece4f6390be1bd33c39f8a1da55731c3493d5e61afd31e3c9911ca5e1c539cf8c4cbd9f48c0f9f14914a8b12437011451394ee0db8fd5cdc + checksum: 10c0/1c1e80d77b513b0762426a207fbcf04335bc41afe077d48b95a304f3a31dcf317d16ad1a6ad7badf04fc5aa7058365db40d3daf8a2503fe16b9e58a7080b7946 languageName: node linkType: hard @@ -5922,35 +6009,20 @@ __metadata: languageName: node linkType: hard -"@react-native/codegen@npm:0.79.5": - version: 0.79.5 - resolution: "@react-native/codegen@npm:0.79.5" - dependencies: - glob: "npm:^7.1.1" - hermes-parser: "npm:0.25.1" - invariant: "npm:^2.2.4" - nullthrows: "npm:^1.1.1" - yargs: "npm:^17.6.2" - peerDependencies: - "@babel/core": "*" - checksum: 10c0/50c28e3f8cb1e3c03323f848fc94edb190fc1130a3f037c40030f0cd930c5b26941b7e5e3d48c1536cf397866515d618ab8ad62e5bcd84dc81e32e8ace8cacc3 - languageName: node - linkType: hard - -"@react-native/codegen@npm:0.79.6": - version: 0.79.6 - resolution: "@react-native/codegen@npm:0.79.6" +"@react-native/codegen@npm:0.83.4": + version: 0.83.4 + resolution: "@react-native/codegen@npm:0.83.4" dependencies: "@babel/core": "npm:^7.25.2" "@babel/parser": "npm:^7.25.3" glob: "npm:^7.1.1" - hermes-parser: "npm:0.25.1" + hermes-parser: "npm:0.32.0" invariant: "npm:^2.2.4" nullthrows: "npm:^1.1.1" yargs: "npm:^17.6.2" peerDependencies: "@babel/core": "*" - checksum: 10c0/2359c37016ede418d1fef43e27899599cf753c05481bbfb3ef4de86cdb2f39c9a475ed6f64cc13f267bd547cda10e0b5e62329f8b3fceb94df9058284f126524 + checksum: 10c0/00b781097fece80cf004f8156ae0d0e24936bfad87bf1305c2d8c946b7bb18f924b0a19697d041a9ac5df3af765c62139cfabd9994d040fc60f79734adab471e languageName: node linkType: hard @@ -5975,24 +6047,26 @@ __metadata: languageName: node linkType: hard -"@react-native/community-cli-plugin@npm:0.79.5": - version: 0.79.5 - resolution: "@react-native/community-cli-plugin@npm:0.79.5" +"@react-native/community-cli-plugin@npm:0.83.4": + version: 0.83.4 + resolution: "@react-native/community-cli-plugin@npm:0.83.4" dependencies: - "@react-native/dev-middleware": "npm:0.79.5" - chalk: "npm:^4.0.0" - debug: "npm:^2.2.0" + "@react-native/dev-middleware": "npm:0.83.4" + debug: "npm:^4.4.0" invariant: "npm:^2.2.4" - metro: "npm:^0.82.0" - metro-config: "npm:^0.82.0" - metro-core: "npm:^0.82.0" + metro: "npm:^0.83.3" + metro-config: "npm:^0.83.3" + metro-core: "npm:^0.83.3" semver: "npm:^7.1.3" peerDependencies: "@react-native-community/cli": "*" + "@react-native/metro-config": "*" peerDependenciesMeta: "@react-native-community/cli": optional: true - checksum: 10c0/03f95a0f2044dd3b28da8d2ae38794651e2e12587264d6bceffc4e61545052232ca8e42bd5f794b5af24dd1cd9fdb83992aaa7c7679c4888b65bf497903c06ea + "@react-native/metro-config": + optional: true + checksum: 10c0/3455c8b58f6e673e4552e9b1cff8446c9549b9acd8907a29a27b835f714002dcb85907db463bb8ef927cd416fdcd6a9038415cef452ece708b6eb43d5c4c32bb languageName: node linkType: hard @@ -6003,17 +6077,20 @@ __metadata: languageName: node linkType: hard -"@react-native/debugger-frontend@npm:0.79.5": - version: 0.79.5 - resolution: "@react-native/debugger-frontend@npm:0.79.5" - checksum: 10c0/486e36e1358714de4d9b40f665a29397beca80b7521343e850124b0380022c1c8c5b8f6cf22920b1cd6d938fbab53426d18e748fb2eaa0abd0e38832858a8f0f +"@react-native/debugger-frontend@npm:0.83.4": + version: 0.83.4 + resolution: "@react-native/debugger-frontend@npm:0.83.4" + checksum: 10c0/b2ed3a317a471c14e0ae1c366d81b29b8bf3b4bf98a4e1903d413d04882522df4a6295d6003031dce849cb223de89308575474e3df26a4378cee3e5b15b85e33 languageName: node linkType: hard -"@react-native/debugger-frontend@npm:0.79.6": - version: 0.79.6 - resolution: "@react-native/debugger-frontend@npm:0.79.6" - checksum: 10c0/e6c846ae9b38077c3a3ac9ca081bc546367414514cf31aacb2f5427821629a9907d1e180e1491008c6eb94b4c8acedf2ff2a660b8d80d85992a6dada9c76cc27 +"@react-native/debugger-shell@npm:0.83.4": + version: 0.83.4 + resolution: "@react-native/debugger-shell@npm:0.83.4" + dependencies: + cross-spawn: "npm:^7.0.6" + fb-dotslash: "npm:0.5.8" + checksum: 10c0/b51ee53b023bbc00e114dd1234c4472646221802ed2cb6c1aeb35ddb43020a71ec9dc724f6f9925d0ca93d01d6c1f5198325a7ccb64186271cfd9d99814c77a3 languageName: node linkType: hard @@ -6036,41 +6113,23 @@ __metadata: languageName: node linkType: hard -"@react-native/dev-middleware@npm:0.79.5": - version: 0.79.5 - resolution: "@react-native/dev-middleware@npm:0.79.5" - dependencies: - "@isaacs/ttlcache": "npm:^1.4.1" - "@react-native/debugger-frontend": "npm:0.79.5" - chrome-launcher: "npm:^0.15.2" - chromium-edge-launcher: "npm:^0.2.0" - connect: "npm:^3.6.5" - debug: "npm:^2.2.0" - invariant: "npm:^2.2.4" - nullthrows: "npm:^1.1.1" - open: "npm:^7.0.3" - serve-static: "npm:^1.16.2" - ws: "npm:^6.2.3" - checksum: 10c0/85a2fe06e74d2fd486c55cde268a96dc24fda6a8d7be2181d15dfe9d6065f352b7a17693456138923b0dcf1362ce0bf61e34a127686204269b8ccbbe15ea34d2 - languageName: node - linkType: hard - -"@react-native/dev-middleware@npm:0.79.6": - version: 0.79.6 - resolution: "@react-native/dev-middleware@npm:0.79.6" +"@react-native/dev-middleware@npm:0.83.4": + version: 0.83.4 + resolution: "@react-native/dev-middleware@npm:0.83.4" dependencies: "@isaacs/ttlcache": "npm:^1.4.1" - "@react-native/debugger-frontend": "npm:0.79.6" + "@react-native/debugger-frontend": "npm:0.83.4" + "@react-native/debugger-shell": "npm:0.83.4" chrome-launcher: "npm:^0.15.2" chromium-edge-launcher: "npm:^0.2.0" connect: "npm:^3.6.5" - debug: "npm:^2.2.0" + debug: "npm:^4.4.0" invariant: "npm:^2.2.4" nullthrows: "npm:^1.1.1" open: "npm:^7.0.3" serve-static: "npm:^1.16.2" - ws: "npm:^6.2.3" - checksum: 10c0/7aea0c75d67fd1a450c83423f043ab8061d0415c819e7dc6fbb64ec01f397312b26a593810ba9b09adf94e8e93231db7bf5d835aceb73c521d4156936a67ee6d + ws: "npm:^7.5.10" + checksum: 10c0/bd2237771e70cb3b4ee1bf84e099df2fa9d9343812db4e847e2b498f854ab82789c41f649e47bb4da767b22ecdbac8806834f9440f41d5957d53409676069d24 languageName: node linkType: hard @@ -6081,10 +6140,10 @@ __metadata: languageName: node linkType: hard -"@react-native/gradle-plugin@npm:0.79.5": - version: 0.79.5 - resolution: "@react-native/gradle-plugin@npm:0.79.5" - checksum: 10c0/ca0d144dfd2fba0a3d550a6bb273e67e8d5b058fd616c75f358390fa7d4d8ff6e696be30b164f8427f776dcc60f80822f0e7be0799419772415e1f84536f479c +"@react-native/gradle-plugin@npm:0.83.4": + version: 0.83.4 + resolution: "@react-native/gradle-plugin@npm:0.83.4" + checksum: 10c0/a16a9a3c1a98170ae60ecaa90fc67a542054fafcd9b739015f1e0432a922ca29211ae4603509503814c63a3717730ba9d77b4a0015cdc814da9e7fbe812289f5 languageName: node linkType: hard @@ -6095,10 +6154,10 @@ __metadata: languageName: node linkType: hard -"@react-native/js-polyfills@npm:0.79.5": - version: 0.79.5 - resolution: "@react-native/js-polyfills@npm:0.79.5" - checksum: 10c0/49b9a51d882fb5aadbfbb120624e16053ad8146d82ae9fc9f9cdecde6304cc9fd9a2183f9300eefafdd867a1688b3d9ccd3721b18fa6c58d998e8c5733c91d9b +"@react-native/js-polyfills@npm:0.83.4": + version: 0.83.4 + resolution: "@react-native/js-polyfills@npm:0.83.4" + checksum: 10c0/724a59e09cdee37241372fc54b6ee4eacaa5d43800f6eef6990e79c916f27d9f949e20631529b41cecb7e24dd5d9095baca136ac0fef642f0e0b30044370061c languageName: node linkType: hard @@ -6109,17 +6168,10 @@ __metadata: languageName: node linkType: hard -"@react-native/normalize-colors@npm:0.79.5": - version: 0.79.5 - resolution: "@react-native/normalize-colors@npm:0.79.5" - checksum: 10c0/d5b97f3ff7c0f6117ab92ae888611f2f7d6aa7f090e44f72658a7103582cc7d47fbb56c9e61fb9c6b44186c97b0f165425c032cf8d217ebf8955fe9f7ac41dea - languageName: node - linkType: hard - -"@react-native/normalize-colors@npm:0.79.6": - version: 0.79.6 - resolution: "@react-native/normalize-colors@npm:0.79.6" - checksum: 10c0/2bc662b6846a92fe62bc54be34204ad90eeceb9747fdd6f439f3262a8b93a47c1a9f574368749c07636a9a746e2d5b842e9492f55bbfcbe164a1b7385f467ac1 +"@react-native/normalize-colors@npm:0.83.4": + version: 0.83.4 + resolution: "@react-native/normalize-colors@npm:0.83.4" + checksum: 10c0/0a6cc6c6136872606a35b7a214ea6d320135b220fd220e16b5ca7a74b244938b48c9df1ae422046c56f6779c64914cb7e979873de5cf60a410f9a5261c28b4ba languageName: node linkType: hard @@ -6147,45 +6199,47 @@ __metadata: languageName: node linkType: hard -"@react-native/virtualized-lists@npm:0.79.5": - version: 0.79.5 - resolution: "@react-native/virtualized-lists@npm:0.79.5" +"@react-native/virtualized-lists@npm:0.83.4": + version: 0.83.4 + resolution: "@react-native/virtualized-lists@npm:0.83.4" dependencies: invariant: "npm:^2.2.4" nullthrows: "npm:^1.1.1" peerDependencies: - "@types/react": ^19.0.0 + "@types/react": ^19.2.0 react: "*" react-native: "*" peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/7a5e35e523bd847f0df6430af97216bcc66149d138cb27d1c8ab9ecc8887e8f5d9f7821f972d980a75b4fa9f88f350a3715b54132fe24dc649dea4706c10d09b + checksum: 10c0/8bfd22e3a757aae17f0e2c320f2cfe1a6c4720c57c375e14b66ac99d2aa72b0768695295e11216c838adc5084bbcf18f9cbb4a18eaae9fe07ab1473f410b9b8f languageName: node linkType: hard -"@react-navigation/bottom-tabs@npm:^7.3.10": - version: 7.4.2 - resolution: "@react-navigation/bottom-tabs@npm:7.4.2" +"@react-navigation/bottom-tabs@npm:^7.15.5": + version: 7.15.9 + resolution: "@react-navigation/bottom-tabs@npm:7.15.9" dependencies: - "@react-navigation/elements": "npm:^2.5.2" + "@react-navigation/elements": "npm:^2.9.14" color: "npm:^4.2.3" + sf-symbols-typescript: "npm:^2.1.0" peerDependencies: - "@react-navigation/native": ^7.1.14 + "@react-navigation/native": ^7.2.2 react: ">= 18.2.0" react-native: "*" react-native-safe-area-context: ">= 4.0.0" react-native-screens: ">= 4.0.0" - checksum: 10c0/17ba09e355e9a106f9431d5fedb2c4716f0f47e2b87e8bf7927e153d9fb799104f3f2a0f8eab527ead4f9a697fd6e771c998c724cf53e632109ff5c6440d73c3 + checksum: 10c0/e3526cfe67ef19f59d9676bfea3b000bc489c77faee87e8d9ffbab084b0ea3ac70894605414185371fe607f0fa776769b6593b15a297c8842ee33eef186a9dae languageName: node linkType: hard -"@react-navigation/core@npm:^7.12.1": - version: 7.12.1 - resolution: "@react-navigation/core@npm:7.12.1" +"@react-navigation/core@npm:^7.17.2": + version: 7.17.2 + resolution: "@react-navigation/core@npm:7.17.2" dependencies: - "@react-navigation/routers": "npm:^7.4.1" + "@react-navigation/routers": "npm:^7.5.3" escape-string-regexp: "npm:^4.0.0" + fast-deep-equal: "npm:^3.1.3" nanoid: "npm:^3.3.11" query-string: "npm:^7.1.3" react-is: "npm:^19.1.0" @@ -6193,71 +6247,53 @@ __metadata: use-sync-external-store: "npm:^1.5.0" peerDependencies: react: ">= 18.2.0" - checksum: 10c0/ccb695c34b1d8c963cefed721d91ea85108dbd3a011f2f5434b4b73d45671db0883932885bf95c7855e715f3a485f32685bf788b9c2a9c107fd5035ce875dcfd + checksum: 10c0/df1889769e90f85b71605070818b22bd9967f5fd0572187d31e6a17386339336c8890b9c7ba505854382426cb3b5be8d03ea4684da4ad5be2cdae828302b98a0 languageName: node linkType: hard -"@react-navigation/elements@npm:^2.5.2": - version: 2.5.2 - resolution: "@react-navigation/elements@npm:2.5.2" +"@react-navigation/elements@npm:^2.9.14": + version: 2.9.14 + resolution: "@react-navigation/elements@npm:2.9.14" dependencies: color: "npm:^4.2.3" use-latest-callback: "npm:^0.2.4" use-sync-external-store: "npm:^1.5.0" peerDependencies: "@react-native-masked-view/masked-view": ">= 0.2.0" - "@react-navigation/native": ^7.1.14 + "@react-navigation/native": ^7.2.2 react: ">= 18.2.0" react-native: "*" react-native-safe-area-context: ">= 4.0.0" peerDependenciesMeta: "@react-native-masked-view/masked-view": optional: true - checksum: 10c0/d019665639ba3510fd7cebf7ba67bfc9b64e8041ae4e7e7dfb8fef280ac37884c9e9620e20e1c448e828231779216fb34caf9d53c43b49a9f679e60cbe171b05 + checksum: 10c0/c2602f5be41caaad8ea81a9bdfde654d4a89d83c627a910f5d166bd8cac2700399fce805f6bf15faaf06c2bbc776325269bc0ec1fbbe917b615e17a0a5d371e1 languageName: node linkType: hard -"@react-navigation/elements@npm:^2.6.3": - version: 2.6.3 - resolution: "@react-navigation/elements@npm:2.6.3" +"@react-navigation/native-stack@npm:^7.14.5": + version: 7.14.10 + resolution: "@react-navigation/native-stack@npm:7.14.10" dependencies: + "@react-navigation/elements": "npm:^2.9.14" color: "npm:^4.2.3" - use-latest-callback: "npm:^0.2.4" - use-sync-external-store: "npm:^1.5.0" + sf-symbols-typescript: "npm:^2.1.0" + warn-once: "npm:^0.1.1" peerDependencies: - "@react-native-masked-view/masked-view": ">= 0.2.0" - "@react-navigation/native": ^7.1.17 - react: ">= 18.2.0" - react-native: "*" - react-native-safe-area-context: ">= 4.0.0" - peerDependenciesMeta: - "@react-native-masked-view/masked-view": - optional: true - checksum: 10c0/961c60f738eb5a9d7830cebdb536f8deeb1890a6e8ebc302916191857fe4e421d84aadb3b3e3720da27d924f0cfbe2d3f090dfef38d2ef9485d033d79974e244 - languageName: node - linkType: hard - -"@react-navigation/native-stack@npm:^7.3.10": - version: 7.3.21 - resolution: "@react-navigation/native-stack@npm:7.3.21" - dependencies: - "@react-navigation/elements": "npm:^2.5.2" - warn-once: "npm:^0.1.1" - peerDependencies: - "@react-navigation/native": ^7.1.14 + "@react-navigation/native": ^7.2.2 react: ">= 18.2.0" react-native: "*" react-native-safe-area-context: ">= 4.0.0" react-native-screens: ">= 4.0.0" - checksum: 10c0/5d312ea4f5b73cb2830cfcfa2d10dce7d625c050f59f2ff6491cedd178312c21698941627192ae32fbeb07d4f35a859d7372229c7563f998e34ba4403d141f87 + checksum: 10c0/0ec90836475a9d3988d642504868589d0e00bc9a4955e81806d942a0614fe5081f684c83e4b493c07bdf6a61b8676cfca41a5a374cf84bf76289fdb24cc8cd7b languageName: node linkType: hard -"@react-navigation/native@npm:^7.1.6": - version: 7.1.14 - resolution: "@react-navigation/native@npm:7.1.14" +"@react-navigation/native@npm:^7.1.33": + version: 7.2.2 + resolution: "@react-navigation/native@npm:7.2.2" dependencies: - "@react-navigation/core": "npm:^7.12.1" + "@react-navigation/core": "npm:^7.17.2" escape-string-regexp: "npm:^4.0.0" fast-deep-equal: "npm:^3.1.3" nanoid: "npm:^3.3.11" @@ -6265,16 +6301,16 @@ __metadata: peerDependencies: react: ">= 18.2.0" react-native: "*" - checksum: 10c0/304c34b2051761a9b98e7c70cd86816c5f142841bff7a7386cb4626111c057a20b96667e0dc4da8df1acf3969a291c7c1903244229a75e61b96c8f279a339047 + checksum: 10c0/3ca6e742da2ed4110b81fc008536ca62f07cdf49b368e9b7f73cbc25ad86603f87f14d08492bf1de2647ca6f4cf7141bec4fa3cd76961fa2fa22f83d0f805e83 languageName: node linkType: hard -"@react-navigation/routers@npm:^7.4.1": - version: 7.4.1 - resolution: "@react-navigation/routers@npm:7.4.1" +"@react-navigation/routers@npm:^7.5.3": + version: 7.5.3 + resolution: "@react-navigation/routers@npm:7.5.3" dependencies: nanoid: "npm:^3.3.11" - checksum: 10c0/785c061df9aa0239251fe4942f0d8906d9448ea96ab3cda06e111aa94295094358453dd22ca574aef19f65618315ed1ad159acb567db5a83d37b70bcd7923814 + checksum: 10c0/85f6cb9ac71e0492845aa87637c7c745d85aa15e4ad7e71a8d910080f5d5a469dd348f59ffaaed8c488cb92708fae56350a0bfc7bc5750c65e12da1f0d4eca70 languageName: node linkType: hard @@ -8044,6 +8080,15 @@ __metadata: languageName: node linkType: hard +"@types/react@npm:^19.2.0": + version: 19.2.14 + resolution: "@types/react@npm:19.2.14" + dependencies: + csstype: "npm:^3.2.2" + checksum: 10c0/7d25bf41b57719452d86d2ac0570b659210402707313a36ee612666bf11275a1c69824f8c3ee1fdca077ccfe15452f6da8f1224529b917050eb2d861e52b59b7 + languageName: node + linkType: hard + "@types/semver@npm:^7.3.12": version: 7.7.0 resolution: "@types/semver@npm:7.7.0" @@ -8737,7 +8782,7 @@ __metadata: languageName: node linkType: hard -"@ungap/structured-clone@npm:^1.2.0": +"@ungap/structured-clone@npm:^1.2.0, @ungap/structured-clone@npm:^1.3.0": version: 1.3.0 resolution: "@ungap/structured-clone@npm:1.3.0" checksum: 10c0/0fc3097c2540ada1fc340ee56d58d96b5b536a2a0dab6e3ec17d4bfc8c4c86db345f61a375a8185f9da96f01c69678f836a2b57eeaa9e4b8eeafd26428e57b0a @@ -9000,28 +9045,6 @@ __metadata: languageName: node linkType: hard -"@urql/core@npm:^5.0.6, @urql/core@npm:^5.1.1": - version: 5.1.1 - resolution: "@urql/core@npm:5.1.1" - dependencies: - "@0no-co/graphql.web": "npm:^1.0.5" - wonka: "npm:^6.3.2" - checksum: 10c0/2a66f58452bbf153c251dd6d127fc0bc0473b4cde47171ca360960059eb08fc019202aee16911168a800814a3b9748300bb88b87817b5d05cf92c16f5772447b - languageName: node - linkType: hard - -"@urql/exchange-retry@npm:^1.3.0": - version: 1.3.1 - resolution: "@urql/exchange-retry@npm:1.3.1" - dependencies: - "@urql/core": "npm:^5.1.1" - wonka: "npm:^6.3.2" - peerDependencies: - "@urql/core": ^5.0.0 - checksum: 10c0/c7d0e5e31de3ad3ff169ca5a2f635be03057dd151a9d2ef7ff2c8a605c4d1129f8a2b7671fc9adf90aef69c963a0cc08d32c62f8fe60f220d412757e71916806 - languageName: node - linkType: hard - "@vercel/style-guide@npm:^6.0.0": version: 6.0.0 resolution: "@vercel/style-guide@npm:6.0.0" @@ -9323,6 +9346,16 @@ __metadata: languageName: node linkType: hard +"accepts@npm:^2.0.0": + version: 2.0.0 + resolution: "accepts@npm:2.0.0" + dependencies: + mime-types: "npm:^3.0.0" + negotiator: "npm:^1.0.0" + checksum: 10c0/98374742097e140891546076215f90c32644feacf652db48412329de4c2a529178a81aa500fbb13dd3e6cbf6e68d829037b123ac037fc9a08bcec4b87b358eef + languageName: node + linkType: hard + "acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -9526,13 +9559,6 @@ __metadata: languageName: node linkType: hard -"any-promise@npm:^1.0.0": - version: 1.3.0 - resolution: "any-promise@npm:1.3.0" - checksum: 10c0/60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 - languageName: node - linkType: hard - "anymatch@npm:^3.0.3, anymatch@npm:~3.1.2": version: 3.1.3 resolution: "anymatch@npm:3.1.3" @@ -9726,19 +9752,6 @@ __metadata: languageName: node linkType: hard -"assert@npm:^2.0.0": - version: 2.1.0 - resolution: "assert@npm:2.1.0" - dependencies: - call-bind: "npm:^1.0.2" - is-nan: "npm:^1.3.2" - object-is: "npm:^1.1.5" - object.assign: "npm:^4.1.4" - util: "npm:^0.12.5" - checksum: 10c0/7271a5da883c256a1fa690677bf1dd9d6aa882139f2bed1cd15da4f9e7459683e1da8e32a203d6cc6767e5e0f730c77a9532a87b896b4b0af0dd535f668775f0 - languageName: node - linkType: hard - "assertion-error@npm:^2.0.1": version: 2.0.1 resolution: "assertion-error@npm:2.0.1" @@ -9991,10 +10004,19 @@ __metadata: languageName: node linkType: hard -"babel-plugin-react-native-web@npm:~0.19.13": - version: 0.19.13 - resolution: "babel-plugin-react-native-web@npm:0.19.13" - checksum: 10c0/0710db342063182163d58febfb01ef510c9460f0500f9faaf47603d06dda37554f216e6123a099a343eb2067c2dfb43c9d4ca573a9d659662ca429048db11af4 +"babel-plugin-react-compiler@npm:^1.0.0": + version: 1.0.0 + resolution: "babel-plugin-react-compiler@npm:1.0.0" + dependencies: + "@babel/types": "npm:^7.26.0" + checksum: 10c0/9406267ada8d7dbdfe8906b40ecadb816a5f4cee2922bee23f7729293b369624ee135b5a9b0f263851c263c9787522ac5d97016c9a2b82d1668300e42b18aff8 + languageName: node + linkType: hard + +"babel-plugin-react-native-web@npm:~0.21.0": + version: 0.21.2 + resolution: "babel-plugin-react-native-web@npm:0.21.2" + checksum: 10c0/45fa9b2fce90cb0d962bbc9c665e944ef6720f5740a573d457adf8e2881bd4112396922d5d5c0ab7cfc706f0c457e3edebddc55289d30924e1f42b4b7d849b8e languageName: node linkType: hard @@ -10005,7 +10027,7 @@ __metadata: languageName: node linkType: hard -"babel-plugin-syntax-hermes-parser@npm:0.25.1, babel-plugin-syntax-hermes-parser@npm:^0.25.1": +"babel-plugin-syntax-hermes-parser@npm:0.25.1": version: 0.25.1 resolution: "babel-plugin-syntax-hermes-parser@npm:0.25.1" dependencies: @@ -10014,6 +10036,24 @@ __metadata: languageName: node linkType: hard +"babel-plugin-syntax-hermes-parser@npm:0.32.0": + version: 0.32.0 + resolution: "babel-plugin-syntax-hermes-parser@npm:0.32.0" + dependencies: + hermes-parser: "npm:0.32.0" + checksum: 10c0/2e5aad897d4abd643d33329814ed7adb301047890a8a4325ef140da86e377a1127f1ce6af4064526e5cb603c16d3d3e15784998df4095f1385e7f4e8ca53f03e + languageName: node + linkType: hard + +"babel-plugin-syntax-hermes-parser@npm:^0.32.0": + version: 0.32.1 + resolution: "babel-plugin-syntax-hermes-parser@npm:0.32.1" + dependencies: + hermes-parser: "npm:0.32.1" + checksum: 10c0/b254a2a324cf823c9ec749de0019cf787d59102e9bdd79fc687937e631574ba44f7d249954e284997f1ada1a2b9a1ffa87bc10b16f7e81869b767f99a978b2cf + languageName: node + linkType: hard + "babel-plugin-transform-flow-enums@npm:^0.0.2": version: 0.0.2 resolution: "babel-plugin-transform-flow-enums@npm:0.0.2" @@ -10048,14 +10088,16 @@ __metadata: languageName: node linkType: hard -"babel-preset-expo@npm:~13.2.4": - version: 13.2.4 - resolution: "babel-preset-expo@npm:13.2.4" +"babel-preset-expo@npm:~55.0.13": + version: 55.0.13 + resolution: "babel-preset-expo@npm:55.0.13" dependencies: + "@babel/generator": "npm:^7.20.5" "@babel/helper-module-imports": "npm:^7.25.9" "@babel/plugin-proposal-decorators": "npm:^7.12.9" "@babel/plugin-proposal-export-default-from": "npm:^7.24.7" "@babel/plugin-syntax-export-default-from": "npm:^7.24.7" + "@babel/plugin-transform-class-static-block": "npm:^7.27.1" "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9" "@babel/plugin-transform-flow-strip-types": "npm:^7.25.2" "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" @@ -10066,19 +10108,26 @@ __metadata: "@babel/plugin-transform-runtime": "npm:^7.24.7" "@babel/preset-react": "npm:^7.22.15" "@babel/preset-typescript": "npm:^7.23.0" - "@react-native/babel-preset": "npm:0.79.6" - babel-plugin-react-native-web: "npm:~0.19.13" - babel-plugin-syntax-hermes-parser: "npm:^0.25.1" + "@react-native/babel-preset": "npm:0.83.4" + babel-plugin-react-compiler: "npm:^1.0.0" + babel-plugin-react-native-web: "npm:~0.21.0" + babel-plugin-syntax-hermes-parser: "npm:^0.32.0" babel-plugin-transform-flow-enums: "npm:^0.0.2" debug: "npm:^4.3.4" - react-refresh: "npm:^0.14.2" resolve-from: "npm:^5.0.0" peerDependencies: - babel-plugin-react-compiler: ^19.0.0-beta-e993439-20250405 + "@babel/runtime": ^7.20.0 + expo: "*" + expo-widgets: ^55.0.8 + react-refresh: ">=0.14.0 <1.0.0" peerDependenciesMeta: - babel-plugin-react-compiler: + "@babel/runtime": optional: true - checksum: 10c0/d50cf31c89484073930e205b04a439d52b870a88e6ba5256e6ab3a1c722638c58761518d634ad99e44a1105f61ab685d0e451d1de8b89670b259ff18c1f8eadc + expo: + optional: true + expo-widgets: + optional: true + checksum: 10c0/458b22d04634a87fe0f10d3a96515eb948a634a41a1981d0775d8a34f030dcce5511ead42ab11d9ceaf9ee2343afc8a603360f9b42333ef64ca081b5e7bd076a languageName: node linkType: hard @@ -10108,13 +10157,29 @@ __metadata: languageName: node linkType: hard -"base64-js@npm:^1.2.3, base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": +"balanced-match@npm:^4.0.2": + version: 4.0.4 + resolution: "balanced-match@npm:4.0.4" + checksum: 10c0/07e86102a3eb2ee2a6a1a89164f29d0dbaebd28f2ca3f5ca786f36b8b23d9e417eb3be45a4acf754f837be5ac0a2317de90d3fcb7f4f4dc95720a1f36b26a17b + languageName: node + linkType: hard + +"base64-js@npm:^1.5.1": version: 1.5.1 resolution: "base64-js@npm:1.5.1" checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf languageName: node linkType: hard +"baseline-browser-mapping@npm:^2.10.12": + version: 2.10.13 + resolution: "baseline-browser-mapping@npm:2.10.13" + bin: + baseline-browser-mapping: dist/cli.cjs + checksum: 10c0/3296604492f600927a9f519c81164522ac26456e63eb7b6816e39bfbb184494b48c58490639f2c0e35be97969d3a03613fddddbfdd3074710592369ed36957d5 + languageName: node + linkType: hard + "baseline-browser-mapping@npm:^2.9.0": version: 2.10.0 resolution: "baseline-browser-mapping@npm:2.10.0" @@ -10225,6 +10290,15 @@ __metadata: languageName: node linkType: hard +"brace-expansion@npm:^5.0.5": + version: 5.0.5 + resolution: "brace-expansion@npm:5.0.5" + dependencies: + balanced-match: "npm:^4.0.2" + checksum: 10c0/4d238e14ed4f5cc9c07285550a41cef23121ca08ba99fa9eb5b55b580dcb6bf868b8210aa10526bdc9f8dc97f33ca2a7259039c4cc131a93042beddb424c48e3 + languageName: node + linkType: hard + "braces@npm:^3.0.3, braces@npm:~3.0.2": version: 3.0.3 resolution: "braces@npm:3.0.3" @@ -10248,6 +10322,21 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.25.0": + version: 4.28.2 + resolution: "browserslist@npm:4.28.2" + dependencies: + baseline-browser-mapping: "npm:^2.10.12" + caniuse-lite: "npm:^1.0.30001782" + electron-to-chromium: "npm:^1.5.328" + node-releases: "npm:^2.0.36" + update-browserslist-db: "npm:^1.2.3" + bin: + browserslist: cli.js + checksum: 10c0/c0228b6330f785b7fa59d2d360124ec6d9322f96ed9f3ee1f873e33ecc9503a6f0ffc3b71191a28c4ff6e930b753b30043da1c33844a9548f3018d491f09ce60 + languageName: node + linkType: hard + "browserslist@npm:^4.25.1": version: 4.25.1 resolution: "browserslist@npm:4.25.1" @@ -10300,16 +10389,6 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^5.4.3": - version: 5.7.1 - resolution: "buffer@npm:5.7.1" - dependencies: - base64-js: "npm:^1.3.1" - ieee754: "npm:^1.1.13" - checksum: 10c0/27cac81cff434ed2876058d72e7c4789d11ff1120ef32c9de48f59eab58179b66710c488987d295ae89a228f835fc66d088652dffeb8e3ba8659f80eb091d55e - languageName: node - linkType: hard - "builtin-modules@npm:^3.3.0": version: 3.3.0 resolution: "builtin-modules@npm:3.3.0" @@ -10370,7 +10449,7 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.7, call-bind@npm:^1.0.8": +"call-bind@npm:^1.0.7, call-bind@npm:^1.0.8": version: 1.0.8 resolution: "call-bind@npm:1.0.8" dependencies: @@ -10466,6 +10545,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001782": + version: 1.0.30001784 + resolution: "caniuse-lite@npm:1.0.30001784" + checksum: 10c0/d6ff48177e48819a9041edab27d1ce9089b1ab9ba76f681b4925710dba5b00ff0347f70c6a99269d97fddc59e9f6947d219155b6bf4c1da9dd642503a03e5ce4 + languageName: node + linkType: hard + "chai@npm:^5.2.0": version: 5.2.0 resolution: "chai@npm:5.2.0" @@ -10762,13 +10848,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^4.0.0": - version: 4.1.1 - resolution: "commander@npm:4.1.1" - checksum: 10c0/84a76c08fe6cc08c9c93f62ac573d2907d8e79138999312c92d4155bc2325d487d64d13f669b2000c9f8caf70493c1be2dac74fec3c51d5a04f8bc3ae1830bab - languageName: node - linkType: hard - "commander@npm:^6.2.0": version: 6.2.1 resolution: "commander@npm:6.2.1" @@ -10969,13 +11048,6 @@ __metadata: languageName: node linkType: hard -"crypto-random-string@npm:^2.0.0": - version: 2.0.0 - resolution: "crypto-random-string@npm:2.0.0" - checksum: 10c0/288589b2484fe787f9e146f56c4be90b940018f17af1b152e4dde12309042ff5a2bf69e949aab8b8ac253948381529cc6f3e5a2427b73643a71ff177fa122b37 - languageName: node - linkType: hard - "crypto@npm:^1.0.1": version: 1.0.1 resolution: "crypto@npm:1.0.1" @@ -11075,6 +11147,13 @@ __metadata: languageName: node linkType: hard +"csstype@npm:^3.2.2": + version: 3.2.3 + resolution: "csstype@npm:3.2.3" + checksum: 10c0/cd29c51e70fa822f1cecd8641a1445bed7063697469d35633b516e60fe8c1bde04b08f6c5b6022136bb669b64c63d4173af54864510fbb4ee23281801841a3ce + languageName: node + linkType: hard + "damerau-levenshtein@npm:^1.0.8": version: 1.0.8 resolution: "damerau-levenshtein@npm:1.0.8" @@ -11310,15 +11389,6 @@ __metadata: languageName: node linkType: hard -"detect-libc@npm:^1.0.3": - version: 1.0.3 - resolution: "detect-libc@npm:1.0.3" - bin: - detect-libc: ./bin/detect-libc.js - checksum: 10c0/4da0deae9f69e13bc37a0902d78bf7169480004b1fed3c19722d56cff578d16f0e11633b7fbf5fb6249181236c72e90024cbd68f0b9558ae06e281f47326d50d - languageName: node - linkType: hard - "detect-libc@npm:^2.0.3, detect-libc@npm:^2.0.4": version: 2.0.4 resolution: "detect-libc@npm:2.0.4" @@ -11349,6 +11419,13 @@ __metadata: languageName: node linkType: hard +"dnssd-advertise@npm:^1.1.3": + version: 1.1.4 + resolution: "dnssd-advertise@npm:1.1.4" + checksum: 10c0/7a875a206f1d08ad74683b73b2399361b4cc15ff855f4d7831c40375e0f582609ca35a0b7dc55f5b8055efe615fa70d80e057a32e81278d97a81ed362149b3e3 + languageName: node + linkType: hard + "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -11450,15 +11527,6 @@ __metadata: languageName: node linkType: hard -"dotenv-expand@npm:~11.0.6": - version: 11.0.7 - resolution: "dotenv-expand@npm:11.0.7" - dependencies: - dotenv: "npm:^16.4.5" - checksum: 10c0/d80b8a7be085edf351270b96ac0e794bc3ddd7f36157912939577cb4d33ba6492ebee349d59798b71b90e36f498d24a2a564fb4aa00073b2ef4c2a3a49c467b1 - languageName: node - linkType: hard - "dotenv@npm:16.0.3": version: 16.0.3 resolution: "dotenv@npm:16.0.3" @@ -11466,20 +11534,6 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^16.4.5": - version: 16.5.0 - resolution: "dotenv@npm:16.5.0" - checksum: 10c0/5bc94c919fbd955bf0ba44d33922a1e93d1078e64a1db5c30faeded1d996e7a83c55332cb8ea4fae5a9ca4d0be44cbceb95c5811e70f9f095298df09d1997dd9 - languageName: node - linkType: hard - -"dotenv@npm:~16.4.5": - version: 16.4.7 - resolution: "dotenv@npm:16.4.7" - checksum: 10c0/be9f597e36a8daf834452daa1f4cc30e5375a5968f98f46d89b16b983c567398a330580c88395069a77473943c06b877d1ca25b4afafcdd6d4adb549e8293462 - languageName: node - linkType: hard - "dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": version: 1.0.1 resolution: "dunder-proto@npm:1.0.1" @@ -11535,6 +11589,13 @@ __metadata: languageName: node linkType: hard +"electron-to-chromium@npm:^1.5.328": + version: 1.5.330 + resolution: "electron-to-chromium@npm:1.5.330" + checksum: 10c0/6cffafdc0b4bcdd9f46191aa568ebdef8ba0d97c346161462190ae3a94e6a7ad358be95acf980d4e2dd462d8ac329d060ac314e607f7593391d37de9d1fa79c6 + languageName: node + linkType: hard + "emoji-regex@npm:^8.0.0": version: 8.0.0 resolution: "emoji-regex@npm:8.0.0" @@ -11620,13 +11681,6 @@ __metadata: languageName: node linkType: hard -"env-editor@npm:^0.4.1": - version: 0.4.2 - resolution: "env-editor@npm:0.4.2" - checksum: 10c0/edb33583b0ae5197535905cbcefca424796f6afec799604f7578428ee523245edcd7df48d582fdab67dbcc697ed39070057f512e72f94c91ceefdcb432f5eadb - languageName: node - linkType: hard - "env-paths@npm:^2.2.0": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -12070,21 +12124,21 @@ __metadata: languageName: node linkType: hard -"eslint-config-expo@npm:~9.2.0": - version: 9.2.0 - resolution: "eslint-config-expo@npm:9.2.0" +"eslint-config-expo@npm:~55.0.0": + version: 55.0.0 + resolution: "eslint-config-expo@npm:55.0.0" dependencies: "@typescript-eslint/eslint-plugin": "npm:^8.18.2" "@typescript-eslint/parser": "npm:^8.18.2" eslint-import-resolver-typescript: "npm:^3.6.3" - eslint-plugin-expo: "npm:^0.1.4" + eslint-plugin-expo: "npm:^1.0.0" eslint-plugin-import: "npm:^2.30.0" eslint-plugin-react: "npm:^7.37.3" eslint-plugin-react-hooks: "npm:^5.1.0" globals: "npm:^16.0.0" peerDependencies: eslint: ">=8.10" - checksum: 10c0/de9ce38927038f6b2baf9e3e1f68bd0e7db3950e5fbf90f8ee45a1278da299758e269672e8e5d488866c4eb5ef85017134912da1e60c79a85bc30b7b107474f0 + checksum: 10c0/7e97aa24142b3cd9649dcd995472b6c05228f09dbb370018fea5c2c9a85e60a73510e69e16ed1a1f986b077a1d05886725768111dab1edf96c020a9e4146f478 languageName: node linkType: hard @@ -12265,16 +12319,16 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-expo@npm:^0.1.4": - version: 0.1.4 - resolution: "eslint-plugin-expo@npm:0.1.4" +"eslint-plugin-expo@npm:^1.0.0": + version: 1.0.0 + resolution: "eslint-plugin-expo@npm:1.0.0" dependencies: "@typescript-eslint/types": "npm:^8.29.1" "@typescript-eslint/utils": "npm:^8.29.1" eslint: "npm:^9.24.0" peerDependencies: eslint: ">=8.10" - checksum: 10c0/b7d57edd64f96d32b5df91da88b55443e8af0f866a09a450f3f92cb245a08bb3d4506ea4b7820b072d6a9c2a92ed9a9877f9b5faf4660e242b17758211cbe8fc + checksum: 10c0/007eb661caeadb668bbc5f96141cb080373e19391fd9c4255dfac1208be4898acc5160dc3e4755eca75fd3368fd090afd4a79c9d206728832dceb30bec80cfc0 languageName: node linkType: hard @@ -12827,13 +12881,6 @@ __metadata: languageName: node linkType: hard -"exec-async@npm:^2.2.0": - version: 2.2.0 - resolution: "exec-async@npm:2.2.0" - checksum: 10c0/9c70693a3d9f53e19cc8ecf26c3b3fc7125bf40051a71cba70d71161d065a6091d3ab1924c56ac1edd68cb98b9fbef29f83e45dcf67ee6b6c4826e0f898ac039 - languageName: node - linkType: hard - "expect-type@npm:^1.2.1": version: 1.2.1 resolution: "expect-type@npm:1.2.1" @@ -12841,98 +12888,112 @@ __metadata: languageName: node linkType: hard -"expo-application@npm:~6.1.5": - version: 6.1.5 - resolution: "expo-application@npm:6.1.5" +"expo-application@npm:~55.0.10": + version: 55.0.10 + resolution: "expo-application@npm:55.0.10" peerDependencies: expo: "*" - checksum: 10c0/c4fa0bddfc911af17055334558314d819d403efa5db22b05cffc44c91eef38e9fb57b4a5aae35378523c59847189a7ca09ad9e5370ee5a3b0f23c1c5146c8683 + checksum: 10c0/96d3c951d4e1622e030f974e88c401995144acd0b991c9ce343f44b145510cd9b7b06d1bcb25f043b7a36fd0ed23e19c8f27f03964fc3e0b8929a5a2d39df8e4 languageName: node linkType: hard -"expo-asset@npm:~11.1.7": - version: 11.1.7 - resolution: "expo-asset@npm:11.1.7" +"expo-asset@npm:~55.0.10": + version: 55.0.10 + resolution: "expo-asset@npm:55.0.10" dependencies: - "@expo/image-utils": "npm:^0.7.6" - expo-constants: "npm:~17.1.7" + "@expo/image-utils": "npm:^0.8.12" + expo-constants: "npm:~55.0.9" peerDependencies: expo: "*" react: "*" react-native: "*" - checksum: 10c0/32d1ccd630c7e62ec4b71cf03e2414fb389ca5d6383a5243ff9efe6ac71061ea626aa7f1503ccd3187d62451165034265b2ed04e508626710f810c0d0246a81d + checksum: 10c0/9e259620dfca1801719cb42de95b91924dd8d760ac2aea51b8454949d158dc974b91ab6a1306bc7267db0462b9fcdcc03dd834ad7ba5836e38433619d1ca49c0 languageName: node linkType: hard -"expo-blur@npm:~14.1.5": - version: 14.1.5 - resolution: "expo-blur@npm:14.1.5" +"expo-blur@npm:~55.0.10": + version: 55.0.10 + resolution: "expo-blur@npm:55.0.10" peerDependencies: expo: "*" react: "*" react-native: "*" - checksum: 10c0/4ffe9014219f23d53f66bc61ea5d00b74a012d120f94a810c71cbdd34901900282a40f7d0636877cd261bc7ff8a3db20da2e0be9393b1a950b8fc677e285bf65 + checksum: 10c0/8f6bd67fe46ed67601621b01b8d3bde0d670f5db28189919c9350b7d6302037995a236a8c38af4517352a70630f0646a6d97166cd5b8b3b065661f4f0398d3e6 languageName: node linkType: hard -"expo-constants@npm:~17.1.7": - version: 17.1.7 - resolution: "expo-constants@npm:17.1.7" +"expo-constants@npm:~55.0.9": + version: 55.0.9 + resolution: "expo-constants@npm:55.0.9" dependencies: - "@expo/config": "npm:~11.0.12" - "@expo/env": "npm:~1.0.7" + "@expo/config": "npm:~55.0.10" + "@expo/env": "npm:~2.1.1" peerDependencies: expo: "*" react-native: "*" - checksum: 10c0/84ef3b9de11aa7b55cf5867213b7211bcee982eda0a630a657e22671be2d85bed7f3f092acdecc5bb6bc940c611212657532a6e53f62b384414988d988e96a26 + checksum: 10c0/7f4fcd7283521dd2cd664a01ca014d70aa090ec877072327c621b006023bc3ca9196e82f55618bf200df012801f4cb613f3396e8ba7ca6eb4c61864cfb890682 languageName: node linkType: hard -"expo-device@npm:^7.1.4": - version: 7.1.4 - resolution: "expo-device@npm:7.1.4" +"expo-device@npm:~55.0.10": + version: 55.0.10 + resolution: "expo-device@npm:55.0.10" dependencies: ua-parser-js: "npm:^0.7.33" peerDependencies: expo: "*" - checksum: 10c0/e31c952251b36d698185d1b2c1799d4626a863896e650d31232d9a47aacc1387e01b5f33b5b2b4fe388e81a9287e2c486157644479d1bbf580e8050818aaff81 + checksum: 10c0/bf5bbb17b10ba64724a5a18b88f904b2433035587507d5c059bf5ac1ce94f821024d69c3fcaceb471a46d5a4d829fb02784bded9b40bb7faa7dde5edfae3cf19 languageName: node linkType: hard -"expo-file-system@npm:~18.1.11": - version: 18.1.11 - resolution: "expo-file-system@npm:18.1.11" +"expo-file-system@npm:~55.0.12": + version: 55.0.12 + resolution: "expo-file-system@npm:55.0.12" peerDependencies: expo: "*" react-native: "*" - checksum: 10c0/e7c4c02acfbb7c5b6f8afff7e010af28ca7112c2ab0e7baddab394b275edc363d0587aedbb1996058a65e2d1e8aba0074b49007cad37d10a4b5ef2987b7f6bdf + checksum: 10c0/e099a7c1491348db9dacf9593322c0dd7b42f30883eff9a854fb17f6a0796e684d3a54b4e03a6d19fd3caf5f1d5de8f33d5d2774d36f57e2a0297eeff5a7f7a4 languageName: node linkType: hard -"expo-font@npm:~13.3.2": - version: 13.3.2 - resolution: "expo-font@npm:13.3.2" +"expo-font@npm:~55.0.4": + version: 55.0.4 + resolution: "expo-font@npm:55.0.4" dependencies: fontfaceobserver: "npm:^2.1.0" peerDependencies: expo: "*" react: "*" - checksum: 10c0/00711fbdb380f076594b43caddf06ad6f70a5261caaccce564dabf01a02054f89987ac0367c96ad8cb38b4edbf904e99839ab2a446d7b57e7e84b29145da4ccd + react-native: "*" + checksum: 10c0/6584feec71a153324cf8c60d1093092976f709b7dcf122f01bbe101bafa594cd38eddde831235ea1bf34cf01b8001fc0dd8a8faa24c03805aea5c2735a681217 languageName: node linkType: hard -"expo-haptics@npm:~14.1.4": - version: 14.1.4 - resolution: "expo-haptics@npm:14.1.4" +"expo-glass-effect@npm:^55.0.8": + version: 55.0.8 + resolution: "expo-glass-effect@npm:55.0.8" peerDependencies: expo: "*" - checksum: 10c0/c8d4dd80fec8949b39af27b718383526b268b56cae4465af57ea7c5d470b34933c03574dc9c0baca06cf81018cc1eb63671a84a273abca685efb02cfd1604e3e + react: "*" + react-native: "*" + checksum: 10c0/91848b5040ac7a7bfe1f58e549c0bcb1af0c729b9fabee20eac439178956d8a8dad3d3a7d4bb9ec9e8e92d973b728d120248a7d826de4a0ddfa50e43a77ecf37 languageName: node linkType: hard -"expo-image@npm:~2.4.0": - version: 2.4.0 - resolution: "expo-image@npm:2.4.0" +"expo-haptics@npm:~55.0.9": + version: 55.0.9 + resolution: "expo-haptics@npm:55.0.9" + peerDependencies: + expo: "*" + checksum: 10c0/dc0e54069095ce43b01c839914bb21cbd3e0854d9fa251d04507b2bef41a8dcdafd8a0fa0e8631765802f1b63d6807bcf9e0f2f52566fca6c942317d785ec490 + languageName: node + linkType: hard + +"expo-image@npm:^55.0.6, expo-image@npm:~55.0.6": + version: 55.0.6 + resolution: "expo-image@npm:55.0.6" + dependencies: + sf-symbols-typescript: "npm:^2.2.0" peerDependencies: expo: "*" react: "*" @@ -12941,156 +13002,192 @@ __metadata: peerDependenciesMeta: react-native-web: optional: true - checksum: 10c0/820499d8ce633566ee07ff75f0d90f205c59ad1dd67135ada54ccf453c65227eaf95158be9327bac290bcb829b030bed65f7f5d7faf9e78cafafd76c92223ef8 + checksum: 10c0/1c90cbd4bfd440b060df67a325ff3b40bdc1a83ac0b297e0a68992c327fa439b38eaf73cbce1f7f4116be7cc6aa33076c61a65d1bcdb8a3c65210177fde3a64c languageName: node linkType: hard -"expo-keep-awake@npm:~14.1.4": - version: 14.1.4 - resolution: "expo-keep-awake@npm:14.1.4" +"expo-keep-awake@npm:~55.0.4": + version: 55.0.4 + resolution: "expo-keep-awake@npm:55.0.4" peerDependencies: expo: "*" react: "*" - checksum: 10c0/9d1993f7b17e6c36d707501ba9d983fe7e640317af7f2ecee17255f2c8c7bae39bdb3dfffcc67afcd36457bb60a6799dbaa2414922507ef01298cbe34e8eae8e + checksum: 10c0/a8bdd4c331086ec0cb2906aff11f2c6ff6acb852bde6db86af52f39391261bbe041f2692ae356ab00b33bec1f5aee29bdc24d2d57d6508d8e74a4b75a794acc5 languageName: node linkType: hard -"expo-linking@npm:~7.1.7": - version: 7.1.7 - resolution: "expo-linking@npm:7.1.7" +"expo-linking@npm:~55.0.9": + version: 55.0.9 + resolution: "expo-linking@npm:55.0.9" dependencies: - expo-constants: "npm:~17.1.7" + expo-constants: "npm:~55.0.9" invariant: "npm:^2.2.4" peerDependencies: react: "*" react-native: "*" - checksum: 10c0/4b4ec130d768beb4cecf85a33578e3eca1a69428a212ab7470ea1b1b7ff370607576832efbd7c3b5c047fb6d034a577aced42fd588cbeb46782e22ce2851542e + checksum: 10c0/e3d2658741a789145db1286d04148716bb758f3a7a6746aca34fc92e21473ef0df10088a50dbbaf3481516c15ae6a698dde8ef4f91b25a4a2e1abd01e15eeed8 languageName: node linkType: hard -"expo-modules-autolinking@npm:2.1.14": - version: 2.1.14 - resolution: "expo-modules-autolinking@npm:2.1.14" +"expo-modules-autolinking@npm:55.0.12": + version: 55.0.12 + resolution: "expo-modules-autolinking@npm:55.0.12" dependencies: + "@expo/require-utils": "npm:^55.0.3" "@expo/spawn-async": "npm:^1.7.2" chalk: "npm:^4.1.0" commander: "npm:^7.2.0" - find-up: "npm:^5.0.0" - glob: "npm:^10.4.2" - require-from-string: "npm:^2.0.2" - resolve-from: "npm:^5.0.0" bin: expo-modules-autolinking: bin/expo-modules-autolinking.js - checksum: 10c0/3d416a5ca69c95f462f6aa138ebc5ef6ea4f57e668f773235576f39f21285cb78c9a9b6b499603ec578903922f4e1c6aef62f3cc3156a1525f4af863cd3c3532 + checksum: 10c0/fed9c401e762b059527fbd57480dabd94224b80f19fe2edff17d918ace93722920f9cfbf1a083aa25639ce3e25fcbcdcacde18f50e8710e7f611caa8686ddff9 languageName: node linkType: hard -"expo-modules-core@npm:2.5.0": - version: 2.5.0 - resolution: "expo-modules-core@npm:2.5.0" +"expo-modules-core@npm:55.0.18": + version: 55.0.18 + resolution: "expo-modules-core@npm:55.0.18" dependencies: invariant: "npm:^2.2.4" - checksum: 10c0/9586d80644278fa4c15cc1e85f403934a07936574c050623b26a0dec8d8cbc8776ed68e988510621495d1227f52a127938a2aad2c997d05a449d0f1fd009da86 + peerDependencies: + react: "*" + react-native: "*" + checksum: 10c0/3ac2607e6ed05d62e85d1932cc5bf29ad824713c6c44d0c12a666ed7219e33c202af04fd6a01d8b22cffdb4ecce00e112fd2bfd49a0764f0fa1b80117b24d465 languageName: node linkType: hard -"expo-notifications@npm:^0.31.4": - version: 0.31.4 - resolution: "expo-notifications@npm:0.31.4" +"expo-notifications@npm:~55.0.14": + version: 55.0.14 + resolution: "expo-notifications@npm:55.0.14" dependencies: - "@expo/image-utils": "npm:^0.7.6" - "@ide/backoff": "npm:^1.0.0" + "@expo/image-utils": "npm:^0.8.12" abort-controller: "npm:^3.0.0" - assert: "npm:^2.0.0" badgin: "npm:^1.1.5" - expo-application: "npm:~6.1.5" - expo-constants: "npm:~17.1.7" + expo-application: "npm:~55.0.10" + expo-constants: "npm:~55.0.9" peerDependencies: expo: "*" react: "*" react-native: "*" - checksum: 10c0/284d49a7541afde80d2ef81dfdb89d9d7f15facd92c8bab02a6020a6d729077bf2a3cbc7d075546f0664b390fcd55a3e667eee1bb78476346db093b170a3637d + checksum: 10c0/471cdafc5142eca3cb6d9d1d76dde77ed37493fc97a4585aad2c6737ba6ff954929507f6fde267663cde54e6378d9384865950ee97ceb543372e1b3928c4dbff languageName: node linkType: hard -"expo-router@npm:~5.1.6": - version: 5.1.6 - resolution: "expo-router@npm:5.1.6" - dependencies: - "@expo/metro-runtime": "npm:5.0.4" - "@expo/schema-utils": "npm:^0.1.0" - "@expo/server": "npm:^0.6.3" - "@radix-ui/react-slot": "npm:1.2.0" - "@react-navigation/bottom-tabs": "npm:^7.3.10" - "@react-navigation/native": "npm:^7.1.6" - "@react-navigation/native-stack": "npm:^7.3.10" +"expo-router@npm:~55.0.8": + version: 55.0.8 + resolution: "expo-router@npm:55.0.8" + dependencies: + "@expo/metro-runtime": "npm:^55.0.7" + "@expo/schema-utils": "npm:^55.0.2" + "@radix-ui/react-slot": "npm:^1.2.0" + "@radix-ui/react-tabs": "npm:^1.1.12" + "@react-navigation/bottom-tabs": "npm:^7.15.5" + "@react-navigation/native": "npm:^7.1.33" + "@react-navigation/native-stack": "npm:^7.14.5" client-only: "npm:^0.0.1" + debug: "npm:^4.3.4" + escape-string-regexp: "npm:^4.0.0" + expo-glass-effect: "npm:^55.0.8" + expo-image: "npm:^55.0.6" + expo-server: "npm:^55.0.6" + expo-symbols: "npm:^55.0.5" + fast-deep-equal: "npm:^3.1.3" invariant: "npm:^2.2.4" + nanoid: "npm:^3.3.8" + query-string: "npm:^7.1.3" react-fast-compare: "npm:^3.2.2" - react-native-is-edge-to-edge: "npm:^1.1.6" + react-native-is-edge-to-edge: "npm:^1.2.1" semver: "npm:~7.6.3" server-only: "npm:^0.0.1" + sf-symbols-typescript: "npm:^2.1.0" shallowequal: "npm:^1.1.0" + use-latest-callback: "npm:^0.2.1" + vaul: "npm:^1.1.2" peerDependencies: - "@react-navigation/drawer": ^7.3.9 + "@expo/log-box": 55.0.8 + "@expo/metro-runtime": ^55.0.7 + "@react-navigation/drawer": ^7.9.4 + "@testing-library/react-native": ">= 13.2.0" expo: "*" - expo-constants: "*" - expo-linking: "*" + expo-constants: ^55.0.9 + expo-linking: ^55.0.9 + react: "*" + react-dom: "*" + react-native: "*" + react-native-gesture-handler: "*" react-native-reanimated: "*" - react-native-safe-area-context: "*" + react-native-safe-area-context: ">= 5.4.0" react-native-screens: "*" + react-native-web: "*" + react-server-dom-webpack: ~19.0.4 || ~19.1.5 || ~19.2.4 peerDependenciesMeta: "@react-navigation/drawer": optional: true - "@testing-library/jest-native": + "@testing-library/react-native": + optional: true + react-dom: + optional: true + react-native-gesture-handler: optional: true react-native-reanimated: optional: true - checksum: 10c0/3196aa006e17eb4aa66aab77fc40526364afbab4a16228c09cc87b6fb6793990141b4f6a8d72957c690e0b3b89b08215857e301d04f77fb0a611d7491d629218 + react-native-web: + optional: true + react-server-dom-webpack: + optional: true + checksum: 10c0/f393109bfa09fe14918be7816735ec73dd43d458fb05061db866afe5189037735403087f4877cff6583c5a2edf81b69082c41d3a4a1ef6cdbef851fd3163e2bd + languageName: node + linkType: hard + +"expo-server@npm:^55.0.6": + version: 55.0.6 + resolution: "expo-server@npm:55.0.6" + checksum: 10c0/c8918cd5f09d6cbda028b527edcc6dbc8df932e3def085ef5de063678164d8f048e1fdb975c641f9d7ff2552394fb3acb34ffd58ac214f302eb239210c60fdc4 languageName: node linkType: hard -"expo-splash-screen@npm:~0.30.10": - version: 0.30.10 - resolution: "expo-splash-screen@npm:0.30.10" +"expo-splash-screen@npm:~55.0.13": + version: 55.0.13 + resolution: "expo-splash-screen@npm:55.0.13" dependencies: - "@expo/prebuild-config": "npm:^9.0.10" + "@expo/prebuild-config": "npm:^55.0.11" peerDependencies: expo: "*" - checksum: 10c0/27cac5971711a84bd81bb001e6f19791fb2ac457d8f9e5e207fb93e41fc020e238ef675b64ea82b0e40d3df70f20b44133bce7912a02bb883468278ac252015a + checksum: 10c0/e61a588326b8336bb63a06ebb8ca6f18c0d3ee9f2cb12f3c00b04bb2b1318e6bc0b90159c0dd02e654da9757db4603373845353aa77c632fb291c1149398c76f languageName: node linkType: hard -"expo-status-bar@npm:~2.2.3": - version: 2.2.3 - resolution: "expo-status-bar@npm:2.2.3" +"expo-status-bar@npm:~55.0.4": + version: 55.0.4 + resolution: "expo-status-bar@npm:55.0.4" dependencies: - react-native-edge-to-edge: "npm:1.6.0" - react-native-is-edge-to-edge: "npm:^1.1.6" + react-native-is-edge-to-edge: "npm:^1.2.1" peerDependencies: react: "*" react-native: "*" - checksum: 10c0/8deee621bd94336c9f9bab500f199f6ec5320eaf448c3e4b26e762cf0d0ad34d08ccae9753124c7e966c92cb370eb7440a0a8afba33e904f4a9964e5da1346d0 + checksum: 10c0/80258eb39fa34fec3ee4a6b6e47b224ad1661618876add00d542f797e8db9188753396b77103fac7bd4a1d9c473942071aab0b7a3045fdffd24c3af467b59ffb languageName: node linkType: hard -"expo-symbols@npm:~0.4.5": - version: 0.4.5 - resolution: "expo-symbols@npm:0.4.5" +"expo-symbols@npm:^55.0.5, expo-symbols@npm:~55.0.5": + version: 55.0.5 + resolution: "expo-symbols@npm:55.0.5" dependencies: + "@expo-google-fonts/material-symbols": "npm:^0.4.1" sf-symbols-typescript: "npm:^2.0.0" peerDependencies: expo: "*" + expo-font: "*" + react: "*" react-native: "*" - checksum: 10c0/9a66e0b7b8a1a50df38adc83d1b19b9dce13abde90692ceabcdc11efba716648c6eb37ea9bf11e5d76f2aaf89b80f40679aafca339877457747984e77317ed4d + checksum: 10c0/9b8b43dd8604db686a2b6ee1c287174509f6c470a6b2278316e24a967cee5d7a0d08aef72943c955f3e347f3ad1ee45b7b3fbe39e1bd50fa4bbdf11a892aee0b languageName: node linkType: hard -"expo-system-ui@npm:~5.0.11": - version: 5.0.11 - resolution: "expo-system-ui@npm:5.0.11" +"expo-system-ui@npm:~55.0.11": + version: 55.0.11 + resolution: "expo-system-ui@npm:55.0.11" dependencies: - "@react-native/normalize-colors": "npm:0.79.6" + "@react-native/normalize-colors": "npm:0.83.4" debug: "npm:^4.3.2" peerDependencies: expo: "*" @@ -13099,41 +13196,47 @@ __metadata: peerDependenciesMeta: react-native-web: optional: true - checksum: 10c0/e172066d8abbd72146dab115b10670e6aa1b82e95d221050fe33de8229b8c3ff5da0cd0964d1ec0c5886301a6c135d946aaa6e1d83274d566792bcc7428eb2f8 + checksum: 10c0/c5b722051c243190862612b2cd5c115e629ed92f2aaafedba775d54de62ca3833d7e327e191f5c8880fbe88358516fd634a07cf309d7a7f7b605cbe982b67d91 languageName: node linkType: hard -"expo-web-browser@npm:~14.2.0": - version: 14.2.0 - resolution: "expo-web-browser@npm:14.2.0" +"expo-web-browser@npm:~55.0.10": + version: 55.0.10 + resolution: "expo-web-browser@npm:55.0.10" peerDependencies: expo: "*" react-native: "*" - checksum: 10c0/82cc8ff11dd680adca3e6a39da89320ef6cb11029a2d0a941419121f83255871a9455f92401531de6c018b1a081f37d0fe52b1eb2a55fbd3854f656c4b313341 + checksum: 10c0/add0775876217761f01fe1be3f83e4a11a0e06f2b68896074c3d9661e53167c5b3cacdbcb25b245272e1ef8b129021cef9a49765c022e6399c261a3412ca4af5 languageName: node linkType: hard -"expo@npm:~53.0.22": - version: 53.0.22 - resolution: "expo@npm:53.0.22" +"expo@npm:~55.0.9": + version: 55.0.9 + resolution: "expo@npm:55.0.9" dependencies: "@babel/runtime": "npm:^7.20.0" - "@expo/cli": "npm:0.24.21" - "@expo/config": "npm:~11.0.13" - "@expo/config-plugins": "npm:~10.1.2" - "@expo/fingerprint": "npm:0.13.4" - "@expo/metro-config": "npm:0.20.17" - "@expo/vector-icons": "npm:^14.0.0" - babel-preset-expo: "npm:~13.2.4" - expo-asset: "npm:~11.1.7" - expo-constants: "npm:~17.1.7" - expo-file-system: "npm:~18.1.11" - expo-font: "npm:~13.3.2" - expo-keep-awake: "npm:~14.1.4" - expo-modules-autolinking: "npm:2.1.14" - expo-modules-core: "npm:2.5.0" - react-native-edge-to-edge: "npm:1.6.0" - whatwg-url-without-unicode: "npm:8.0.0-3" + "@expo/cli": "npm:55.0.19" + "@expo/config": "npm:~55.0.11" + "@expo/config-plugins": "npm:~55.0.7" + "@expo/devtools": "npm:55.0.2" + "@expo/fingerprint": "npm:0.16.6" + "@expo/local-build-cache-provider": "npm:55.0.7" + "@expo/log-box": "npm:55.0.8" + "@expo/metro": "npm:~54.2.0" + "@expo/metro-config": "npm:55.0.11" + "@expo/vector-icons": "npm:^15.0.2" + "@ungap/structured-clone": "npm:^1.3.0" + babel-preset-expo: "npm:~55.0.13" + expo-asset: "npm:~55.0.10" + expo-constants: "npm:~55.0.9" + expo-file-system: "npm:~55.0.12" + expo-font: "npm:~55.0.4" + expo-keep-awake: "npm:~55.0.4" + expo-modules-autolinking: "npm:55.0.12" + expo-modules-core: "npm:55.0.18" + pretty-format: "npm:^29.7.0" + react-refresh: "npm:^0.14.2" + whatwg-url-minimum: "npm:^0.1.1" peerDependencies: "@expo/dom-webview": "*" "@expo/metro-runtime": "*" @@ -13151,7 +13254,7 @@ __metadata: expo: bin/cli expo-modules-autolinking: bin/autolinking fingerprint: bin/fingerprint - checksum: 10c0/e476744d0df61a73d9805836073061146ca309956c78d11287441cecd1592f60776c767a7d4eca921d6ce9d7c702e7ddfc126ce7dcc31a61becf443212272ad8 + checksum: 10c0/16c918df3e43743a9347027bd58de2df112001abeb06e0b0557a136c1ab162bc12c3054aa83fb96e1055c436d30174de9a99ff699a6727b8543a6edfbf413cad languageName: node linkType: hard @@ -13264,6 +13367,15 @@ __metadata: languageName: node linkType: hard +"fb-dotslash@npm:0.5.8": + version: 0.5.8 + resolution: "fb-dotslash@npm:0.5.8" + bin: + dotslash: bin/dotslash + checksum: 10c0/6c693ecb8e61cd8571e0ad6a923e0582cf8e481695e906e17c8e31620402e06f8b80d95111a420d2f62349d9bebc2b820bae14c2c54a814e72abdc710dc1d3ed + languageName: node + linkType: hard + "fb-watchman@npm:^2.0.0": version: 2.0.2 resolution: "fb-watchman@npm:2.0.2" @@ -13319,6 +13431,13 @@ __metadata: languageName: node linkType: hard +"fetch-nodeshim@npm:^0.4.6": + version: 0.4.10 + resolution: "fetch-nodeshim@npm:0.4.10" + checksum: 10c0/73b840b5d1252e82c416b350526ff24f5aebf554bfe911c713a19fbe4ad1218fb4c488f95055362a132f5dd733679c929fbe6a65ee23339592290c4d107ade92 + languageName: node + linkType: hard + "file-entry-cache@npm:^6.0.1": version: 6.0.1 resolution: "file-entry-cache@npm:6.0.1" @@ -13545,13 +13664,6 @@ __metadata: languageName: node linkType: hard -"freeport-async@npm:^2.0.0": - version: 2.0.0 - resolution: "freeport-async@npm:2.0.0" - checksum: 10c0/421828d1a689695b6c8122d310fd8941af99ebe0b5793e3f8d49aa5923ce580b6c4dd6b7470d46983e60839c302f6c793a8541dbab80817396cdde2b04c83c90 - languageName: node - linkType: hard - "fresh@npm:0.5.2": version: 0.5.2 resolution: "fresh@npm:0.5.2" @@ -13779,7 +13891,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.4.1, glob@npm:^10.4.2": +"glob@npm:^10.2.2, glob@npm:^10.4.1": version: 10.4.5 resolution: "glob@npm:10.4.5" dependencies: @@ -13811,6 +13923,17 @@ __metadata: languageName: node linkType: hard +"glob@npm:^13.0.0": + version: 13.0.6 + resolution: "glob@npm:13.0.6" + dependencies: + minimatch: "npm:^10.2.2" + minipass: "npm:^7.1.3" + path-scurry: "npm:^2.0.2" + checksum: 10c0/269c236f11a9b50357fe7a8c6aadac667e01deb5242b19c84975628f05f4438d8ee1354bb62c5d6c10f37fd59911b54d7799730633a2786660d8c69f1d18120a + languageName: node + linkType: hard + "glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.2.0": version: 7.2.3 resolution: "glob@npm:7.2.3" @@ -14003,6 +14126,13 @@ __metadata: languageName: node linkType: hard +"hermes-compiler@npm:0.14.1": + version: 0.14.1 + resolution: "hermes-compiler@npm:0.14.1" + checksum: 10c0/223dc2c58fe7ad89a16519a3179fa924f577b1464fa89e2db7a375ce967d668595a50251e4e5756c7b274b062db7c697fcd601ba5f2e021e2e3557eee536f618 + languageName: node + linkType: hard + "hermes-estree@npm:0.25.1": version: 0.25.1 resolution: "hermes-estree@npm:0.25.1" @@ -14017,6 +14147,27 @@ __metadata: languageName: node linkType: hard +"hermes-estree@npm:0.32.0": + version: 0.32.0 + resolution: "hermes-estree@npm:0.32.0" + checksum: 10c0/3b67d1fe44336240ef7f9c40ecbf363279ba263d51efe120570c3862cc109e652fc09aebddfe6b73d0f0246610bee130e4064c359f1f4cbf002bdb1d99717ef2 + languageName: node + linkType: hard + +"hermes-estree@npm:0.32.1": + version: 0.32.1 + resolution: "hermes-estree@npm:0.32.1" + checksum: 10c0/750d1e26c0df4aae15707765368352c6a34934939df09d96e6d260ee1e1500e753f7a18adac56647ef8ca2057e8f0e5d21ae07b97103b0d9c94d68afee154c5e + languageName: node + linkType: hard + +"hermes-estree@npm:0.33.3": + version: 0.33.3 + resolution: "hermes-estree@npm:0.33.3" + checksum: 10c0/4e04e767a706a93c59d64ef3f114075aeb93b08433655d4f11d310f0785c2a74d5b5041b80bc34d22630dece54865dd93a53fde160d48b8369cfef10dbd0520b + languageName: node + linkType: hard + "hermes-parser@npm:0.25.1": version: 0.25.1 resolution: "hermes-parser@npm:0.25.1" @@ -14035,6 +14186,33 @@ __metadata: languageName: node linkType: hard +"hermes-parser@npm:0.32.0": + version: 0.32.0 + resolution: "hermes-parser@npm:0.32.0" + dependencies: + hermes-estree: "npm:0.32.0" + checksum: 10c0/5902d2c5d347c0629fba07a47eaad5569590ac69bc8bfb2e454e08d2dfbe1ebd989d88518dca2cba64061689b5eac5960ae6bd15a4a66600bbf377498a3234b7 + languageName: node + linkType: hard + +"hermes-parser@npm:0.32.1, hermes-parser@npm:^0.32.0": + version: 0.32.1 + resolution: "hermes-parser@npm:0.32.1" + dependencies: + hermes-estree: "npm:0.32.1" + checksum: 10c0/77dc8b116c51d1b30ba9942629d4965301f2c7fa6a751a1842828d110ce33410daed5755ce8943a110dbfc6a5cafc704ddbfb7559e76b5c3170d2173c513047c + languageName: node + linkType: hard + +"hermes-parser@npm:0.33.3": + version: 0.33.3 + resolution: "hermes-parser@npm:0.33.3" + dependencies: + hermes-estree: "npm:0.33.3" + checksum: 10c0/f7d69de54c77321d8481e37a323bbac01d180ec982275ef8925ceaaf7e501fc3062593e84cf5da50852f36daffb34d0f5d6cbbef079fd0125a7b91c1fe84f225 + languageName: node + linkType: hard + "hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.1": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" @@ -14162,13 +14340,6 @@ __metadata: languageName: node linkType: hard -"ieee754@npm:^1.1.13": - version: 1.2.1 - resolution: "ieee754@npm:1.2.1" - checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb - languageName: node - linkType: hard - "ignore@npm:^5.0.5, ignore@npm:^5.2.0, ignore@npm:^5.3.1": version: 5.3.2 resolution: "ignore@npm:5.3.2" @@ -14252,7 +14423,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.3, inherits@npm:~2.0.3": +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:~2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 @@ -14305,16 +14476,6 @@ __metadata: languageName: node linkType: hard -"is-arguments@npm:^1.0.4": - version: 1.2.0 - resolution: "is-arguments@npm:1.2.0" - dependencies: - call-bound: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.2" - checksum: 10c0/6377344b31e9fcb707c6751ee89b11f132f32338e6a782ec2eac9393b0cbd32235dad93052998cda778ee058754860738341d8114910d50ada5615912bb929fc - languageName: node - linkType: hard - "is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5": version: 3.0.5 resolution: "is-array-buffer@npm:3.0.5" @@ -14475,7 +14636,7 @@ __metadata: languageName: node linkType: hard -"is-generator-function@npm:^1.0.10, is-generator-function@npm:^1.0.7": +"is-generator-function@npm:^1.0.10": version: 1.1.0 resolution: "is-generator-function@npm:1.1.0" dependencies: @@ -14503,16 +14664,6 @@ __metadata: languageName: node linkType: hard -"is-nan@npm:^1.3.2": - version: 1.3.2 - resolution: "is-nan@npm:1.3.2" - dependencies: - call-bind: "npm:^1.0.0" - define-properties: "npm:^1.1.3" - checksum: 10c0/8bfb286f85763f9c2e28ea32e9127702fe980ffd15fa5d63ade3be7786559e6e21355d3625dd364c769c033c5aedf0a2ed3d4025d336abf1b9241e3d9eddc5b0 - languageName: node - linkType: hard - "is-negative-zero@npm:^2.0.3": version: 2.0.3 resolution: "is-negative-zero@npm:2.0.3" @@ -14623,7 +14774,7 @@ __metadata: languageName: node linkType: hard -"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15, is-typed-array@npm:^1.1.3": +"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15": version: 1.1.15 resolution: "is-typed-array@npm:1.1.15" dependencies: @@ -15243,12 +15394,12 @@ __metadata: languageName: node linkType: hard -"lan-network@npm:^0.1.6": - version: 0.1.6 - resolution: "lan-network@npm:0.1.6" +"lan-network@npm:^0.2.0": + version: 0.2.0 + resolution: "lan-network@npm:0.2.0" bin: lan-network: dist/lan-network-cli.js - checksum: 10c0/5932a9d67c40fad53da5b383c4623dba700f1b6553d4aea740f5e1cad298a908f2a14dec940ac2e149b06deda73124fc9971e7dbaf162b7f9e077a2d59cd7b20 + checksum: 10c0/06da664a94e962ded0e30705bebacca73e02a7575c6cf1e91d6b12d5af49b0491727a1308cbf0ff47a4d19c5779b74919dffd5b60b8fd1c879d4d2e79d98887e languageName: node linkType: hard @@ -15302,10 +15453,10 @@ __metadata: languageName: node linkType: hard -"lightningcss-darwin-arm64@npm:1.27.0": - version: 1.27.0 - resolution: "lightningcss-darwin-arm64@npm:1.27.0" - conditions: os=darwin & cpu=arm64 +"lightningcss-android-arm64@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-android-arm64@npm:1.32.0" + conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -15316,10 +15467,10 @@ __metadata: languageName: node linkType: hard -"lightningcss-darwin-x64@npm:1.27.0": - version: 1.27.0 - resolution: "lightningcss-darwin-x64@npm:1.27.0" - conditions: os=darwin & cpu=x64 +"lightningcss-darwin-arm64@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-darwin-arm64@npm:1.32.0" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -15330,10 +15481,10 @@ __metadata: languageName: node linkType: hard -"lightningcss-freebsd-x64@npm:1.27.0": - version: 1.27.0 - resolution: "lightningcss-freebsd-x64@npm:1.27.0" - conditions: os=freebsd & cpu=x64 +"lightningcss-darwin-x64@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-darwin-x64@npm:1.32.0" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -15344,10 +15495,10 @@ __metadata: languageName: node linkType: hard -"lightningcss-linux-arm-gnueabihf@npm:1.27.0": - version: 1.27.0 - resolution: "lightningcss-linux-arm-gnueabihf@npm:1.27.0" - conditions: os=linux & cpu=arm +"lightningcss-freebsd-x64@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-freebsd-x64@npm:1.32.0" + conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -15358,10 +15509,10 @@ __metadata: languageName: node linkType: hard -"lightningcss-linux-arm64-gnu@npm:1.27.0": - version: 1.27.0 - resolution: "lightningcss-linux-arm64-gnu@npm:1.27.0" - conditions: os=linux & cpu=arm64 & libc=glibc +"lightningcss-linux-arm-gnueabihf@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-arm-gnueabihf@npm:1.32.0" + conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -15372,10 +15523,10 @@ __metadata: languageName: node linkType: hard -"lightningcss-linux-arm64-musl@npm:1.27.0": - version: 1.27.0 - resolution: "lightningcss-linux-arm64-musl@npm:1.27.0" - conditions: os=linux & cpu=arm64 & libc=musl +"lightningcss-linux-arm64-gnu@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-arm64-gnu@npm:1.32.0" + conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard @@ -15386,10 +15537,10 @@ __metadata: languageName: node linkType: hard -"lightningcss-linux-x64-gnu@npm:1.27.0": - version: 1.27.0 - resolution: "lightningcss-linux-x64-gnu@npm:1.27.0" - conditions: os=linux & cpu=x64 & libc=glibc +"lightningcss-linux-arm64-musl@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-arm64-musl@npm:1.32.0" + conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard @@ -15400,10 +15551,10 @@ __metadata: languageName: node linkType: hard -"lightningcss-linux-x64-musl@npm:1.27.0": - version: 1.27.0 - resolution: "lightningcss-linux-x64-musl@npm:1.27.0" - conditions: os=linux & cpu=x64 & libc=musl +"lightningcss-linux-x64-gnu@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-x64-gnu@npm:1.32.0" + conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard @@ -15414,10 +15565,10 @@ __metadata: languageName: node linkType: hard -"lightningcss-win32-arm64-msvc@npm:1.27.0": - version: 1.27.0 - resolution: "lightningcss-win32-arm64-msvc@npm:1.27.0" - conditions: os=win32 & cpu=arm64 +"lightningcss-linux-x64-musl@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-x64-musl@npm:1.32.0" + conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard @@ -15428,10 +15579,10 @@ __metadata: languageName: node linkType: hard -"lightningcss-win32-x64-msvc@npm:1.27.0": - version: 1.27.0 - resolution: "lightningcss-win32-x64-msvc@npm:1.27.0" - conditions: os=win32 & cpu=x64 +"lightningcss-win32-arm64-msvc@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-win32-arm64-msvc@npm:1.32.0" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -15442,6 +15593,13 @@ __metadata: languageName: node linkType: hard +"lightningcss-win32-x64-msvc@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-win32-x64-msvc@npm:1.32.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "lightningcss@npm:1.30.2": version: 1.30.2 resolution: "lightningcss@npm:1.30.2" @@ -15485,22 +15643,25 @@ __metadata: languageName: node linkType: hard -"lightningcss@npm:~1.27.0": - version: 1.27.0 - resolution: "lightningcss@npm:1.27.0" +"lightningcss@npm:^1.30.1": + version: 1.32.0 + resolution: "lightningcss@npm:1.32.0" dependencies: - detect-libc: "npm:^1.0.3" - lightningcss-darwin-arm64: "npm:1.27.0" - lightningcss-darwin-x64: "npm:1.27.0" - lightningcss-freebsd-x64: "npm:1.27.0" - lightningcss-linux-arm-gnueabihf: "npm:1.27.0" - lightningcss-linux-arm64-gnu: "npm:1.27.0" - lightningcss-linux-arm64-musl: "npm:1.27.0" - lightningcss-linux-x64-gnu: "npm:1.27.0" - lightningcss-linux-x64-musl: "npm:1.27.0" - lightningcss-win32-arm64-msvc: "npm:1.27.0" - lightningcss-win32-x64-msvc: "npm:1.27.0" + detect-libc: "npm:^2.0.3" + lightningcss-android-arm64: "npm:1.32.0" + lightningcss-darwin-arm64: "npm:1.32.0" + lightningcss-darwin-x64: "npm:1.32.0" + lightningcss-freebsd-x64: "npm:1.32.0" + lightningcss-linux-arm-gnueabihf: "npm:1.32.0" + lightningcss-linux-arm64-gnu: "npm:1.32.0" + lightningcss-linux-arm64-musl: "npm:1.32.0" + lightningcss-linux-x64-gnu: "npm:1.32.0" + lightningcss-linux-x64-musl: "npm:1.32.0" + lightningcss-win32-arm64-msvc: "npm:1.32.0" + lightningcss-win32-x64-msvc: "npm:1.32.0" dependenciesMeta: + lightningcss-android-arm64: + optional: true lightningcss-darwin-arm64: optional: true lightningcss-darwin-x64: @@ -15521,7 +15682,7 @@ __metadata: optional: true lightningcss-win32-x64-msvc: optional: true - checksum: 10c0/5292b277ebbefdd952cb7b9ccd20dd2c185a7eae9b4393960386b7b8c4d644492a413a91d05ca9dcb72c775bbb8d79b235a3415d66410c47464039394d022109 + checksum: 10c0/70945bd55097af46fc9fab7f5ed09cd5869d85940a2acab7ee06d0117004a1d68155708a2d462531cea2fc3c67aefc9333a7068c80b0b78dd404c16838809e03 languageName: node linkType: hard @@ -15887,6 +16048,30 @@ __metadata: languageName: node linkType: hard +"metro-babel-transformer@npm:0.83.3": + version: 0.83.3 + resolution: "metro-babel-transformer@npm:0.83.3" + dependencies: + "@babel/core": "npm:^7.25.2" + flow-enums-runtime: "npm:^0.0.6" + hermes-parser: "npm:0.32.0" + nullthrows: "npm:^1.1.1" + checksum: 10c0/b0107f86cdc9ef9419d669b5b3dac22e35b02c67c480563a63d98f5fb50953587938769efc854bfc09c225557790cd6488dbe3fed6f05c2b3f322cfb2e5ff577 + languageName: node + linkType: hard + +"metro-babel-transformer@npm:0.83.5": + version: 0.83.5 + resolution: "metro-babel-transformer@npm:0.83.5" + dependencies: + "@babel/core": "npm:^7.25.2" + flow-enums-runtime: "npm:^0.0.6" + hermes-parser: "npm:0.33.3" + nullthrows: "npm:^1.1.1" + checksum: 10c0/b1448241d5d7a77eeca758226bde5fc44da9f2e63f4e67037c289fe006c0f047b84fc3e77be61ba14ea605b0890232813ab75b1915faad21796b9bb873458506 + languageName: node + linkType: hard + "metro-cache-key@npm:0.82.3": version: 0.82.3 resolution: "metro-cache-key@npm:0.82.3" @@ -15896,6 +16081,24 @@ __metadata: languageName: node linkType: hard +"metro-cache-key@npm:0.83.3": + version: 0.83.3 + resolution: "metro-cache-key@npm:0.83.3" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + checksum: 10c0/403a2ca5b5bbb31a979effaa31fba0c47e2eb3830428c39c99db58aa0739a6fcc386f5a56c91495c53a4569065f0bda29e3038e9c41ca17af443971395f257dc + languageName: node + linkType: hard + +"metro-cache-key@npm:0.83.5": + version: 0.83.5 + resolution: "metro-cache-key@npm:0.83.5" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + checksum: 10c0/eda804592ec589b6be3659f0567df549dea21ba7773e0fed72db567e6e6ce2dcf56c34616cf204ce1b28261eed756f4f91ae4a187e3285282912f00f09892c6b + languageName: node + linkType: hard + "metro-cache@npm:0.82.3": version: 0.82.3 resolution: "metro-cache@npm:0.82.3" @@ -15908,6 +16111,30 @@ __metadata: languageName: node linkType: hard +"metro-cache@npm:0.83.3": + version: 0.83.3 + resolution: "metro-cache@npm:0.83.3" + dependencies: + exponential-backoff: "npm:^3.1.1" + flow-enums-runtime: "npm:^0.0.6" + https-proxy-agent: "npm:^7.0.5" + metro-core: "npm:0.83.3" + checksum: 10c0/608e85d819092c0b472c9adabb5de58e88355739de71833230626c1af7f3ce5dd1dca9f1ff3a836d995201f717315fd769c4c646a818c1f490ea2ec29417e32a + languageName: node + linkType: hard + +"metro-cache@npm:0.83.5": + version: 0.83.5 + resolution: "metro-cache@npm:0.83.5" + dependencies: + exponential-backoff: "npm:^3.1.1" + flow-enums-runtime: "npm:^0.0.6" + https-proxy-agent: "npm:^7.0.5" + metro-core: "npm:0.83.5" + checksum: 10c0/0f261c234c63a4480398b72250bd97325532a3e8e401a41927f96f48e9e707f1dc36070a90fb293568855b32aa70af26636d255f4bff8aecb9a42bbf30412667 + languageName: node + linkType: hard + "metro-config@npm:0.82.3, metro-config@npm:^0.82.0": version: 0.82.3 resolution: "metro-config@npm:0.82.3" @@ -15924,6 +16151,38 @@ __metadata: languageName: node linkType: hard +"metro-config@npm:0.83.3": + version: 0.83.3 + resolution: "metro-config@npm:0.83.3" + dependencies: + connect: "npm:^3.6.5" + flow-enums-runtime: "npm:^0.0.6" + jest-validate: "npm:^29.7.0" + metro: "npm:0.83.3" + metro-cache: "npm:0.83.3" + metro-core: "npm:0.83.3" + metro-runtime: "npm:0.83.3" + yaml: "npm:^2.6.1" + checksum: 10c0/c53e4a061cfc776a65cdb5055c0be840055f9741dae25e7d407835988618b15f1407270dbd957c7333d01e9c79eccbf8e6bcb76421b2145bd134b53df459a033 + languageName: node + linkType: hard + +"metro-config@npm:0.83.5, metro-config@npm:^0.83.3": + version: 0.83.5 + resolution: "metro-config@npm:0.83.5" + dependencies: + connect: "npm:^3.6.5" + flow-enums-runtime: "npm:^0.0.6" + jest-validate: "npm:^29.7.0" + metro: "npm:0.83.5" + metro-cache: "npm:0.83.5" + metro-core: "npm:0.83.5" + metro-runtime: "npm:0.83.5" + yaml: "npm:^2.6.1" + checksum: 10c0/ce025d0cba7ec8be51d64d4b34126aec8db19fbc87f52c8cb0393c6286506e0527eb1564522e42c4a9007826fa0d20034a817a5431102bce41ae94b8d5a3e996 + languageName: node + linkType: hard + "metro-core@npm:0.82.3, metro-core@npm:^0.82.0": version: 0.82.3 resolution: "metro-core@npm:0.82.3" @@ -15935,6 +16194,28 @@ __metadata: languageName: node linkType: hard +"metro-core@npm:0.83.3": + version: 0.83.3 + resolution: "metro-core@npm:0.83.3" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + lodash.throttle: "npm:^4.1.1" + metro-resolver: "npm:0.83.3" + checksum: 10c0/d44c1f117c4b27f18abd27110e9536abf3105733e8fccaa522bd0e008248cce0260130517840c4914d7ce5df498f39ecfd43b6046a0f0b1c0f8ada7de38e52c4 + languageName: node + linkType: hard + +"metro-core@npm:0.83.5, metro-core@npm:^0.83.3": + version: 0.83.5 + resolution: "metro-core@npm:0.83.5" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + lodash.throttle: "npm:^4.1.1" + metro-resolver: "npm:0.83.5" + checksum: 10c0/b3b7e6a65216b8cbff866455570159f20d1e06201b54a6cf8fa7892c0ca0adcfb8c11f23fd59f845b8d30153a59b3471b7174968a7862c66f042b7c032ee93bc + languageName: node + linkType: hard + "metro-file-map@npm:0.82.3": version: 0.82.3 resolution: "metro-file-map@npm:0.82.3" @@ -15952,6 +16233,40 @@ __metadata: languageName: node linkType: hard +"metro-file-map@npm:0.83.3": + version: 0.83.3 + resolution: "metro-file-map@npm:0.83.3" + dependencies: + debug: "npm:^4.4.0" + fb-watchman: "npm:^2.0.0" + flow-enums-runtime: "npm:^0.0.6" + graceful-fs: "npm:^4.2.4" + invariant: "npm:^2.2.4" + jest-worker: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + nullthrows: "npm:^1.1.1" + walker: "npm:^1.0.7" + checksum: 10c0/4bf9c0fcdb5a5c08851f7370d6427fb68a770f156c4eabbddf20bd3583fb25ae428507eaeb8dc525e792db41d048620209750f33735055863abc909cbb6ef71a + languageName: node + linkType: hard + +"metro-file-map@npm:0.83.5": + version: 0.83.5 + resolution: "metro-file-map@npm:0.83.5" + dependencies: + debug: "npm:^4.4.0" + fb-watchman: "npm:^2.0.0" + flow-enums-runtime: "npm:^0.0.6" + graceful-fs: "npm:^4.2.4" + invariant: "npm:^2.2.4" + jest-worker: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + nullthrows: "npm:^1.1.1" + walker: "npm:^1.0.7" + checksum: 10c0/2380b6682298154fd8d37db84f90f22ae4b6d139ebc96fe9ad27f78628aa7f836c0f574dd9247f20a0c8ee11c059b206ff92064aa8d9cb37418b5c3c3129e170 + languageName: node + linkType: hard + "metro-minify-terser@npm:0.82.3": version: 0.82.3 resolution: "metro-minify-terser@npm:0.82.3" @@ -15962,6 +16277,26 @@ __metadata: languageName: node linkType: hard +"metro-minify-terser@npm:0.83.3": + version: 0.83.3 + resolution: "metro-minify-terser@npm:0.83.3" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + terser: "npm:^5.15.0" + checksum: 10c0/9158e3199c0ea647776a7ed5c68ec1bb493f5347ac979f1ca75020cf1c39f907bd29983d60f8cb24dca17053d6b5c35f140c6d720fad0bd0fa9728e8c51e95c6 + languageName: node + linkType: hard + +"metro-minify-terser@npm:0.83.5": + version: 0.83.5 + resolution: "metro-minify-terser@npm:0.83.5" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + terser: "npm:^5.15.0" + checksum: 10c0/c6b90154b778533affc0077a32df3a91d4a4fc6b94ad1d73abb126a4114c094b4e7558085c03097832b7f8ecdbe42eb9394e16fbd82216d83b0a254105441528 + languageName: node + linkType: hard + "metro-resolver@npm:0.82.3": version: 0.82.3 resolution: "metro-resolver@npm:0.82.3" @@ -15971,6 +16306,24 @@ __metadata: languageName: node linkType: hard +"metro-resolver@npm:0.83.3": + version: 0.83.3 + resolution: "metro-resolver@npm:0.83.3" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + checksum: 10c0/1d6c030a00b987fbee38e5c632219b2be602e38c9aa9628bb4b591f646e64130d08adb8dcb35076c5c8cc151135557b655f3dee514c0df9f26d3416629eb006b + languageName: node + linkType: hard + +"metro-resolver@npm:0.83.5": + version: 0.83.5 + resolution: "metro-resolver@npm:0.83.5" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + checksum: 10c0/8aaa38f43bc9e2e7302b849d96396d836c1e37b6e7d70ba53ea34925921f9effdd5a37b062cabb30ee991395f032f92d07bc45c619fed94e7f54ffa04e0241b8 + languageName: node + linkType: hard + "metro-runtime@npm:0.82.3, metro-runtime@npm:^0.82.0": version: 0.82.3 resolution: "metro-runtime@npm:0.82.3" @@ -15981,6 +16334,26 @@ __metadata: languageName: node linkType: hard +"metro-runtime@npm:0.83.3": + version: 0.83.3 + resolution: "metro-runtime@npm:0.83.3" + dependencies: + "@babel/runtime": "npm:^7.25.0" + flow-enums-runtime: "npm:^0.0.6" + checksum: 10c0/1d788483b6c2f13e0ea9ff4564996154754d3de84f683812ac848053eaea9243144adee3e8ffe90789e6c253f7402211d72b1b5ebf09e6c23841bc956a680253 + languageName: node + linkType: hard + +"metro-runtime@npm:0.83.5, metro-runtime@npm:^0.83.3": + version: 0.83.5 + resolution: "metro-runtime@npm:0.83.5" + dependencies: + "@babel/runtime": "npm:^7.25.0" + flow-enums-runtime: "npm:^0.0.6" + checksum: 10c0/8fadb1216aaa25cb0ff59f9dd440debcd227d1dbb9554d196b0c2f87729efb0be7667ab8a8e957de9aada47c1243d427984732d89795d93d2b5dd677481f4edb + languageName: node + linkType: hard + "metro-source-map@npm:0.82.3, metro-source-map@npm:^0.82.0": version: 0.82.3 resolution: "metro-source-map@npm:0.82.3" @@ -15999,6 +16372,41 @@ __metadata: languageName: node linkType: hard +"metro-source-map@npm:0.83.3": + version: 0.83.3 + resolution: "metro-source-map@npm:0.83.3" + dependencies: + "@babel/traverse": "npm:^7.25.3" + "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3" + "@babel/types": "npm:^7.25.2" + flow-enums-runtime: "npm:^0.0.6" + invariant: "npm:^2.2.4" + metro-symbolicate: "npm:0.83.3" + nullthrows: "npm:^1.1.1" + ob1: "npm:0.83.3" + source-map: "npm:^0.5.6" + vlq: "npm:^1.0.0" + checksum: 10c0/47e984bde1f8f06348298771f44b5803657c9cfa387df8ff36a359cc72ae3bc0e9c4ea6141345609b183ac8c63dcc997000d3626006e388c24779abb57c6f82c + languageName: node + linkType: hard + +"metro-source-map@npm:0.83.5, metro-source-map@npm:^0.83.3": + version: 0.83.5 + resolution: "metro-source-map@npm:0.83.5" + dependencies: + "@babel/traverse": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" + flow-enums-runtime: "npm:^0.0.6" + invariant: "npm:^2.2.4" + metro-symbolicate: "npm:0.83.5" + nullthrows: "npm:^1.1.1" + ob1: "npm:0.83.5" + source-map: "npm:^0.5.6" + vlq: "npm:^1.0.0" + checksum: 10c0/39716006322f41f63aad15edeb4a705f876fc2cf5d9077583f63e1ec014a9d7083185bd9cd17083fbea0d453daa1708785217eeeff3058bbf34ee86ed7047121 + languageName: node + linkType: hard + "metro-symbolicate@npm:0.82.3": version: 0.82.3 resolution: "metro-symbolicate@npm:0.82.3" @@ -16015,6 +16423,38 @@ __metadata: languageName: node linkType: hard +"metro-symbolicate@npm:0.83.3": + version: 0.83.3 + resolution: "metro-symbolicate@npm:0.83.3" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + invariant: "npm:^2.2.4" + metro-source-map: "npm:0.83.3" + nullthrows: "npm:^1.1.1" + source-map: "npm:^0.5.6" + vlq: "npm:^1.0.0" + bin: + metro-symbolicate: src/index.js + checksum: 10c0/bd3d234c7581466a9a78f952caa25816666753f6b560fe41502727b3e59931ac65225c9909635dc7c25d4dfaf392631366ef3ec5fa8490413385d60f8d900112 + languageName: node + linkType: hard + +"metro-symbolicate@npm:0.83.5": + version: 0.83.5 + resolution: "metro-symbolicate@npm:0.83.5" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + invariant: "npm:^2.2.4" + metro-source-map: "npm:0.83.5" + nullthrows: "npm:^1.1.1" + source-map: "npm:^0.5.6" + vlq: "npm:^1.0.0" + bin: + metro-symbolicate: src/index.js + checksum: 10c0/b4347222cc2f0ddbb6a7d79876aa1ee136ad7bbab450b2127c4f60b8700371afcbcfe66073bf4376cc4eae034c448431a0bf957df9c52efc3a5a9dc558a53099 + languageName: node + linkType: hard + "metro-transform-plugins@npm:0.82.3": version: 0.82.3 resolution: "metro-transform-plugins@npm:0.82.3" @@ -16029,6 +16469,34 @@ __metadata: languageName: node linkType: hard +"metro-transform-plugins@npm:0.83.3": + version: 0.83.3 + resolution: "metro-transform-plugins@npm:0.83.3" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.25.0" + "@babel/template": "npm:^7.25.0" + "@babel/traverse": "npm:^7.25.3" + flow-enums-runtime: "npm:^0.0.6" + nullthrows: "npm:^1.1.1" + checksum: 10c0/df3c6db6a69d4888e1b6aad40d48ffec0c3c3faa38e89c07633432fc107ef12c47d55598904c91aadfe0751c5bcb7ec191f8a5ee70c18d253201150fc617ca37 + languageName: node + linkType: hard + +"metro-transform-plugins@npm:0.83.5": + version: 0.83.5 + resolution: "metro-transform-plugins@npm:0.83.5" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.29.1" + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.29.0" + flow-enums-runtime: "npm:^0.0.6" + nullthrows: "npm:^1.1.1" + checksum: 10c0/930dd7d16eeed1910d0571b1a494bc9b71aa3d7cb178aa58744dbb3ef52f4db5fa35c5a691de3fece65a5ba0793298cddfd249d97018f9cab2a45a4e14e963a8 + languageName: node + linkType: hard + "metro-transform-worker@npm:0.82.3": version: 0.82.3 resolution: "metro-transform-worker@npm:0.82.3" @@ -16050,6 +16518,48 @@ __metadata: languageName: node linkType: hard +"metro-transform-worker@npm:0.83.3": + version: 0.83.3 + resolution: "metro-transform-worker@npm:0.83.3" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.25.0" + "@babel/parser": "npm:^7.25.3" + "@babel/types": "npm:^7.25.2" + flow-enums-runtime: "npm:^0.0.6" + metro: "npm:0.83.3" + metro-babel-transformer: "npm:0.83.3" + metro-cache: "npm:0.83.3" + metro-cache-key: "npm:0.83.3" + metro-minify-terser: "npm:0.83.3" + metro-source-map: "npm:0.83.3" + metro-transform-plugins: "npm:0.83.3" + nullthrows: "npm:^1.1.1" + checksum: 10c0/bea0cbcc7d13cd2b97a2159257b3a53b9ecfb15da18ace82ae05bf2d0ac7cc1806c0bd77ed3b8f4c82c9532773fb99f3938e4b1480e2673f5eda69575ee1d7ef + languageName: node + linkType: hard + +"metro-transform-worker@npm:0.83.5": + version: 0.83.5 + resolution: "metro-transform-worker@npm:0.83.5" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.29.1" + "@babel/parser": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" + flow-enums-runtime: "npm:^0.0.6" + metro: "npm:0.83.5" + metro-babel-transformer: "npm:0.83.5" + metro-cache: "npm:0.83.5" + metro-cache-key: "npm:0.83.5" + metro-minify-terser: "npm:0.83.5" + metro-source-map: "npm:0.83.5" + metro-transform-plugins: "npm:0.83.5" + nullthrows: "npm:^1.1.1" + checksum: 10c0/aef57bbdc0cffc85f6fd713e3e8dad4cac6d8bf11e8c87b0a26a56dd1f7d677cd6844c7dfe18af58c88a54730b68c4562def2e7c227aba4cae0c8376e85938ba + languageName: node + linkType: hard + "metro@npm:0.82.3, metro@npm:^0.82.0": version: 0.82.3 resolution: "metro@npm:0.82.3" @@ -16100,6 +16610,106 @@ __metadata: languageName: node linkType: hard +"metro@npm:0.83.3": + version: 0.83.3 + resolution: "metro@npm:0.83.3" + dependencies: + "@babel/code-frame": "npm:^7.24.7" + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.25.0" + "@babel/parser": "npm:^7.25.3" + "@babel/template": "npm:^7.25.0" + "@babel/traverse": "npm:^7.25.3" + "@babel/types": "npm:^7.25.2" + accepts: "npm:^1.3.7" + chalk: "npm:^4.0.0" + ci-info: "npm:^2.0.0" + connect: "npm:^3.6.5" + debug: "npm:^4.4.0" + error-stack-parser: "npm:^2.0.6" + flow-enums-runtime: "npm:^0.0.6" + graceful-fs: "npm:^4.2.4" + hermes-parser: "npm:0.32.0" + image-size: "npm:^1.0.2" + invariant: "npm:^2.2.4" + jest-worker: "npm:^29.7.0" + jsc-safe-url: "npm:^0.2.2" + lodash.throttle: "npm:^4.1.1" + metro-babel-transformer: "npm:0.83.3" + metro-cache: "npm:0.83.3" + metro-cache-key: "npm:0.83.3" + metro-config: "npm:0.83.3" + metro-core: "npm:0.83.3" + metro-file-map: "npm:0.83.3" + metro-resolver: "npm:0.83.3" + metro-runtime: "npm:0.83.3" + metro-source-map: "npm:0.83.3" + metro-symbolicate: "npm:0.83.3" + metro-transform-plugins: "npm:0.83.3" + metro-transform-worker: "npm:0.83.3" + mime-types: "npm:^2.1.27" + nullthrows: "npm:^1.1.1" + serialize-error: "npm:^2.1.0" + source-map: "npm:^0.5.6" + throat: "npm:^5.0.0" + ws: "npm:^7.5.10" + yargs: "npm:^17.6.2" + bin: + metro: src/cli.js + checksum: 10c0/9513c05725c3984ce3b72896c4f7d019ad4fd024a1231b8b84c5c655a0563fc7f26725f28c20c5d3511e3825d64fec3a1e68621f6a6af34d785c5e714ed7da89 + languageName: node + linkType: hard + +"metro@npm:0.83.5, metro@npm:^0.83.3": + version: 0.83.5 + resolution: "metro@npm:0.83.5" + dependencies: + "@babel/code-frame": "npm:^7.29.0" + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.29.1" + "@babel/parser": "npm:^7.29.0" + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" + accepts: "npm:^2.0.0" + chalk: "npm:^4.0.0" + ci-info: "npm:^2.0.0" + connect: "npm:^3.6.5" + debug: "npm:^4.4.0" + error-stack-parser: "npm:^2.0.6" + flow-enums-runtime: "npm:^0.0.6" + graceful-fs: "npm:^4.2.4" + hermes-parser: "npm:0.33.3" + image-size: "npm:^1.0.2" + invariant: "npm:^2.2.4" + jest-worker: "npm:^29.7.0" + jsc-safe-url: "npm:^0.2.2" + lodash.throttle: "npm:^4.1.1" + metro-babel-transformer: "npm:0.83.5" + metro-cache: "npm:0.83.5" + metro-cache-key: "npm:0.83.5" + metro-config: "npm:0.83.5" + metro-core: "npm:0.83.5" + metro-file-map: "npm:0.83.5" + metro-resolver: "npm:0.83.5" + metro-runtime: "npm:0.83.5" + metro-source-map: "npm:0.83.5" + metro-symbolicate: "npm:0.83.5" + metro-transform-plugins: "npm:0.83.5" + metro-transform-worker: "npm:0.83.5" + mime-types: "npm:^3.0.1" + nullthrows: "npm:^1.1.1" + serialize-error: "npm:^2.1.0" + source-map: "npm:^0.5.6" + throat: "npm:^5.0.0" + ws: "npm:^7.5.10" + yargs: "npm:^17.6.2" + bin: + metro: src/cli.js + checksum: 10c0/5a774451aa1c182ed49eab795fbc00e39c6a96153e280fa8a103e35d3fb353ebd90a8c50da99d7b3a5b0aa07ce1fc9035daa87633a4d79a2b7e37c20a666da5b + languageName: node + linkType: hard + "micromatch@npm:^4.0.4, micromatch@npm:^4.0.5, micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" @@ -16117,7 +16727,7 @@ __metadata: languageName: node linkType: hard -"mime-db@npm:>= 1.43.0 < 2": +"mime-db@npm:>= 1.43.0 < 2, mime-db@npm:^1.54.0": version: 1.54.0 resolution: "mime-db@npm:1.54.0" checksum: 10c0/8d907917bc2a90fa2df842cdf5dfeaf509adc15fe0531e07bb2f6ab15992416479015828d6a74200041c492e42cce3ebf78e5ce714388a0a538ea9c53eece284 @@ -16133,6 +16743,15 @@ __metadata: languageName: node linkType: hard +"mime-types@npm:^3.0.0, mime-types@npm:^3.0.1": + version: 3.0.2 + resolution: "mime-types@npm:3.0.2" + dependencies: + mime-db: "npm:^1.54.0" + checksum: 10c0/35a0dd1035d14d185664f346efcdb72e93ef7a9b6e9ae808bd1f6358227010267fab52657b37562c80fc888ff76becb2b2938deb5e730818b7983bf8bd359767 + languageName: node + linkType: hard + "mime@npm:1.6.0": version: 1.6.0 resolution: "mime@npm:1.6.0" @@ -16165,6 +16784,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^10.2.2": + version: 10.2.5 + resolution: "minimatch@npm:10.2.5" + dependencies: + brace-expansion: "npm:^5.0.5" + checksum: 10c0/6bb058bd6324104b9ec2f763476a35386d05079c1f5fe4fbf1f324a25237cd4534d6813ecd71f48208f4e635c1221899bef94c3c89f7df55698fe373aaae20fd + languageName: node + linkType: hard + "minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" @@ -16275,6 +16903,13 @@ __metadata: languageName: node linkType: hard +"minipass@npm:^7.1.3": + version: 7.1.3 + resolution: "minipass@npm:7.1.3" + checksum: 10c0/539da88daca16533211ea5a9ee98dc62ff5742f531f54640dd34429e621955e91cc280a91a776026264b7f9f6735947629f920944e9c1558369e8bf22eb33fbb + languageName: node + linkType: hard + "minizlib@npm:^3.0.1": version: 3.0.2 resolution: "minizlib@npm:3.0.2" @@ -16451,14 +17086,10 @@ __metadata: languageName: node linkType: hard -"mz@npm:^2.7.0": - version: 2.7.0 - resolution: "mz@npm:2.7.0" - dependencies: - any-promise: "npm:^1.0.0" - object-assign: "npm:^4.0.1" - thenify-all: "npm:^1.0.0" - checksum: 10c0/103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39 +"multitars@npm:^0.2.3": + version: 0.2.4 + resolution: "multitars@npm:0.2.4" + checksum: 10c0/c46a7385ea9c51a34ad8df1829501f070af48ab56c128861d2f6c8106a7fb586730deb82ca834afb43d12eac56d868a50d7c71c01097bb1791ebe1bd1ccf76d1 languageName: node linkType: hard @@ -16517,13 +17148,6 @@ __metadata: languageName: node linkType: hard -"nested-error-stacks@npm:~2.0.1": - version: 2.0.1 - resolution: "nested-error-stacks@npm:2.0.1" - checksum: 10c0/125049632bc3ca2252e994ca07f27d795c0e6decc4077f0f4163348d30d7cb95409ceff6184284c95396aa5ea8ff5010673063db7674058b966b4f0228d4981c - languageName: node - linkType: hard - "next-seo@npm:^6.8.0": version: 6.8.0 resolution: "next-seo@npm:6.8.0" @@ -16690,10 +17314,10 @@ __metadata: languageName: node linkType: hard -"node-forge@npm:^1.2.1, node-forge@npm:^1.3.1": - version: 1.3.1 - resolution: "node-forge@npm:1.3.1" - checksum: 10c0/e882819b251a4321f9fc1d67c85d1501d3004b4ee889af822fd07f64de3d1a8e272ff00b689570af0465d65d6bf5074df9c76e900e0aff23e60b847f2a46fbe8 +"node-forge@npm:^1.3.3": + version: 1.4.0 + resolution: "node-forge@npm:1.4.0" + checksum: 10c0/67330a5f1f95257a4c8a93b7d555abe87b5f15e350123aa396c97a21a8ca94f9c6549008eb2c73668a91e0d7e3a905785acbd8f8bd0751c29401292011f8f8e1 languageName: node linkType: hard @@ -16738,6 +17362,13 @@ __metadata: languageName: node linkType: hard +"node-releases@npm:^2.0.36": + version: 2.0.36 + resolution: "node-releases@npm:2.0.36" + checksum: 10c0/85d8d7f4b6248c8372831cbcc3829ce634cb2b01dbd85e55705cefc8a9eda4ce8121bd218b9629cf2579aef8a360541bad409f3925a35675c825b9471a49d7e9 + languageName: node + linkType: hard + "nopt@npm:^8.0.0": version: 8.1.0 resolution: "nopt@npm:8.1.0" @@ -16805,7 +17436,25 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4.0.1, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": +"ob1@npm:0.83.3": + version: 0.83.3 + resolution: "ob1@npm:0.83.3" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + checksum: 10c0/9231315de39cf0612a01e283c7d7ef31d16618e598de96e44ae1ab3007629296ce1a3d5d02ef60ff22d9fefe33050358c10e7fcba8278861157b89befe13cb3d + languageName: node + linkType: hard + +"ob1@npm:0.83.5": + version: 0.83.5 + resolution: "ob1@npm:0.83.5" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + checksum: 10c0/5fdb1db1ed50ac01fdac85411c6080fed65f9fe6a34c3e4bd8749c69b155a79776b20d6bf09aec927b6259b3b5a1dfead4854704ef13a9fd6773007d599bec4d + languageName: node + linkType: hard + +"object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 @@ -16819,16 +17468,6 @@ __metadata: languageName: node linkType: hard -"object-is@npm:^1.1.5": - version: 1.1.6 - resolution: "object-is@npm:1.1.6" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - checksum: 10c0/506af444c4dce7f8e31f34fc549e2fb8152d6b9c4a30c6e62852badd7f520b579c679af433e7a072f9d78eb7808d230dc12e1cf58da9154dfbf8813099ea0fe0 - languageName: node - linkType: hard - "object-keys@npm:^1.1.1": version: 1.1.1 resolution: "object-keys@npm:1.1.1" @@ -17032,7 +17671,7 @@ __metadata: languageName: node linkType: hard -"p-limit@npm:^3.0.2, p-limit@npm:^3.1.0": +"p-limit@npm:^3.0.2": version: 3.1.0 resolution: "p-limit@npm:3.1.0" dependencies: @@ -17226,7 +17865,7 @@ __metadata: languageName: node linkType: hard -"path-parse@npm:^1.0.5, path-parse@npm:^1.0.6, path-parse@npm:^1.0.7": +"path-parse@npm:^1.0.6, path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 @@ -17253,6 +17892,16 @@ __metadata: languageName: node linkType: hard +"path-scurry@npm:^2.0.2": + version: 2.0.2 + resolution: "path-scurry@npm:2.0.2" + dependencies: + lru-cache: "npm:^11.0.0" + minipass: "npm:^7.1.2" + checksum: 10c0/b35ad37cf6557a87fd057121ce2be7695380c9138d93e87ae928609da259ea0a170fac6f3ef1eb3ece8a068e8b7f2f3adf5bb2374cf4d4a57fe484954fcc9482 + languageName: node + linkType: hard + "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -17295,13 +17944,6 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^3.0.1": - version: 3.0.1 - resolution: "picomatch@npm:3.0.1" - checksum: 10c0/70ec738569f1864658378b7abdab8939d15dae0718c1df994eae3346fd33daf6a3c1ff4e0c1a0cd1e2c0319130985b63a2cff34d192f2f2acbb78aca76111736 - languageName: node - linkType: hard - "picomatch@npm:^4.0.2": version: 4.0.2 resolution: "picomatch@npm:4.0.2" @@ -17323,7 +17965,7 @@ __metadata: languageName: node linkType: hard -"pirates@npm:^4.0.1, pirates@npm:^4.0.4": +"pirates@npm:^4.0.4": version: 4.0.7 resolution: "pirates@npm:4.0.7" checksum: 10c0/a51f108dd811beb779d58a76864bbd49e239fa40c7984cd11596c75a121a8cc789f1c8971d8bb15f0dbf9d48b76c05bb62fcbce840f89b688c0fa64b37e8478a @@ -17484,13 +18126,6 @@ __metadata: languageName: node linkType: hard -"pretty-bytes@npm:^5.6.0": - version: 5.6.0 - resolution: "pretty-bytes@npm:5.6.0" - checksum: 10c0/f69f494dcc1adda98dbe0e4a36d301e8be8ff99bfde7a637b2ee2820e7cb583b0fc0f3a63b0e3752c01501185a5cf38602c7be60da41bdf84ef5b70e89c370f3 - languageName: node - linkType: hard - "pretty-format@npm:^27.0.2": version: 27.5.1 resolution: "pretty-format@npm:27.5.1" @@ -17597,22 +18232,13 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^2.1.0, punycode@npm:^2.1.1, punycode@npm:^2.3.1": +"punycode@npm:^2.1.0, punycode@npm:^2.3.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 languageName: node linkType: hard -"qrcode-terminal@npm:0.11.0": - version: 0.11.0 - resolution: "qrcode-terminal@npm:0.11.0" - bin: - qrcode-terminal: ./bin/qrcode-terminal.js - checksum: 10c0/7561a649d21d7672d451ada5f2a2b393f586627cea75670c97141dc2b4b4145db547e1fddf512a3552e7fb54de530d513a736cd604c840adb908ed03c32312ad - languageName: node - linkType: hard - "quansync@npm:^0.2.7, quansync@npm:^0.2.8": version: 0.2.10 resolution: "quansync@npm:0.2.10" @@ -17662,7 +18288,7 @@ __metadata: languageName: node linkType: hard -"rc@npm:1.2.8, rc@npm:~1.2.7": +"rc@npm:1.2.8": version: 1.2.8 resolution: "rc@npm:1.2.8" dependencies: @@ -17686,6 +18312,27 @@ __metadata: languageName: node linkType: hard +"react-devtools-core@npm:^6.1.5": + version: 6.1.5 + resolution: "react-devtools-core@npm:6.1.5" + dependencies: + shell-quote: "npm:^1.6.1" + ws: "npm:^7" + checksum: 10c0/7ef95213d06ad4b294f5dca73736641e2d8ff46861d3deacdc56a143b27de60ac6310898a52c7efd9fbd1bdef20c09305d05be80e6beb560f0f975aad6afbc5e + languageName: node + linkType: hard + +"react-dom@npm:19.2.0": + version: 19.2.0 + resolution: "react-dom@npm:19.2.0" + dependencies: + scheduler: "npm:^0.27.0" + peerDependencies: + react: ^19.2.0 + checksum: 10c0/fa2cae05248d01288e91523b590ce4e7635b1e13f1344e225f850d722a8da037bf0782f63b1c1d46353334e0c696909b82e582f8cad607948fde6f7646cc18d9 + languageName: node + linkType: hard + "react-dom@npm:^19.0.0": version: 19.1.0 resolution: "react-dom@npm:19.1.0" @@ -17750,19 +18397,9 @@ __metadata: languageName: node linkType: hard -"react-native-edge-to-edge@npm:1.6.0": - version: 1.6.0 - resolution: "react-native-edge-to-edge@npm:1.6.0" - peerDependencies: - react: "*" - react-native: "*" - checksum: 10c0/6373cc1b447eae31689a9b62e38b15621e9273626e2324700c4c3eb58c02ce489236a4b9e3e0dc1187e062defd8316195c5b1213facd718706b79b92127a05a3 - languageName: node - linkType: hard - -"react-native-gesture-handler@npm:^2.27.1": - version: 2.27.1 - resolution: "react-native-gesture-handler@npm:2.27.1" +"react-native-gesture-handler@npm:~2.30.0": + version: 2.30.1 + resolution: "react-native-gesture-handler@npm:2.30.1" dependencies: "@egjs/hammerjs": "npm:^2.0.17" hoist-non-react-statics: "npm:^3.3.0" @@ -17770,7 +18407,7 @@ __metadata: peerDependencies: react: "*" react-native: "*" - checksum: 10c0/0cfab31fdb3241ca7fd8a770d4701de067b237055e8a1e96bcce081606ea720fb05fc60c805c74149927a443b086f0c1d085550a6e3a964cad7af44885cf90b5 + checksum: 10c0/6fdace725cfc08a8f2ab4b307d8d7f11438ebe38038443f7057bb1fd10554fcec8ce2816e8da131ae9b850c9be5e3bbef752b90240f5c91595ab20fd03ad6876 languageName: node linkType: hard @@ -17795,19 +18432,19 @@ __metadata: languageName: node linkType: hard -"react-native-is-edge-to-edge@npm:^1.1.6, react-native-is-edge-to-edge@npm:^1.1.7": - version: 1.2.1 - resolution: "react-native-is-edge-to-edge@npm:1.2.1" +"react-native-is-edge-to-edge@npm:^1.2.1": + version: 1.3.1 + resolution: "react-native-is-edge-to-edge@npm:1.3.1" peerDependencies: react: "*" react-native: "*" - checksum: 10c0/87d20b900aded7d44c90afb946a7aa03c23a94ca3dd547bdddc2303b85357e4aab22567a57b19f1558d6c8be7058e3dcf34faa1e15182d1604f90974266d9a1d + checksum: 10c0/28cebd5f1f3632864ff5e342278721d1e5e38627ae73859a8814012116ef15c629fee7137a6c9c97bb05d94bbe639b0b47e69b36fc2735ab53ed31570140663f languageName: node linkType: hard -"react-native-reanimated@npm:~3.17.4": - version: 3.17.5 - resolution: "react-native-reanimated@npm:3.17.5" +"react-native-reanimated@npm:~3.19.5": + version: 3.19.5 + resolution: "react-native-reanimated@npm:3.19.5" dependencies: "@babel/plugin-transform-arrow-functions": "npm:^7.0.0-0" "@babel/plugin-transform-class-properties": "npm:^7.0.0-0" @@ -17825,7 +18462,7 @@ __metadata: "@babel/core": ^7.0.0-0 react: "*" react-native: "*" - checksum: 10c0/22788541546cf3e818f0ad9fc9fb1cb53fd7b398d5f49078cd6adf8064957663d97de4e60de9e7894a359d2379685a9dd5d69183c3e13b5e4e78f2d49333921a + checksum: 10c0/5da1e142b5c2fefc118a2c6b2bba224deffb98048399b350c22e3496d36ff348ca0d72f7a0b8478db069b1d10e56f42c070c03807fa7e384cf12d9f35c8fc6cf languageName: node linkType: hard @@ -17849,33 +18486,32 @@ __metadata: languageName: node linkType: hard -"react-native-safe-area-context@npm:5.4.0": - version: 5.4.0 - resolution: "react-native-safe-area-context@npm:5.4.0" +"react-native-safe-area-context@npm:~5.6.2": + version: 5.6.2 + resolution: "react-native-safe-area-context@npm:5.6.2" peerDependencies: react: "*" react-native: "*" - checksum: 10c0/729fef1f768d57b905f51882374aa93b209d54576b8a0cf328e0a349c8dc9705ae8f9032e572fd7a7c9e94b588105f44760c0bb15ab9911b7977073d6754b54d + checksum: 10c0/3c8df21a1dbac83116b9c9bd5d20b7c1bb7649ecef44a111af6fb6b237241f5f4d692189eec30a69f5701b857249257da3621b9e17165460a2bb71faac7b92ae languageName: node linkType: hard -"react-native-screens@npm:~4.11.1": - version: 4.11.1 - resolution: "react-native-screens@npm:4.11.1" +"react-native-screens@npm:~4.23.0": + version: 4.23.0 + resolution: "react-native-screens@npm:4.23.0" dependencies: react-freeze: "npm:^1.0.0" - react-native-is-edge-to-edge: "npm:^1.1.7" warn-once: "npm:^0.1.0" peerDependencies: react: "*" react-native: "*" - checksum: 10c0/88a33ba419bd571cc318e80d25eb172f5829677f2dd80dcb69cbeaa6a35ba26214e0e82af87baa375182afe41a276e8ef1a9d13b826f662f3a389982492c2879 + checksum: 10c0/91c0c9840d36923adc49cb0d463f4e6b63d63060245029d49f8b80d82a405fcecce2196695c993f214c5ecb945e1b0bfb8ec0b8b44845b1438b8fac0d9ed53a7 languageName: node linkType: hard -"react-native-svg@npm:^15.12.0": - version: 15.12.0 - resolution: "react-native-svg@npm:15.12.0" +"react-native-svg@npm:15.15.3": + version: 15.15.3 + resolution: "react-native-svg@npm:15.15.3" dependencies: css-select: "npm:^5.1.0" css-tree: "npm:^1.1.3" @@ -17883,11 +18519,11 @@ __metadata: peerDependencies: react: "*" react-native: "*" - checksum: 10c0/80ad7ed06fc095767a8f786416fa0f4258a644ffc80a27a9425ad753abe0feab523f3e8817758411f7bead38449ab8c2f1272a9f124d185ffcf69afaf57eba31 + checksum: 10c0/6aa5ea4745c7d174909468b5d5cb75059856d907f0b039bf3650deb81c9afcbd356f2382d7a7424d4cc69597aea5a508484ee5dba91b9126e3b520bc10faefe9 languageName: node linkType: hard -"react-native-web@npm:~0.21.2": +"react-native-web@npm:~0.21.0": version: 0.21.2 resolution: "react-native-web@npm:0.21.2" dependencies: @@ -17906,16 +18542,16 @@ __metadata: languageName: node linkType: hard -"react-native-webview@npm:13.13.5": - version: 13.13.5 - resolution: "react-native-webview@npm:13.13.5" +"react-native-webview@npm:13.16.0": + version: 13.16.0 + resolution: "react-native-webview@npm:13.16.0" dependencies: escape-string-regexp: "npm:^4.0.0" invariant: "npm:2.2.4" peerDependencies: react: "*" react-native: "*" - checksum: 10c0/187441eac5a747acb58ae388b07611fcb13c6c8c801b7e3fc5175ea46e20cbc28db38ce777459fa4f405a3b4703e3011cd04c9218ac4a088a8a06031a8a2629c + checksum: 10c0/813c3cb176effd65f8d9b45eb00732ac87bfab2d0b1c4016f0d43e95f9a287e495913540ebe4f47da868c804f6fdcb2246a2156d6e31712bd426b43bcecc8e7f languageName: node linkType: hard @@ -17971,55 +18607,54 @@ __metadata: languageName: node linkType: hard -"react-native@npm:^0.79.2": - version: 0.79.5 - resolution: "react-native@npm:0.79.5" +"react-native@npm:0.83.4, react-native@npm:^0.83.4": + version: 0.83.4 + resolution: "react-native@npm:0.83.4" dependencies: "@jest/create-cache-key-function": "npm:^29.7.0" - "@react-native/assets-registry": "npm:0.79.5" - "@react-native/codegen": "npm:0.79.5" - "@react-native/community-cli-plugin": "npm:0.79.5" - "@react-native/gradle-plugin": "npm:0.79.5" - "@react-native/js-polyfills": "npm:0.79.5" - "@react-native/normalize-colors": "npm:0.79.5" - "@react-native/virtualized-lists": "npm:0.79.5" + "@react-native/assets-registry": "npm:0.83.4" + "@react-native/codegen": "npm:0.83.4" + "@react-native/community-cli-plugin": "npm:0.83.4" + "@react-native/gradle-plugin": "npm:0.83.4" + "@react-native/js-polyfills": "npm:0.83.4" + "@react-native/normalize-colors": "npm:0.83.4" + "@react-native/virtualized-lists": "npm:0.83.4" abort-controller: "npm:^3.0.0" anser: "npm:^1.4.9" ansi-regex: "npm:^5.0.0" babel-jest: "npm:^29.7.0" - babel-plugin-syntax-hermes-parser: "npm:0.25.1" + babel-plugin-syntax-hermes-parser: "npm:0.32.0" base64-js: "npm:^1.5.1" - chalk: "npm:^4.0.0" commander: "npm:^12.0.0" - event-target-shim: "npm:^5.0.1" flow-enums-runtime: "npm:^0.0.6" glob: "npm:^7.1.1" + hermes-compiler: "npm:0.14.1" invariant: "npm:^2.2.4" jest-environment-node: "npm:^29.7.0" memoize-one: "npm:^5.0.0" - metro-runtime: "npm:^0.82.0" - metro-source-map: "npm:^0.82.0" + metro-runtime: "npm:^0.83.3" + metro-source-map: "npm:^0.83.3" nullthrows: "npm:^1.1.1" pretty-format: "npm:^29.7.0" promise: "npm:^8.3.0" - react-devtools-core: "npm:^6.1.1" + react-devtools-core: "npm:^6.1.5" react-refresh: "npm:^0.14.0" regenerator-runtime: "npm:^0.13.2" - scheduler: "npm:0.25.0" + scheduler: "npm:0.27.0" semver: "npm:^7.1.3" stacktrace-parser: "npm:^0.1.10" whatwg-fetch: "npm:^3.0.0" - ws: "npm:^6.2.3" + ws: "npm:^7.5.10" yargs: "npm:^17.6.2" peerDependencies: - "@types/react": ^19.0.0 - react: ^19.0.0 + "@types/react": ^19.1.1 + react: ^19.2.0 peerDependenciesMeta: "@types/react": optional: true bin: react-native: cli.js - checksum: 10c0/e5398a99d01c8e4f016ea1ae2c5d51a2d5ae38a9e1edc6f66f562ec178293e025a1fb93d14163a38033d9bc1fae8dad01d5611127a9ed0019cf3cbc9618f4807 + checksum: 10c0/4aad713b61ba7b3d1c5147f7330b338b976d0b234050b5aa7d6898611f7ad72ed291cfd1e1499953d0fa346f71c8843b608c5334c38debcda9c16632e6e6bfdc languageName: node linkType: hard @@ -18104,6 +18739,13 @@ __metadata: languageName: node linkType: hard +"react@npm:19.2.0": + version: 19.2.0 + resolution: "react@npm:19.2.0" + checksum: 10c0/1b6d64eacb9324725bfe1e7860cb7a6b8a34bc89a482920765ebff5c10578eb487e6b46b2f0df263bd27a25edbdae2c45e5ea5d81ae61404301c1a7192c38330 + languageName: node + linkType: hard + "react@npm:^19.0.0": version: 19.1.0 resolution: "react@npm:19.1.0" @@ -18336,17 +18978,6 @@ __metadata: languageName: node linkType: hard -"requireg@npm:^0.2.2": - version: 0.2.2 - resolution: "requireg@npm:0.2.2" - dependencies: - nested-error-stacks: "npm:~2.0.1" - rc: "npm:~1.2.7" - resolve: "npm:~1.7.1" - checksum: 10c0/806cff08d8fa63f2ec9c74fa9602c86b56627a824d0a188bf777c8d82ba012a1b3c01ab6e88ffcf610713b6bc5ec8a9f9e55dc941b7606ce735e72c4d9daa059 - languageName: node - linkType: hard - "resolve-from@npm:^3.0.0": version: 3.0.0 resolution: "resolve-from@npm:3.0.0" @@ -18382,14 +19013,7 @@ __metadata: languageName: node linkType: hard -"resolve.exports@npm:^2.0.3": - version: 2.0.3 - resolution: "resolve.exports@npm:2.0.3" - checksum: 10c0/1ade1493f4642a6267d0a5e68faeac20b3d220f18c28b140343feb83694d8fed7a286852aef43689d16042c61e2ddb270be6578ad4a13990769e12065191200d - languageName: node - linkType: hard - -"resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.22.10, resolve@npm:^1.22.2, resolve@npm:^1.22.4, resolve@npm:~1.22.1, resolve@npm:~1.22.2": +"resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.22.10, resolve@npm:^1.22.4, resolve@npm:~1.22.1, resolve@npm:~1.22.2": version: 1.22.10 resolution: "resolve@npm:1.22.10" dependencies: @@ -18438,16 +19062,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:~1.7.1": - version: 1.7.1 - resolution: "resolve@npm:1.7.1" - dependencies: - path-parse: "npm:^1.0.5" - checksum: 10c0/6e9e29185ac57801aff013849e9717c769ef0a27eac30b6492405ba3d61db73d8967023b96578f4b2deba4ef5fb11fc4f0a4db47c0f536890ced5c014e94fbde - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.10#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A~1.22.1#optional!builtin, resolve@patch:resolve@npm%3A~1.22.2#optional!builtin": +"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.10#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A~1.22.1#optional!builtin, resolve@patch:resolve@npm%3A~1.22.2#optional!builtin": version: 1.22.10 resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" dependencies: @@ -18496,15 +19111,6 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A~1.7.1#optional!builtin": - version: 1.7.1 - resolution: "resolve@patch:resolve@npm%3A1.7.1#optional!builtin::version=1.7.1&hash=3bafbf" - dependencies: - path-parse: "npm:^1.0.5" - checksum: 10c0/1301dba7c12cd9dab2ab4eee8518089f25bb7480db34b746a923ded472c4c0600ebb1ba9b8028ca843f7c6017ac76524355800c52b82633e53bd601ca288b4de - languageName: node - linkType: hard - "restore-cursor@npm:^2.0.0": version: 2.0.0 resolution: "restore-cursor@npm:2.0.0" @@ -18890,6 +19496,13 @@ __metadata: languageName: node linkType: hard +"scheduler@npm:0.27.0, scheduler@npm:^0.27.0": + version: 0.27.0 + resolution: "scheduler@npm:0.27.0" + checksum: 10c0/4f03048cb05a3c8fddc45813052251eca00688f413a3cee236d984a161da28db28ba71bd11e7a3dd02f7af84ab28d39fb311431d3b3772fed557945beb00c452 + languageName: node + linkType: hard + "scheduler@npm:^0.26.0": version: 0.26.0 resolution: "scheduler@npm:0.26.0" @@ -19111,6 +19724,13 @@ __metadata: languageName: node linkType: hard +"sf-symbols-typescript@npm:^2.1.0, sf-symbols-typescript@npm:^2.2.0": + version: 2.2.0 + resolution: "sf-symbols-typescript@npm:2.2.0" + checksum: 10c0/3f3bbf33aaad19e619d6f169899b39e9fe9c5fd21f0d6d511100e36887606ad349109ddc6ff82933f2b8cbf437dd7105c2ae6b0059b291dc47f143b30c2074cc + languageName: node + linkType: hard + "shallowequal@npm:^1.1.0": version: 1.1.0 resolution: "shallowequal@npm:1.1.0" @@ -19862,24 +20482,6 @@ __metadata: languageName: node linkType: hard -"sucrase@npm:3.35.0": - version: 3.35.0 - resolution: "sucrase@npm:3.35.0" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.2" - commander: "npm:^4.0.0" - glob: "npm:^10.3.10" - lines-and-columns: "npm:^1.1.6" - mz: "npm:^2.7.0" - pirates: "npm:^4.0.1" - ts-interface-checker: "npm:^0.1.9" - bin: - sucrase: bin/sucrase - sucrase-node: bin/sucrase-node - checksum: 10c0/ac85f3359d2c2ecbf5febca6a24ae9bf96c931f05fde533c22a94f59c6a74895e5d5f0e871878dfd59c2697a75ebb04e4b2224ef0bfc24ca1210735c2ec191ef - languageName: node - linkType: hard - "supports-color@npm:^5.3.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -19996,13 +20598,6 @@ __metadata: languageName: node linkType: hard -"temp-dir@npm:~2.0.0": - version: 2.0.0 - resolution: "temp-dir@npm:2.0.0" - checksum: 10c0/b1df969e3f3f7903f3426861887ed76ba3b495f63f6d0c8e1ce22588679d9384d336df6064210fda14e640ed422e2a17d5c40d901f60e161c99482d723f4d309 - languageName: node - linkType: hard - "term-size@npm:^2.1.0": version: 2.2.1 resolution: "term-size@npm:2.2.1" @@ -20063,24 +20658,6 @@ __metadata: languageName: node linkType: hard -"thenify-all@npm:^1.0.0": - version: 1.6.0 - resolution: "thenify-all@npm:1.6.0" - dependencies: - thenify: "npm:>= 3.1.0 < 4" - checksum: 10c0/9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b - languageName: node - linkType: hard - -"thenify@npm:>= 3.1.0 < 4": - version: 3.3.1 - resolution: "thenify@npm:3.3.1" - dependencies: - any-promise: "npm:^1.0.0" - checksum: 10c0/f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767 - languageName: node - linkType: hard - "throat@npm:^5.0.0": version: 5.0.0 resolution: "throat@npm:5.0.0" @@ -20224,6 +20801,13 @@ __metadata: languageName: node linkType: hard +"toqr@npm:^0.1.1": + version: 0.1.1 + resolution: "toqr@npm:0.1.1" + checksum: 10c0/eec346afae2eede8886938992a7eba59f765b3d3a3d5e7ce4984cb25b124e1a3d02531ed1ef3100d60fe443eeb1c7f83ca1fa0bbb04915d67baa5380e7c9eda4 + languageName: node + linkType: hard + "tough-cookie@npm:^6.0.0": version: 6.0.0 resolution: "tough-cookie@npm:6.0.0" @@ -20276,13 +20860,6 @@ __metadata: languageName: node linkType: hard -"ts-interface-checker@npm:^0.1.9": - version: 0.1.13 - resolution: "ts-interface-checker@npm:0.1.13" - checksum: 10c0/232509f1b84192d07b81d1e9b9677088e590ac1303436da1e92b296e9be8e31ea042e3e1fd3d29b1742ad2c959e95afe30f63117b8f1bc3a3850070a5142fea7 - languageName: node - linkType: hard - "ts-toolbelt@npm:^6.15.1": version: 6.15.5 resolution: "ts-toolbelt@npm:6.15.5" @@ -20624,20 +21201,6 @@ __metadata: languageName: node linkType: hard -"undici@npm:^6.18.2": - version: 6.21.3 - resolution: "undici@npm:6.21.3" - checksum: 10c0/294da109853fad7a6ef5a172ad0ca3fb3f1f60cf34703d062a5ec967daf69ad8c03b52e6d536c5cba3bb65615769bf08e5b30798915cbccdddaca01045173dda - languageName: node - linkType: hard - -"undici@npm:^6.18.2 || ^7.0.0": - version: 7.11.0 - resolution: "undici@npm:7.11.0" - checksum: 10c0/e5dd3cc2acae9c8333f97a78d4e91108957367fa7e69918e3a5cbd84702cb453cf7de3f8c2a33bcf808850d78ead70f3bd62900a70d969912e9fed8842bbfc11 - languageName: node - linkType: hard - "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.1 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" @@ -20694,15 +21257,6 @@ __metadata: languageName: node linkType: hard -"unique-string@npm:~2.0.0": - version: 2.0.0 - resolution: "unique-string@npm:2.0.0" - dependencies: - crypto-random-string: "npm:^2.0.0" - checksum: 10c0/11820db0a4ba069d174bedfa96c588fc2c96b083066fafa186851e563951d0de78181ac79c744c1ed28b51f9d82ac5b8196ff3e4560d0178046ef455d8c2244b - languageName: node - linkType: hard - "universal-user-agent@npm:^6.0.0": version: 6.0.1 resolution: "universal-user-agent@npm:6.0.1" @@ -20883,7 +21437,7 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.2.0": +"update-browserslist-db@npm:^1.2.0, update-browserslist-db@npm:^1.2.3": version: 1.2.3 resolution: "update-browserslist-db@npm:1.2.3" dependencies: @@ -20935,6 +21489,15 @@ __metadata: languageName: node linkType: hard +"use-latest-callback@npm:^0.2.1": + version: 0.2.6 + resolution: "use-latest-callback@npm:0.2.6" + peerDependencies: + react: ">=16.8" + checksum: 10c0/6523747b2d76f12a91cf80a3cd9803449571e9defa8db69e9a03b8199b211127d88c038063714fe31d3c2e63ca51a491bd05f4e34203795a1c692a5a44416610 + languageName: node + linkType: hard + "use-latest-callback@npm:^0.2.4": version: 0.2.4 resolution: "use-latest-callback@npm:0.2.4" @@ -20978,19 +21541,6 @@ __metadata: languageName: node linkType: hard -"util@npm:^0.12.5": - version: 0.12.5 - resolution: "util@npm:0.12.5" - dependencies: - inherits: "npm:^2.0.3" - is-arguments: "npm:^1.0.4" - is-generator-function: "npm:^1.0.7" - is-typed-array: "npm:^1.1.3" - which-typed-array: "npm:^1.1.2" - checksum: 10c0/c27054de2cea2229a66c09522d0fa1415fb12d861d08523a8846bf2e4cbf0079d4c3f725f09dcb87493549bcbf05f5798dce1688b53c6c17201a45759e7253f3 - languageName: node - linkType: hard - "utils-merge@npm:1.0.1": version: 1.0.1 resolution: "utils-merge@npm:1.0.1" @@ -21047,6 +21597,18 @@ __metadata: languageName: node linkType: hard +"vaul@npm:^1.1.2": + version: 1.1.2 + resolution: "vaul@npm:1.1.2" + dependencies: + "@radix-ui/react-dialog": "npm:^1.1.1" + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc + checksum: 10c0/a6da539eb5576c0004a6b17e3673ea1db2c34e80355860131183abf53279ce025bbd016d542c345d1cc8464ad12f9dc9860949c751055d8a84961e8472a53707 + languageName: node + linkType: hard + "vite-node@npm:3.2.4": version: 3.2.4 resolution: "vite-node@npm:3.2.4" @@ -21320,13 +21882,6 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^5.0.0": - version: 5.0.0 - resolution: "webidl-conversions@npm:5.0.0" - checksum: 10c0/bf31df332ed11e1114bfcae7712d9ab2c37e7faa60ba32d8fdbee785937c0b012eee235c19d2b5d84f5072db84a160e8d08dd382da7f850feec26a4f46add8ff - languageName: node - linkType: hard - "webidl-conversions@npm:^8.0.0": version: 8.0.0 resolution: "webidl-conversions@npm:8.0.0" @@ -21364,14 +21919,10 @@ __metadata: languageName: node linkType: hard -"whatwg-url-without-unicode@npm:8.0.0-3": - version: 8.0.0-3 - resolution: "whatwg-url-without-unicode@npm:8.0.0-3" - dependencies: - buffer: "npm:^5.4.3" - punycode: "npm:^2.1.1" - webidl-conversions: "npm:^5.0.0" - checksum: 10c0/c27a637ab7d01981b2e2f576fde2113b9c42247500e093d2f5ba94b515d5c86dbcf70e5cad4b21b8813185f21fa1b4846f53c79fa87995293457e28c889cc0fd +"whatwg-url-minimum@npm:^0.1.1": + version: 0.1.1 + resolution: "whatwg-url-minimum@npm:0.1.1" + checksum: 10c0/0e10fa110a3f7292d3fe0192ac0d823ab83601c5e2c1817a6371df038a9e1790cabdb866b0e1e67967e11d9b0d0b8ad1c61511fea62771e9f5fbb48c54b71319 languageName: node linkType: hard @@ -21441,7 +21992,7 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18, which-typed-array@npm:^1.1.19, which-typed-array@npm:^1.1.2": +"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18, which-typed-array@npm:^1.1.19": version: 1.1.19 resolution: "which-typed-array@npm:1.1.19" dependencies: @@ -21490,13 +22041,6 @@ __metadata: languageName: node linkType: hard -"wonka@npm:^6.3.2": - version: 6.3.5 - resolution: "wonka@npm:6.3.5" - checksum: 10c0/044fe5ae26c0a32b0a1603cc0ed71ede8c9febe5bb3adab4fad5e088ceee600a84a08d0deb95a72189bbaf0d510282d183b6fb7b6e9837e7a1c9b209f788dd07 - languageName: node - linkType: hard - "word-wrap@npm:^1.2.5": version: 1.2.5 resolution: "word-wrap@npm:1.2.5" @@ -21687,6 +22231,15 @@ __metadata: languageName: node linkType: hard +"yaml@npm:^2.6.1": + version: 2.8.3 + resolution: "yaml@npm:2.8.3" + bin: + yaml: bin.mjs + checksum: 10c0/ddff0e11c1b467728d7eb4633db61c5f5de3d8e9373cf84d08fb0cdee03e1f58f02b9f1c51a4a8a865751695addbd465a77f73f1079be91fe5493b29c305fd77 + languageName: node + linkType: hard + "yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" @@ -21729,3 +22282,10 @@ __metadata: checksum: 10c0/ccb251859609e6eed04b83f96ad7b2b7a189ca78b47176cde2c368102a5416b9c472e91b3fd96ceaa5043b2e513b3aec39fd99c36686ad2ad84f6c440afca53a languageName: node linkType: hard + +"zod@npm:^3.25.76": + version: 3.25.76 + resolution: "zod@npm:3.25.76" + checksum: 10c0/5718ec35e3c40b600316c5b4c5e4976f7fee68151bc8f8d90ec18a469be9571f072e1bbaace10f1e85cf8892ea12d90821b200e980ab46916a6166a4260a983c + languageName: node + linkType: hard From dd79426e5ccfac74541ad69c453ee29bda27b235 Mon Sep 17 00:00:00 2001 From: Kyle McDonald Date: Wed, 1 Apr 2026 10:40:25 -0500 Subject: [PATCH 02/10] fix: manypkg fix --- examples/expo-example/package.json | 8 +++--- yarn.lock | 46 ++++-------------------------- 2 files changed, 10 insertions(+), 44 deletions(-) diff --git a/examples/expo-example/package.json b/examples/expo-example/package.json index 180410cf1..5d37b3ef4 100644 --- a/examples/expo-example/package.json +++ b/examples/expo-example/package.json @@ -31,9 +31,9 @@ "expo-symbols": "~55.0.5", "expo-system-ui": "~55.0.11", "expo-web-browser": "~55.0.10", - "react": "19.2.0", - "react-dom": "19.2.0", - "react-native": "0.83.4", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-native": "^0.83.4", "react-native-gesture-handler": "~2.30.0", "react-native-reanimated": "~3.19.5", "react-native-safe-area-context": "~5.6.2", @@ -43,7 +43,7 @@ }, "devDependencies": { "@babel/core": "^7.28.0", - "@types/react": "^19.2.0", + "@types/react": "^19.1.8", "eslint": "^8.56.0", "eslint-config-expo": "~55.0.0", "eslint-import-resolver-typescript": "^4.4.4", diff --git a/yarn.lock b/yarn.lock index 2244c67ae..bac67f033 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4426,7 +4426,7 @@ __metadata: "@react-navigation/bottom-tabs": "npm:^7.15.5" "@react-navigation/elements": "npm:^2.9.14" "@react-navigation/native": "npm:^7.1.33" - "@types/react": "npm:^19.2.0" + "@types/react": "npm:^19.1.8" eslint: "npm:^8.56.0" eslint-config-expo: "npm:~55.0.0" eslint-import-resolver-typescript: "npm:^4.4.4" @@ -4447,9 +4447,9 @@ __metadata: expo-symbols: "npm:~55.0.5" expo-system-ui: "npm:~55.0.11" expo-web-browser: "npm:~55.0.10" - react: "npm:19.2.0" - react-dom: "npm:19.2.0" - react-native: "npm:0.83.4" + react: "npm:^19.0.0" + react-dom: "npm:^19.0.0" + react-native: "npm:^0.83.4" react-native-gesture-handler: "npm:~2.30.0" react-native-reanimated: "npm:~3.19.5" react-native-safe-area-context: "npm:~5.6.2" @@ -8080,15 +8080,6 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^19.2.0": - version: 19.2.14 - resolution: "@types/react@npm:19.2.14" - dependencies: - csstype: "npm:^3.2.2" - checksum: 10c0/7d25bf41b57719452d86d2ac0570b659210402707313a36ee612666bf11275a1c69824f8c3ee1fdca077ccfe15452f6da8f1224529b917050eb2d861e52b59b7 - languageName: node - linkType: hard - "@types/semver@npm:^7.3.12": version: 7.7.0 resolution: "@types/semver@npm:7.7.0" @@ -11147,13 +11138,6 @@ __metadata: languageName: node linkType: hard -"csstype@npm:^3.2.2": - version: 3.2.3 - resolution: "csstype@npm:3.2.3" - checksum: 10c0/cd29c51e70fa822f1cecd8641a1445bed7063697469d35633b516e60fe8c1bde04b08f6c5b6022136bb669b64c63d4173af54864510fbb4ee23281801841a3ce - languageName: node - linkType: hard - "damerau-levenshtein@npm:^1.0.8": version: 1.0.8 resolution: "damerau-levenshtein@npm:1.0.8" @@ -18322,17 +18306,6 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:19.2.0": - version: 19.2.0 - resolution: "react-dom@npm:19.2.0" - dependencies: - scheduler: "npm:^0.27.0" - peerDependencies: - react: ^19.2.0 - checksum: 10c0/fa2cae05248d01288e91523b590ce4e7635b1e13f1344e225f850d722a8da037bf0782f63b1c1d46353334e0c696909b82e582f8cad607948fde6f7646cc18d9 - languageName: node - linkType: hard - "react-dom@npm:^19.0.0": version: 19.1.0 resolution: "react-dom@npm:19.1.0" @@ -18607,7 +18580,7 @@ __metadata: languageName: node linkType: hard -"react-native@npm:0.83.4, react-native@npm:^0.83.4": +"react-native@npm:^0.83.4": version: 0.83.4 resolution: "react-native@npm:0.83.4" dependencies: @@ -18739,13 +18712,6 @@ __metadata: languageName: node linkType: hard -"react@npm:19.2.0": - version: 19.2.0 - resolution: "react@npm:19.2.0" - checksum: 10c0/1b6d64eacb9324725bfe1e7860cb7a6b8a34bc89a482920765ebff5c10578eb487e6b46b2f0df263bd27a25edbdae2c45e5ea5d81ae61404301c1a7192c38330 - languageName: node - linkType: hard - "react@npm:^19.0.0": version: 19.1.0 resolution: "react@npm:19.1.0" @@ -19496,7 +19462,7 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:0.27.0, scheduler@npm:^0.27.0": +"scheduler@npm:0.27.0": version: 0.27.0 resolution: "scheduler@npm:0.27.0" checksum: 10c0/4f03048cb05a3c8fddc45813052251eca00688f413a3cee236d984a161da28db28ba71bd11e7a3dd02f7af84ab28d39fb311431d3b3772fed557945beb00c452 From 2e23b4799f1b132c0e6a8117bd72239d1841488b Mon Sep 17 00:00:00 2001 From: Kyle McDonald Date: Wed, 1 Apr 2026 11:00:38 -0500 Subject: [PATCH 03/10] fix: use NotificationBehavior type from getNotificationsModule instead of local duplicate Remove the locally defined NotificationBehavior type in utils.ts and import it from getNotificationsModule, which derives it from the expo-notifications namespace. This prevents the local type from silently diverging if the canonical type evolves (e.g. shouldShowAlert deprecation in SDK 55). --- packages/expo/src/modules/push/utils.ts | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/packages/expo/src/modules/push/utils.ts b/packages/expo/src/modules/push/utils.ts index a7976f310..568f02cb7 100644 --- a/packages/expo/src/modules/push/utils.ts +++ b/packages/expo/src/modules/push/utils.ts @@ -2,7 +2,10 @@ import Constants from "expo-constants"; import * as Device from "expo-device"; import { Platform } from "react-native"; -import { getNotificationsModule } from "./getNotificationsModule"; +import { + type NotificationBehavior, + getNotificationsModule, +} from "./getNotificationsModule"; // eslint-disable-next-line @typescript-eslint/no-explicit-any type ExpoConstants = typeof Constants & Record; @@ -18,17 +21,6 @@ export type PushPermissionStatus = | "undetermined" | "unavailable"; -/** - * Configuration for how a notification should be presented when received in the foreground. - */ -type NotificationBehavior = { - shouldShowAlert: boolean; - shouldPlaySound: boolean; - shouldSetBadge: boolean; - shouldShowBanner: boolean; - shouldShowList: boolean; -}; - /** * Default notification behavior when a notification is received. */ From 787c395cd0ae692303b70064d588659c381e61b0 Mon Sep 17 00:00:00 2001 From: Kyle McDonald Date: Wed, 1 Apr 2026 11:00:56 -0500 Subject: [PATCH 04/10] fix: avoid misleading permission warning when notifications module is unavailable When requestPushPermission returns 'unavailable' (e.g. Android Expo Go), bail early instead of falling through to the 'User may have denied the permission' warning, which is incorrect in that context. --- packages/expo/src/modules/push/utils.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/expo/src/modules/push/utils.ts b/packages/expo/src/modules/push/utils.ts index 568f02cb7..7b2a9d241 100644 --- a/packages/expo/src/modules/push/utils.ts +++ b/packages/expo/src/modules/push/utils.ts @@ -167,6 +167,12 @@ export async function registerForPushNotifications( const permissionStatus = await requestPushPermission(); + if (permissionStatus === "unavailable") { + // Module couldn't be loaded (e.g. Android Expo Go) — the warning is + // already emitted by getNotificationsModule, so just bail silently. + return null; + } + if (permissionStatus !== "granted") { console.warn( `[Knock] Push notification permission not granted. Status: ${permissionStatus}. ` + From 4f156f7bf34796dfddb65ad9b3c0866ba54b8f24 Mon Sep 17 00:00:00 2001 From: Kyle McDonald Date: Wed, 1 Apr 2026 11:14:25 -0500 Subject: [PATCH 05/10] test: add coverage for getNotificationsModule and utils push notification paths Add tests covering: - getNotificationsModule returns null and warns on Android Expo Go - getNotificationsModule caches null result and only warns once - utils.requestPushPermission returns 'unavailable' when module is null - utils.getExpoPushToken returns null when module is null - utils.setupDefaultAndroidChannel no-ops when module is null - utils.registerForPushNotifications bails silently on 'unavailable' status - utils.registerForPushNotifications warns on denied permission --- ...tNotificationsModule.androidExpoGo.test.ts | 62 +++++++ packages/expo/test/modules/push/utils.test.ts | 161 ++++++++++++++++++ 2 files changed, 223 insertions(+) create mode 100644 packages/expo/test/modules/push/getNotificationsModule.androidExpoGo.test.ts create mode 100644 packages/expo/test/modules/push/utils.test.ts diff --git a/packages/expo/test/modules/push/getNotificationsModule.androidExpoGo.test.ts b/packages/expo/test/modules/push/getNotificationsModule.androidExpoGo.test.ts new file mode 100644 index 000000000..b565ac9a5 --- /dev/null +++ b/packages/expo/test/modules/push/getNotificationsModule.androidExpoGo.test.ts @@ -0,0 +1,62 @@ +import { describe, expect, test, vi } from "vitest"; + +// This test file exercises the Android Expo Go code path of getNotificationsModule. +// It uses a separate file because getNotificationsModule has module-level caching +// that can only be tested in a fresh module context (one per test file). + +vi.mock("react-native", () => ({ + Platform: { OS: "android" }, +})); + +vi.mock("expo-constants", () => ({ + default: { executionEnvironment: "storeClient" }, + ExecutionEnvironment: { + Bare: "bare", + Standalone: "standalone", + StoreClient: "storeClient", + }, +})); + +vi.mock("expo-notifications", () => ({ + setNotificationHandler: vi.fn(), +})); + +describe("getNotificationsModule (Android Expo Go)", () => { + test("returns null and warns on Android Expo Go", async () => { + const warnSpy = vi.spyOn(console, "warn").mockImplementation(() => {}); + + const { getNotificationsModule } = await import( + "../../../src/modules/push/getNotificationsModule" + ); + const result = getNotificationsModule(); + + expect(result).toBeNull(); + expect(warnSpy).toHaveBeenCalledWith( + expect.stringContaining( + "Push notifications (remote notifications) are not available in Expo Go", + ), + ); + + warnSpy.mockRestore(); + }); + + test("caches null and only warns once", async () => { + const warnSpy = vi.spyOn(console, "warn").mockImplementation(() => {}); + + const { getNotificationsModule } = await import( + "../../../src/modules/push/getNotificationsModule" + ); + + // First call already happened in previous test (module cached), + // but since vitest runs each test() sequentially in the same module + // context, the cache from the first test persists here. + // Call again to verify caching — warn should not fire again. + const callCountBefore = warnSpy.mock.calls.length; + getNotificationsModule(); + const callCountAfter = warnSpy.mock.calls.length; + + expect(callCountAfter).toBe(callCountBefore); + + warnSpy.mockRestore(); + }); +}); diff --git a/packages/expo/test/modules/push/utils.test.ts b/packages/expo/test/modules/push/utils.test.ts new file mode 100644 index 000000000..299dbba3b --- /dev/null +++ b/packages/expo/test/modules/push/utils.test.ts @@ -0,0 +1,161 @@ +import { beforeEach, describe, expect, test, vi } from "vitest"; + +const mockNotifications = { + getPermissionsAsync: vi.fn().mockResolvedValue({ status: "granted" }), + requestPermissionsAsync: vi.fn().mockResolvedValue({ status: "granted" }), + getExpoPushTokenAsync: vi.fn().mockResolvedValue({ data: "test-token" }), + setNotificationChannelAsync: vi.fn().mockResolvedValue(undefined), + AndroidImportance: { MAX: 5 }, +}; + +let mockGetNotificationsModule: () => typeof mockNotifications | null = () => + mockNotifications; + +vi.mock("../../../src/modules/push/getNotificationsModule", () => ({ + getNotificationsModule: () => mockGetNotificationsModule(), +})); + +vi.mock("expo-constants", () => ({ + default: { + expoConfig: { + extra: { + eas: { + projectId: "test-project-id", + }, + }, + }, + }, +})); + +vi.mock("expo-device", () => ({ + isDevice: true, +})); + +vi.mock("react-native", () => ({ + Platform: { + OS: "ios", + }, +})); + +describe("utils", () => { + beforeEach(() => { + vi.clearAllMocks(); + mockGetNotificationsModule = () => mockNotifications; + }); + + describe("requestPushPermission", () => { + test("returns 'unavailable' when notifications module is null", async () => { + mockGetNotificationsModule = () => null; + + const { requestPushPermission } = await import( + "../../../src/modules/push/utils" + ); + const status = await requestPushPermission(); + + expect(status).toBe("unavailable"); + }); + + test("returns 'granted' when already granted", async () => { + mockNotifications.getPermissionsAsync.mockResolvedValueOnce({ + status: "granted", + }); + + const { requestPushPermission } = await import( + "../../../src/modules/push/utils" + ); + const status = await requestPushPermission(); + + expect(status).toBe("granted"); + }); + + test("requests permission when not yet granted", async () => { + mockNotifications.getPermissionsAsync.mockResolvedValueOnce({ + status: "undetermined", + }); + mockNotifications.requestPermissionsAsync.mockResolvedValueOnce({ + status: "denied", + }); + + const { requestPushPermission } = await import( + "../../../src/modules/push/utils" + ); + const status = await requestPushPermission(); + + expect(status).toBe("denied"); + expect(mockNotifications.requestPermissionsAsync).toHaveBeenCalled(); + }); + }); + + describe("getExpoPushToken", () => { + test("returns null when notifications module is null", async () => { + mockGetNotificationsModule = () => null; + + const { getExpoPushToken } = await import( + "../../../src/modules/push/utils" + ); + const token = await getExpoPushToken(); + + expect(token).toBeNull(); + }); + }); + + describe("setupDefaultAndroidChannel", () => { + test("returns early when notifications module is null", async () => { + mockGetNotificationsModule = () => null; + + const { setupDefaultAndroidChannel } = await import( + "../../../src/modules/push/utils" + ); + await setupDefaultAndroidChannel(); + + expect( + mockNotifications.setNotificationChannelAsync, + ).not.toHaveBeenCalled(); + }); + }); + + describe("registerForPushNotifications", () => { + test("returns null silently when permission status is 'unavailable'", async () => { + // Make getNotificationsModule return null so requestPushPermission returns "unavailable" + mockGetNotificationsModule = () => null; + + const warnSpy = vi.spyOn(console, "warn").mockImplementation(() => {}); + + const { registerForPushNotifications } = await import( + "../../../src/modules/push/utils" + ); + const token = await registerForPushNotifications(); + + expect(token).toBeNull(); + // Should NOT log the "User may have denied" warning + expect(warnSpy).not.toHaveBeenCalledWith( + expect.stringContaining("User may have denied"), + ); + + warnSpy.mockRestore(); + }); + + test("logs warning when permission is denied", async () => { + mockNotifications.getPermissionsAsync.mockResolvedValueOnce({ + status: "undetermined", + }); + mockNotifications.requestPermissionsAsync.mockResolvedValueOnce({ + status: "denied", + }); + + const warnSpy = vi.spyOn(console, "warn").mockImplementation(() => {}); + + const { registerForPushNotifications } = await import( + "../../../src/modules/push/utils" + ); + const token = await registerForPushNotifications(); + + expect(token).toBeNull(); + expect(warnSpy).toHaveBeenCalledWith( + expect.stringContaining("User may have denied"), + ); + + warnSpy.mockRestore(); + }); + }); +}); From f5bb5e925fa7eb87bf42e6f92db86b55b9f1cc6d Mon Sep 17 00:00:00 2001 From: Kyle McDonald Date: Wed, 1 Apr 2026 11:17:40 -0500 Subject: [PATCH 06/10] fix: use react-native-reanimated 4.x with react-native-worklets for RN 0.83 compatibility Reanimated 3.x references UIManagerModuleListener which was removed in React Native 0.83 (new architecture only). Reanimated 4.2.1 and react-native-worklets 0.7.2 are both included in Expo Go for SDK 55, so this does not require a development build. --- examples/expo-example/package.json | 6 +- yarn.lock | 122 +++++++++++++++-------------- 2 files changed, 66 insertions(+), 62 deletions(-) diff --git a/examples/expo-example/package.json b/examples/expo-example/package.json index 5d37b3ef4..ad37d2d1b 100644 --- a/examples/expo-example/package.json +++ b/examples/expo-example/package.json @@ -35,11 +35,12 @@ "react-dom": "^19.0.0", "react-native": "^0.83.4", "react-native-gesture-handler": "~2.30.0", - "react-native-reanimated": "~3.19.5", + "react-native-reanimated": "~4.2.1", "react-native-safe-area-context": "~5.6.2", "react-native-screens": "~4.23.0", "react-native-web": "~0.21.0", - "react-native-webview": "13.16.0" + "react-native-webview": "13.16.0", + "react-native-worklets": "~0.7.2" }, "devDependencies": { "@babel/core": "^7.28.0", @@ -58,7 +59,6 @@ "expo": { "install": { "exclude": [ - "react-native-reanimated", "typescript" ] } diff --git a/yarn.lock b/yarn.lock index bac67f033..d5d624606 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1072,7 +1072,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.0.0-0, @babel/plugin-transform-arrow-functions@npm:^7.24.7, @babel/plugin-transform-arrow-functions@npm:^7.27.1": +"@babel/plugin-transform-arrow-functions@npm:7.27.1, @babel/plugin-transform-arrow-functions@npm:^7.24.7, @babel/plugin-transform-arrow-functions@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-arrow-functions@npm:7.27.1" dependencies: @@ -1168,7 +1168,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.0.0-0, @babel/plugin-transform-class-properties@npm:^7.25.4": +"@babel/plugin-transform-class-properties@npm:7.27.1, @babel/plugin-transform-class-properties@npm:^7.25.4": version: 7.27.1 resolution: "@babel/plugin-transform-class-properties@npm:7.27.1" dependencies: @@ -1204,19 +1204,19 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.0.0-0": - version: 7.28.0 - resolution: "@babel/plugin-transform-classes@npm:7.28.0" +"@babel/plugin-transform-classes@npm:7.28.4": + version: 7.28.4 + resolution: "@babel/plugin-transform-classes@npm:7.28.4" dependencies: "@babel/helper-annotate-as-pure": "npm:^7.27.3" "@babel/helper-compilation-targets": "npm:^7.27.2" "@babel/helper-globals": "npm:^7.28.0" "@babel/helper-plugin-utils": "npm:^7.27.1" "@babel/helper-replace-supers": "npm:^7.27.1" - "@babel/traverse": "npm:^7.28.0" + "@babel/traverse": "npm:^7.28.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/3b213b43104fe99dd7e79401a86d09e545836e057a70ffe77e8196a87bf67ae167e502ae90afdf0d1a2be683be5652514aaeda743bd984e583523dd8ecfef887 + checksum: 10c0/76687ed37216ff012c599870dc00183fb716f22e1a02fe9481943664c0e4d0d88c3da347dc3fe290d4728f4d47cd594ffa621d23845e2bb8ab446e586308e066 languageName: node linkType: hard @@ -1568,7 +1568,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.0.0-0, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7": +"@babel/plugin-transform-nullish-coalescing-operator@npm:7.27.1, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7": version: 7.27.1 resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.27.1" dependencies: @@ -1675,7 +1675,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.0.0-0, @babel/plugin-transform-optional-chaining@npm:^7.24.8, @babel/plugin-transform-optional-chaining@npm:^7.27.1": +"@babel/plugin-transform-optional-chaining@npm:7.27.1, @babel/plugin-transform-optional-chaining@npm:^7.24.8, @babel/plugin-transform-optional-chaining@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-optional-chaining@npm:7.27.1" dependencies: @@ -1930,7 +1930,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.0.0-0, @babel/plugin-transform-shorthand-properties@npm:^7.24.7, @babel/plugin-transform-shorthand-properties@npm:^7.27.1": +"@babel/plugin-transform-shorthand-properties@npm:7.27.1, @babel/plugin-transform-shorthand-properties@npm:^7.24.7, @babel/plugin-transform-shorthand-properties@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-shorthand-properties@npm:7.27.1" dependencies: @@ -1976,7 +1976,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.0.0-0, @babel/plugin-transform-template-literals@npm:^7.27.1": +"@babel/plugin-transform-template-literals@npm:7.27.1, @babel/plugin-transform-template-literals@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-template-literals@npm:7.27.1" dependencies: @@ -2036,7 +2036,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.0.0-0, @babel/plugin-transform-unicode-regex@npm:^7.24.7, @babel/plugin-transform-unicode-regex@npm:^7.27.1": +"@babel/plugin-transform-unicode-regex@npm:7.27.1, @babel/plugin-transform-unicode-regex@npm:^7.24.7, @babel/plugin-transform-unicode-regex@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-unicode-regex@npm:7.27.1" dependencies: @@ -2169,7 +2169,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.16.7, @babel/preset-typescript@npm:^7.23.0, @babel/preset-typescript@npm:^7.27.0": +"@babel/preset-typescript@npm:7.27.1, @babel/preset-typescript@npm:^7.23.0, @babel/preset-typescript@npm:^7.27.0": version: 7.27.1 resolution: "@babel/preset-typescript@npm:7.27.1" dependencies: @@ -2257,7 +2257,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.28.5, @babel/traverse@npm:^7.28.6, @babel/traverse@npm:^7.29.0": +"@babel/traverse@npm:^7.28.4, @babel/traverse@npm:^7.28.5, @babel/traverse@npm:^7.28.6, @babel/traverse@npm:^7.29.0": version: 7.29.0 resolution: "@babel/traverse@npm:7.29.0" dependencies: @@ -4451,11 +4451,12 @@ __metadata: react-dom: "npm:^19.0.0" react-native: "npm:^0.83.4" react-native-gesture-handler: "npm:~2.30.0" - react-native-reanimated: "npm:~3.19.5" + react-native-reanimated: "npm:~4.2.1" react-native-safe-area-context: "npm:~5.6.2" react-native-screens: "npm:~4.23.0" react-native-web: "npm:~0.21.0" react-native-webview: "npm:13.16.0" + react-native-worklets: "npm:~0.7.2" typescript: "npm:^5.8.3" languageName: unknown linkType: soft @@ -10927,6 +10928,13 @@ __metadata: languageName: node linkType: hard +"convert-source-map@npm:2.0.0, convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + "convert-source-map@npm:^1.5.0": version: 1.9.0 resolution: "convert-source-map@npm:1.9.0" @@ -10934,13 +10942,6 @@ __metadata: languageName: node linkType: hard -"convert-source-map@npm:^2.0.0": - version: 2.0.0 - resolution: "convert-source-map@npm:2.0.0" - checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b - languageName: node - linkType: hard - "cookie-es@npm:^2.0.0": version: 2.0.0 resolution: "cookie-es@npm:2.0.0" @@ -18395,16 +18396,6 @@ __metadata: languageName: node linkType: hard -"react-native-is-edge-to-edge@npm:1.1.7": - version: 1.1.7 - resolution: "react-native-is-edge-to-edge@npm:1.1.7" - peerDependencies: - react: "*" - react-native: "*" - checksum: 10c0/b7a37437f439b1e27a4d980de01994aa71b9091dc3ed00c21172d5505fb11978cd5ed3a43f97c89d502a3a08cf26e5cea6435b8d6e93d3557a92dd43563f7021 - languageName: node - linkType: hard - "react-native-is-edge-to-edge@npm:^1.2.1": version: 1.3.1 resolution: "react-native-is-edge-to-edge@npm:1.3.1" @@ -18415,27 +18406,17 @@ __metadata: languageName: node linkType: hard -"react-native-reanimated@npm:~3.19.5": - version: 3.19.5 - resolution: "react-native-reanimated@npm:3.19.5" +"react-native-reanimated@npm:~4.2.1": + version: 4.2.3 + resolution: "react-native-reanimated@npm:4.2.3" dependencies: - "@babel/plugin-transform-arrow-functions": "npm:^7.0.0-0" - "@babel/plugin-transform-class-properties": "npm:^7.0.0-0" - "@babel/plugin-transform-classes": "npm:^7.0.0-0" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.0.0-0" - "@babel/plugin-transform-optional-chaining": "npm:^7.0.0-0" - "@babel/plugin-transform-shorthand-properties": "npm:^7.0.0-0" - "@babel/plugin-transform-template-literals": "npm:^7.0.0-0" - "@babel/plugin-transform-unicode-regex": "npm:^7.0.0-0" - "@babel/preset-typescript": "npm:^7.16.7" - convert-source-map: "npm:^2.0.0" - invariant: "npm:^2.2.4" - react-native-is-edge-to-edge: "npm:1.1.7" + react-native-is-edge-to-edge: "npm:^1.2.1" + semver: "npm:^7.7.3" peerDependencies: - "@babel/core": ^7.0.0-0 react: "*" - react-native: "*" - checksum: 10c0/5da1e142b5c2fefc118a2c6b2bba224deffb98048399b350c22e3496d36ff348ca0d72f7a0b8478db069b1d10e56f42c070c03807fa7e384cf12d9f35c8fc6cf + react-native: 0.80 - 0.84 + react-native-worklets: 0.7 - 0.8 + checksum: 10c0/1d8efd906f84a058a7b99753731b4bf4bd257655a6e667d8a0ae21713e70fc04e83dc0bf40a6b617c1dd9368fe00d166a86476541335c1a2416e3624b33213b1 languageName: node linkType: hard @@ -18528,6 +18509,29 @@ __metadata: languageName: node linkType: hard +"react-native-worklets@npm:~0.7.2": + version: 0.7.4 + resolution: "react-native-worklets@npm:0.7.4" + dependencies: + "@babel/plugin-transform-arrow-functions": "npm:7.27.1" + "@babel/plugin-transform-class-properties": "npm:7.27.1" + "@babel/plugin-transform-classes": "npm:7.28.4" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:7.27.1" + "@babel/plugin-transform-optional-chaining": "npm:7.27.1" + "@babel/plugin-transform-shorthand-properties": "npm:7.27.1" + "@babel/plugin-transform-template-literals": "npm:7.27.1" + "@babel/plugin-transform-unicode-regex": "npm:7.27.1" + "@babel/preset-typescript": "npm:7.27.1" + convert-source-map: "npm:2.0.0" + semver: "npm:7.7.3" + peerDependencies: + "@babel/core": "*" + react: "*" + react-native: "*" + checksum: 10c0/19683baa69b6f7458cdfdb2af27644d6fd14168c8c658e1c0f20fb3ea96e612742ed5ea9e189fc54959e2dc617b6864bbbb6dc3242b7a6a2d70bb49da09d033b + languageName: node + linkType: hard + "react-native@npm:*": version: 0.79.2 resolution: "react-native@npm:0.79.2" @@ -19494,6 +19498,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:7.7.3, semver@npm:^7.7.3": + version: 7.7.3 + resolution: "semver@npm:7.7.3" + bin: + semver: bin/semver.js + checksum: 10c0/4afe5c986567db82f44c8c6faef8fe9df2a9b1d98098fc1721f57c696c4c21cebd572f297fc21002f81889492345b8470473bc6f4aff5fb032a6ea59ea2bc45e + languageName: node + linkType: hard + "semver@npm:^6.3.0, semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" @@ -19512,15 +19525,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.7.3": - version: 7.7.3 - resolution: "semver@npm:7.7.3" - bin: - semver: bin/semver.js - checksum: 10c0/4afe5c986567db82f44c8c6faef8fe9df2a9b1d98098fc1721f57c696c4c21cebd572f297fc21002f81889492345b8470473bc6f4aff5fb032a6ea59ea2bc45e - languageName: node - linkType: hard - "semver@npm:~7.5.4": version: 7.5.4 resolution: "semver@npm:7.5.4" From c825bc913fb4761b254908dea7aede5f28335a0b Mon Sep 17 00:00:00 2001 From: Kyle McDonald Date: Wed, 1 Apr 2026 11:40:29 -0500 Subject: [PATCH 07/10] test: add full coverage for getNotificationsModule require and catch paths Add _resetForTesting helper to allow tests to reset the module cache and inject a custom require function. This enables testing the successful require path, the require-throws-and-warns path, and the caching behavior without fighting Vitest's module mock limitations. --- .../modules/push/getNotificationsModule.ts | 23 ++++- ...tNotificationsModule.androidExpoGo.test.ts | 6 +- .../push/getNotificationsModule.test.ts | 94 +++++++++++++++++++ 3 files changed, 117 insertions(+), 6 deletions(-) create mode 100644 packages/expo/test/modules/push/getNotificationsModule.test.ts diff --git a/packages/expo/src/modules/push/getNotificationsModule.ts b/packages/expo/src/modules/push/getNotificationsModule.ts index 4c8b309b1..a3e308cb8 100644 --- a/packages/expo/src/modules/push/getNotificationsModule.ts +++ b/packages/expo/src/modules/push/getNotificationsModule.ts @@ -44,6 +44,13 @@ function isAndroidExpoGo(): boolean { ); } +// Abstracted for testability — Vitest cannot intercept require() calls +// inside dynamically imported modules after vi.resetModules(). +/* v8 ignore next 3 -- default require is replaced in tests via _resetForTesting */ +let requireNotifications: () => NotificationsModule = () => + // eslint-disable-next-line @typescript-eslint/no-require-imports + require("expo-notifications") as NotificationsModule; + export function getNotificationsModule(): NotificationsModule | null { if (cachedModule !== undefined) { return cachedModule; @@ -64,8 +71,7 @@ export function getNotificationsModule(): NotificationsModule | null { } try { - // eslint-disable-next-line @typescript-eslint/no-require-imports - cachedModule = require("expo-notifications") as NotificationsModule; + cachedModule = requireNotifications(); } catch { console.warn( "[Knock] expo-notifications could not be loaded. " + @@ -76,3 +82,16 @@ export function getNotificationsModule(): NotificationsModule | null { return cachedModule; } + +/** + * @internal Test-only — reset the cached module and optionally override + * the require function used to load expo-notifications. + */ +export function _resetForTesting( + overrideRequire?: () => NotificationsModule, +): void { + cachedModule = undefined; + if (overrideRequire) { + requireNotifications = overrideRequire; + } +} diff --git a/packages/expo/test/modules/push/getNotificationsModule.androidExpoGo.test.ts b/packages/expo/test/modules/push/getNotificationsModule.androidExpoGo.test.ts index b565ac9a5..3bbcabfb1 100644 --- a/packages/expo/test/modules/push/getNotificationsModule.androidExpoGo.test.ts +++ b/packages/expo/test/modules/push/getNotificationsModule.androidExpoGo.test.ts @@ -47,10 +47,8 @@ describe("getNotificationsModule (Android Expo Go)", () => { "../../../src/modules/push/getNotificationsModule" ); - // First call already happened in previous test (module cached), - // but since vitest runs each test() sequentially in the same module - // context, the cache from the first test persists here. - // Call again to verify caching — warn should not fire again. + // Cache is already set from the previous test (same module context). + // Calling again should return cached null without another warning. const callCountBefore = warnSpy.mock.calls.length; getNotificationsModule(); const callCountAfter = warnSpy.mock.calls.length; diff --git a/packages/expo/test/modules/push/getNotificationsModule.test.ts b/packages/expo/test/modules/push/getNotificationsModule.test.ts new file mode 100644 index 000000000..3cc03c051 --- /dev/null +++ b/packages/expo/test/modules/push/getNotificationsModule.test.ts @@ -0,0 +1,94 @@ +import { beforeEach, describe, expect, test, vi } from "vitest"; + +// This file tests the successful-load and require-failure paths of +// getNotificationsModule. It uses _resetForTesting to clear the module +// cache and inject a custom require function, avoiding Vitest's limitation +// with intercepting require() calls after vi.resetModules(). + +vi.mock("react-native", () => ({ + Platform: { OS: "ios" }, +})); + +vi.mock("expo-constants", () => ({ + default: { executionEnvironment: "bare" }, + ExecutionEnvironment: { + Bare: "bare", + Standalone: "standalone", + StoreClient: "storeClient", + }, +})); + +vi.mock("expo-notifications", () => ({})); + +const mockNotificationsModule = { + setNotificationHandler: vi.fn(), + getPermissionsAsync: vi.fn(), + AndroidImportance: { MAX: 5 }, +}; + +describe("getNotificationsModule", () => { + let getNotificationsModule: typeof import("../../../src/modules/push/getNotificationsModule").getNotificationsModule; + let _resetForTesting: typeof import("../../../src/modules/push/getNotificationsModule")._resetForTesting; + + beforeEach(async () => { + const mod = await import( + "../../../src/modules/push/getNotificationsModule" + ); + getNotificationsModule = mod.getNotificationsModule; + _resetForTesting = mod._resetForTesting; + + // Reset cache and inject a successful require for each test + _resetForTesting(() => mockNotificationsModule as never); + }); + + test("returns the module when require succeeds", () => { + const result = getNotificationsModule(); + + expect(result).not.toBeNull(); + expect(result).toHaveProperty("setNotificationHandler"); + expect(result).toHaveProperty("AndroidImportance"); + }); + + test("caches the result on subsequent calls", () => { + const first = getNotificationsModule(); + const second = getNotificationsModule(); + + expect(first).toBe(second); + }); + + test("returns null and warns when require throws", () => { + _resetForTesting(() => { + throw new Error("Module not found"); + }); + + const warnSpy = vi.spyOn(console, "warn").mockImplementation(() => {}); + + const result = getNotificationsModule(); + + expect(result).toBeNull(); + expect(warnSpy).toHaveBeenCalledWith( + expect.stringContaining("expo-notifications could not be loaded"), + ); + + warnSpy.mockRestore(); + }); + + test("caches null after require failure", () => { + _resetForTesting(() => { + throw new Error("Module not found"); + }); + + const warnSpy = vi.spyOn(console, "warn").mockImplementation(() => {}); + + getNotificationsModule(); + const warnCountAfterFirst = warnSpy.mock.calls.length; + + getNotificationsModule(); + const warnCountAfterSecond = warnSpy.mock.calls.length; + + // Warning only fires on the first call; second returns cached null + expect(warnCountAfterSecond).toBe(warnCountAfterFirst); + + warnSpy.mockRestore(); + }); +}); From a7b0d507f1e0badfb85a8109663fa42f65de571b Mon Sep 17 00:00:00 2001 From: Kyle McDonald Date: Wed, 1 Apr 2026 12:38:36 -0500 Subject: [PATCH 08/10] fix: use tilde range for react-native-svg in published package dependencies Exact version pins in published library dependencies can cause duplicate native module installs for consumers. Use ~15.15.3 for consistency with other deps in the same block. Addresses comment by @cursor: exact version pin on library dependency --- packages/expo/package.json | 2 +- packages/react-native/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/expo/package.json b/packages/expo/package.json index 48a4852ff..0abf0cd92 100644 --- a/packages/expo/package.json +++ b/packages/expo/package.json @@ -56,7 +56,7 @@ "@knocklabs/react-native": "workspace:^", "react-native-gesture-handler": "~2.30.0", "react-native-render-html": "^6.3.4", - "react-native-svg": "15.15.3" + "react-native-svg": "~15.15.3" }, "devDependencies": { "@codecov/vite-plugin": "^1.9.1", diff --git a/packages/react-native/package.json b/packages/react-native/package.json index 193635025..85ff801d8 100644 --- a/packages/react-native/package.json +++ b/packages/react-native/package.json @@ -50,7 +50,7 @@ "react-native-gesture-handler": "~2.30.0", "react-native-get-random-values": "^1.11.0", "react-native-render-html": "^6.3.4", - "react-native-svg": "15.15.3" + "react-native-svg": "~15.15.3" }, "devDependencies": { "@codecov/vite-plugin": "^1.9.1", From 695c454cd9cdf8a1ca360ae7532c7e1ac13ad97b Mon Sep 17 00:00:00 2001 From: Kyle McDonald Date: Wed, 1 Apr 2026 12:40:03 -0500 Subject: [PATCH 09/10] fix: lockfile --- yarn.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index d5d624606..39237d11f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4488,7 +4488,7 @@ __metadata: react-native: "npm:^0.83.4" react-native-gesture-handler: "npm:~2.30.0" react-native-render-html: "npm:^6.3.4" - react-native-svg: "npm:15.15.3" + react-native-svg: "npm:~15.15.3" rimraf: "npm:^6.0.1" typescript: "npm:^5.8.3" vite: "npm:^5.4.19" @@ -4603,7 +4603,7 @@ __metadata: react-native-gesture-handler: "npm:~2.30.0" react-native-get-random-values: "npm:^1.11.0" react-native-render-html: "npm:^6.3.4" - react-native-svg: "npm:15.15.3" + react-native-svg: "npm:~15.15.3" rimraf: "npm:^6.0.1" typescript: "npm:^5.8.3" vite: "npm:^5.4.19" @@ -18463,9 +18463,9 @@ __metadata: languageName: node linkType: hard -"react-native-svg@npm:15.15.3": - version: 15.15.3 - resolution: "react-native-svg@npm:15.15.3" +"react-native-svg@npm:~15.15.3": + version: 15.15.4 + resolution: "react-native-svg@npm:15.15.4" dependencies: css-select: "npm:^5.1.0" css-tree: "npm:^1.1.3" @@ -18473,7 +18473,7 @@ __metadata: peerDependencies: react: "*" react-native: "*" - checksum: 10c0/6aa5ea4745c7d174909468b5d5cb75059856d907f0b039bf3650deb81c9afcbd356f2382d7a7424d4cc69597aea5a508484ee5dba91b9126e3b520bc10faefe9 + checksum: 10c0/1fb8e3ac9d45a4db74731a006cd32f883051844f361974dff49e1a4142aa7c1a0d87e0b04fff06a1932ca53940bcfb94e45e01a845eb451d4659fbf07092629e languageName: node linkType: hard From 3070cd1701b7457cde047b64a1a7c2ca0ae42f1b Mon Sep 17 00:00:00 2001 From: Kyle McDonald Date: Wed, 1 Apr 2026 13:08:27 -0500 Subject: [PATCH 10/10] chore: fix typo in changeset --- .changeset/old-cats-drop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/old-cats-drop.md b/.changeset/old-cats-drop.md index d1c0b6651..7073a29f7 100644 --- a/.changeset/old-cats-drop.md +++ b/.changeset/old-cats-drop.md @@ -4,4 +4,4 @@ "@knocklabs/expo": minor --- -chore: upgrade expo and react native packages to their latest version, ensure expo go builds on android get the proper warning about deprecated notifcation support from expo, ensure expo-example app works as expected. +chore: upgrade expo and react native packages to their latest version, ensure expo go builds on android get the proper warning about deprecated notification support from expo, ensure expo-example app works as expected.