From dc31feceddb84467db40e14ba278a1a93924e59b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20S=C5=82uszniak?= Date: Tue, 14 Apr 2026 12:44:25 +0200 Subject: [PATCH 1/5] fix: update demo apps for Expo 55 / RN 0.83 compatibility - Bump computer-vision, llm, speech, and text-embeddings to expo ^55.0.13 / react-native 0.83.4 / react 19.2.5 - Bump @react-navigation/native to ^7.2.2 to align @react-navigation/core versions and fix "Element type is invalid" crash in Drawer/Stack navigators - Replace DrawerToggleButton with a custom SVG hamburger icon in the apps that use Drawer (broken PNG assets in @react-navigation/drawer 7.9.x) - Replace react-native-device-info with expo-constants in computer-vision BottomBar (module-level NativeEventEmitter crashes on the new architecture in RN 0.83) - Move createSynchronizable calls inside the component in vision_camera screen (fails at module scope before the worklets runtime is ready) - Drop react-native-audio-api/metro-config from speech metro config (not published in the audio-api versions used here) --- apps/computer-vision/app/_layout.tsx | 43 +- .../app/vision_camera/index.tsx | 11 +- apps/computer-vision/components/BottomBar.tsx | 8 +- apps/computer-vision/package.json | 45 +- apps/llm/app/_layout.tsx | 47 +- apps/llm/package.json | 50 +- apps/speech/metro.config.js | 5 +- apps/speech/package.json | 27 +- apps/text-embeddings/app/_layout.tsx | 43 +- apps/text-embeddings/package.json | 37 +- yarn.lock | 2266 ++++++++++++----- 11 files changed, 1797 insertions(+), 785 deletions(-) diff --git a/apps/computer-vision/app/_layout.tsx b/apps/computer-vision/app/_layout.tsx index ea47ebdb3f..01442b6007 100644 --- a/apps/computer-vision/app/_layout.tsx +++ b/apps/computer-vision/app/_layout.tsx @@ -4,19 +4,59 @@ import { ExpoResourceFetcher } from 'react-native-executorch-expo-resource-fetch import ColorPalette from '../colors'; import React, { useState } from 'react'; -import { Text, StyleSheet, View } from 'react-native'; +import { Text, StyleSheet, View, TouchableOpacity } from 'react-native'; import { DrawerContentComponentProps, DrawerContentScrollView, DrawerItemList, } from '@react-navigation/drawer'; +import { DrawerActions } from '@react-navigation/native'; +import { useNavigation } from 'expo-router'; +import Svg, { Rect } from 'react-native-svg'; import { GeneratingContext } from '../context'; initExecutorch({ resourceFetcher: ExpoResourceFetcher, }); +function HamburgerIcon({ tintColor }: { tintColor?: string }) { + const navigation = useNavigation(); + return ( + navigation.dispatch(DrawerActions.toggleDrawer())} + style={{ marginLeft: 12 }} + > + + + + + + + ); +} + interface CustomDrawerProps extends DrawerContentComponentProps { isGenerating: boolean; } @@ -57,6 +97,7 @@ export default function _layout() { drawerInactiveTintColor: '#888', headerTintColor: ColorPalette.primary, headerTitleStyle: { color: ColorPalette.primary }, + headerLeft: (props) => , }} > ('back'); - export default function VisionCameraScreen() { const insets = useSafeAreaInsets(); const router = useRouter(); + const [frameKillSwitch] = useState(() => createSynchronizable(false)); + const [cameraPositionSync] = useState(() => + createSynchronizable<'front' | 'back'>('back') + ); const [activeTask, setActiveTask] = useState('classification'); const [activeModel, setActiveModel] = useState('classification'); const [canvasSize, setCanvasSize] = useState({ width: 1, height: 1 }); @@ -146,11 +147,11 @@ export default function VisionCameraScreen() { frameKillSwitch.setBlocking(false); }, 300); return () => clearTimeout(id); - }, [activeModel]); + }, [activeModel, frameKillSwitch]); useEffect(() => { cameraPositionSync.setBlocking(cameraPosition); - }, [cameraPosition]); + }, [cameraPosition, cameraPositionSync]); const handleFpsChange = useCallback((newFps: number, newMs: number) => { setFps(newFps); diff --git a/apps/computer-vision/components/BottomBar.tsx b/apps/computer-vision/components/BottomBar.tsx index b77fdce4cf..0579e2adfd 100644 --- a/apps/computer-vision/components/BottomBar.tsx +++ b/apps/computer-vision/components/BottomBar.tsx @@ -1,6 +1,6 @@ import ColorPalette from '../colors'; import FontAwesome from '@expo/vector-icons/FontAwesome'; -import DeviceInfo from 'react-native-device-info'; +import Constants from 'expo-constants'; import { View, TouchableOpacity, StyleSheet, Text } from 'react-native'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; @@ -25,14 +25,12 @@ export const BottomBar = ({ - !DeviceInfo.isEmulatorSync() && handleCameraPress(true) - } + onPress={() => Constants.isDevice && handleCameraPress(true)} > diff --git a/apps/computer-vision/package.json b/apps/computer-vision/package.json index 5f3c23b738..9ad6123898 100644 --- a/apps/computer-vision/package.json +++ b/apps/computer-vision/package.json @@ -11,32 +11,32 @@ "lint": "eslint . --ext .ts,.tsx --fix" }, "dependencies": { - "@react-native/metro-config": "^0.81.5", - "@react-navigation/drawer": "^7.8.1", - "@react-navigation/native": "^7.1.28", - "@shopify/react-native-skia": "2.4.21", - "expo": "^54.0.27", - "expo-build-properties": "~1.0.10", - "expo-constants": "~18.0.11", - "expo-font": "~14.0.10", - "expo-linking": "~8.0.10", - "expo-router": "~6.0.17", - "expo-status-bar": "~3.0.9", - "metro-config": "^0.81.5", - "react": "19.1.0", - "react-native": "0.81.5", - "react-native-device-info": "^15.0.2", + "@expo/log-box": "~55.0.10", + "@react-native/metro-config": "^0.83.0", + "@react-navigation/drawer": "^7.9.4", + "@react-navigation/native": "^7.2.2", + "@shopify/react-native-skia": "2.6.2", + "expo": "^55.0.13", + "expo-build-properties": "~55.0.13", + "expo-constants": "~55.0.13", + "expo-font": "~55.0.6", + "expo-linking": "~55.0.12", + "expo-router": "~55.0.11", + "expo-status-bar": "~55.0.5", + "metro-config": "^0.83.0", + "react": "19.2.5", + "react-native": "0.83.4", "react-native-executorch": "workspace:*", "react-native-executorch-expo-resource-fetcher": "workspace:*", - "react-native-gesture-handler": "~2.28.0", - "react-native-image-picker": "^7.2.2", + "react-native-gesture-handler": "~2.31.1", + "react-native-image-picker": "^8.2.1", "react-native-loading-spinner-overlay": "^3.0.1", "react-native-nitro-image": "0.13.1", "react-native-nitro-modules": "0.35.4", - "react-native-reanimated": "4.3.0", - "react-native-safe-area-context": "~5.6.0", - "react-native-screens": "~4.16.0", - "react-native-svg": "15.15.3", + "react-native-reanimated": "~4.3.0", + "react-native-safe-area-context": "~5.7.0", + "react-native-screens": "~4.24.0", + "react-native-svg": "15.15.4", "react-native-svg-transformer": "^1.5.3", "react-native-vision-camera": "^5.0.6", "react-native-vision-camera-worklets": "^5.0.6", @@ -45,7 +45,8 @@ "devDependencies": { "@babel/core": "^7.29.0", "@types/pngjs": "^6.0.5", - "@types/react": "~19.2.0" + "@types/react": "~19.2.0", + "babel-preset-expo": "~55.0.16" }, "private": true } diff --git a/apps/llm/app/_layout.tsx b/apps/llm/app/_layout.tsx index f2f49b5342..55668bb0e4 100644 --- a/apps/llm/app/_layout.tsx +++ b/apps/llm/app/_layout.tsx @@ -3,15 +3,54 @@ import { initExecutorch } from 'react-native-executorch'; import { ExpoResourceFetcher } from 'react-native-executorch-expo-resource-fetcher'; import ColorPalette from '../colors'; import React, { useState } from 'react'; -import { Text, StyleSheet, View } from 'react-native'; +import { Text, StyleSheet, View, TouchableOpacity } from 'react-native'; import { DrawerContentComponentProps, DrawerContentScrollView, DrawerItemList, - DrawerToggleButton, } from '@react-navigation/drawer'; +import { DrawerActions } from '@react-navigation/native'; +import { useNavigation } from 'expo-router'; +import Svg, { Rect } from 'react-native-svg'; import { GeneratingContext } from '../context'; +function HamburgerIcon({ tintColor }: { tintColor?: string }) { + const navigation = useNavigation(); + return ( + navigation.dispatch(DrawerActions.toggleDrawer())} + style={{ marginLeft: 12 }} + > + + + + + + + ); +} + initExecutorch({ resourceFetcher: ExpoResourceFetcher, }); @@ -56,9 +95,7 @@ export default function _layout() { drawerInactiveTintColor: '#888', headerTintColor: ColorPalette.primary, headerTitleStyle: { color: ColorPalette.primary }, - headerLeft: () => ( - - ), + headerLeft: (props) => , }} > navigation.dispatch(DrawerActions.toggleDrawer())} + style={{ marginLeft: 12 }} + > + + + + + + + ); +} + initExecutorch({ resourceFetcher: ExpoResourceFetcher, }); @@ -56,6 +96,7 @@ export default function _layout() { drawerInactiveTintColor: '#888', headerTintColor: ColorPalette.primary, headerTitleStyle: { color: ColorPalette.primary }, + headerLeft: (props) => , }} > = 18.2.0" + react-native: "*" + react-native-safe-area-context: ">= 4.0.0" + react-native-screens: ">= 4.0.0" + checksum: 10/92301d3eb053ec4dab545a705dd4cb812d4d2d617cca354aff9fec5f8379750112b0070fe2bffe334cabc300e40bf5119e72970e2c5710a9ae1eb70ea6e37d86 + languageName: node + linkType: hard + "@react-navigation/bottom-tabs@npm:^7.4.0": version: 7.15.2 resolution: "@react-navigation/bottom-tabs@npm:7.15.2" @@ -4873,23 +5408,61 @@ __metadata: languageName: node linkType: hard -"@react-navigation/drawer@npm:^7.8.1": - version: 7.9.2 - resolution: "@react-navigation/drawer@npm:7.9.2" +"@react-navigation/core@npm:^7.17.2": + version: 7.17.2 + resolution: "@react-navigation/core@npm:7.17.2" dependencies: - "@react-navigation/elements": "npm:^2.9.8" + "@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" + use-latest-callback: "npm:^0.2.4" + use-sync-external-store: "npm:^1.5.0" + peerDependencies: + react: ">= 18.2.0" + checksum: 10/79d63f1e6f50a63bcaa21dd920a29fde2c88845e12dead83c9abf9ff3b837f993b9179685bcc6c7f21d4c2ccde60abfc57853e62b9dd397264455a867fd92ec3 + languageName: node + linkType: hard + +"@react-navigation/drawer@npm:^7.9.4": + version: 7.9.9 + resolution: "@react-navigation/drawer@npm:7.9.9" + dependencies: + "@react-navigation/elements": "npm:^2.9.15" color: "npm:^4.2.3" react-native-drawer-layout: "npm:^4.2.2" use-latest-callback: "npm:^0.2.4" peerDependencies: - "@react-navigation/native": ^7.1.31 + "@react-navigation/native": ^7.2.2 react: ">= 18.2.0" react-native: "*" react-native-gesture-handler: ">= 2.0.0" react-native-reanimated: ">= 2.0.0" react-native-safe-area-context: ">= 4.0.0" react-native-screens: ">= 4.0.0" - checksum: 10/47b37265d0ee005e6194a0353687b8f36ed33c7f3fd059bbb110abcdeed2ab8a3f8e9fdca8875a02a92eae7794035d5887a66c7f862f84077286f2aec2f21e23 + checksum: 10/61b03e33ee444b5714048cee96e45c9249e305c5796cd9098ccfd5c30c7838c5c5c72cfccc0681528c7e6f636a16843a31fcd58adbc58cc984e83bcea521b1b2 + languageName: node + linkType: hard + +"@react-navigation/elements@npm:^2.9.15": + version: 2.9.15 + resolution: "@react-navigation/elements@npm:2.9.15" + 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.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: 10/414e0fddc1a9fc7b857a7b351cfbc85cc964d5ff3ab6d1708be1853270ccc64e7cf55e680ab6b26320082f1e0fc0a3c7604977b5cd8298436568fe35ebde4827 languageName: node linkType: hard @@ -4913,6 +5486,24 @@ __metadata: languageName: node linkType: hard +"@react-navigation/native-stack@npm:^7.14.5": + version: 7.14.12 + resolution: "@react-navigation/native-stack@npm:7.14.12" + dependencies: + "@react-navigation/elements": "npm:^2.9.15" + color: "npm:^4.2.3" + sf-symbols-typescript: "npm:^2.1.0" + warn-once: "npm:^0.1.1" + peerDependencies: + "@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: 10/1a1602d30063772652ba9bca927cc78938ffd1fd20bd5dab1a01f6f239075a5d70fed5ca3b0e0bbcbfd14abb819e9a1b87a03e46d4c1194ea524b7bc9c61e294 + languageName: node + linkType: hard + "@react-navigation/native-stack@npm:^7.3.16": version: 7.14.2 resolution: "@react-navigation/native-stack@npm:7.14.2" @@ -4931,7 +5522,23 @@ __metadata: languageName: node linkType: hard -"@react-navigation/native@npm:^7.1.28, @react-navigation/native@npm:^7.1.8": +"@react-navigation/native@npm:^7.1.33, @react-navigation/native@npm:^7.2.2": + version: 7.2.2 + resolution: "@react-navigation/native@npm:7.2.2" + dependencies: + "@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" + use-latest-callback: "npm:^0.2.4" + peerDependencies: + react: ">= 18.2.0" + react-native: "*" + checksum: 10/83e8c4f9979378a932c7cce8106e2fde1774b5ff902e9da9b96e0a188183706a9e24bcfbd0f3e63fb5a5211617e66d69c8c0ee89696f93c12c1c4ed4998e9d00 + languageName: node + linkType: hard + +"@react-navigation/native@npm:^7.1.8": version: 7.1.31 resolution: "@react-navigation/native@npm:7.1.31" dependencies: @@ -4956,11 +5563,15 @@ __metadata: languageName: node linkType: hard -"@shopify/react-native-skia@npm:2.4.21": - version: 2.4.21 - resolution: "@shopify/react-native-skia@npm:2.4.21" +"@shopify/react-native-skia@npm:2.6.2": + version: 2.6.2 + resolution: "@shopify/react-native-skia@npm:2.6.2" dependencies: - canvaskit-wasm: "npm:0.40.0" + canvaskit-wasm: "npm:0.41.0" + react-native-skia-android: "npm:147.1.0" + react-native-skia-apple-ios: "npm:147.1.0" + react-native-skia-apple-macos: "npm:147.1.0" + react-native-skia-apple-tvos: "npm:147.1.0" react-reconciler: "npm:0.31.0" peerDependencies: react: ">=19.0" @@ -4972,8 +5583,9 @@ __metadata: react-native-reanimated: optional: true bin: + install-skia: scripts/install-libs.js setup-skia-web: scripts/setup-canvaskit.js - checksum: 10/a08112f9711572fe47a435d63eb8ed518ea1feb7f62015bed65849dfa13ca303d34d6a0bc2a5c557ab9e31328d6ca8f9e9be240a76c259397de6196ce74692ee + checksum: 10/cdcdb6058ec21d836f874a0a37b385448d06d4faadc8b5b134c1f37826bba04cf6aedbc9dea2d42cb79f0b1bfe7a692571f374c378614dfb84ae120366d1887b languageName: node linkType: hard @@ -5374,7 +5986,7 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:*, @types/react@npm:^19.1.0, @types/react@npm:~19.2.0": +"@types/react@npm:*, @types/react@npm:^19.1.0, @types/react@npm:~19.2.0, @types/react@npm:~19.2.14": version: 19.2.14 resolution: "@types/react@npm:19.2.14" dependencies: @@ -5892,18 +6504,6 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.11.0": - version: 8.18.0 - resolution: "ajv@npm:8.18.0" - dependencies: - fast-deep-equal: "npm:^3.1.3" - fast-uri: "npm:^3.0.1" - json-schema-traverse: "npm:^1.0.0" - require-from-string: "npm:^2.0.2" - checksum: 10/bfed9de827a2b27c6d4084324eda76a4e32bdde27410b3e9b81d06e6f8f5c78370fc6b93fe1d869f1939ff1d7c4ae8896960995acb8425e3e9288c8884247c48 - languageName: node - linkType: hard - "anser@npm:^1.4.9": version: 1.4.10 resolution: "anser@npm:1.4.10" @@ -6389,6 +6989,15 @@ __metadata: 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: 10/b8b6c4d2ffa2cf0c6835c58693899023da86dd42a785355c0d005abda5a857cb701fd7b879ccbebafdc146ebfa635aeb4650dd69dc245f21f1378060ebfde9ed + 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" @@ -6462,6 +7071,49 @@ __metadata: languageName: node linkType: hard +"babel-preset-expo@npm:~55.0.16, babel-preset-expo@npm:~55.0.18": + version: 55.0.18 + resolution: "babel-preset-expo@npm:55.0.18" + 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" + "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7" + "@babel/plugin-transform-parameters": "npm:^7.24.7" + "@babel/plugin-transform-private-methods": "npm:^7.24.7" + "@babel/plugin-transform-private-property-in-object": "npm:^7.24.7" + "@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.83.6" + 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" + resolve-from: "npm:^5.0.0" + peerDependencies: + "@babel/runtime": ^7.20.0 + expo: "*" + expo-widgets: ^55.0.14 + react-refresh: ">=0.14.0 <1.0.0" + peerDependenciesMeta: + "@babel/runtime": + optional: true + expo: + optional: true + expo-widgets: + optional: true + checksum: 10/c490e19bbda57cd2364de25162a456f5d4940b5613ce7b3e67c233aec73b6a4a49a3adf8371ed256959360727900763b15a294e96fe447d9e886a95c09938843 + languageName: node + linkType: hard + "babel-preset-jest@npm:30.2.0": version: 30.2.0 resolution: "babel-preset-jest@npm:30.2.0" @@ -6791,31 +7443,6 @@ __metadata: languageName: node linkType: hard -"caller-callsite@npm:^2.0.0": - version: 2.0.0 - resolution: "caller-callsite@npm:2.0.0" - dependencies: - callsites: "npm:^2.0.0" - checksum: 10/b685e9d126d9247b320cfdfeb3bc8da0c4be28d8fb98c471a96bc51aab3130099898a2fe3bf0308f0fe048d64c37d6d09f563958b9afce1a1e5e63d879c128a2 - languageName: node - linkType: hard - -"caller-path@npm:^2.0.0": - version: 2.0.0 - resolution: "caller-path@npm:2.0.0" - dependencies: - caller-callsite: "npm:^2.0.0" - checksum: 10/3e12ccd0c71ec10a057aac69e3ec175b721ca858c640df021ef0d25999e22f7c1d864934b596b7d47038e9b56b7ec315add042abbd15caac882998b50102fb12 - languageName: node - linkType: hard - -"callsites@npm:^2.0.0": - version: 2.0.0 - resolution: "callsites@npm:2.0.0" - checksum: 10/be2f67b247df913732b7dec1ec0bbfcdbaea263e5a95968b19ec7965affae9496b970e3024317e6d4baa8e28dc6ba0cec03f46fdddc2fdcc51396600e53c2623 - languageName: node - linkType: hard - "callsites@npm:^3.0.0, callsites@npm:^3.1.0": version: 3.1.0 resolution: "callsites@npm:3.1.0" @@ -6851,12 +7478,12 @@ __metadata: languageName: node linkType: hard -"canvaskit-wasm@npm:0.40.0": - version: 0.40.0 - resolution: "canvaskit-wasm@npm:0.40.0" +"canvaskit-wasm@npm:0.41.0": + version: 0.41.0 + resolution: "canvaskit-wasm@npm:0.41.0" dependencies: "@webgpu/types": "npm:0.1.21" - checksum: 10/2bdd0607a0e8e55a40e53be1693e59ee39cc99191dc53a265fdd12842d0f77b20f87862bfe9ecc432ad7f0079dc275505d2d5a828451bccd4f597fc12f14ebb7 + checksum: 10/3c24e892da8046aa17ba5f47aae8d855c9277aba849ee983e0562c70e9f50178d9dcd16f9420a8b6278adf9dd815f5c4dac09346e88fbcf4d968f959c93eb560 languageName: node linkType: hard @@ -7249,34 +7876,35 @@ __metadata: resolution: "computer-vision@workspace:apps/computer-vision" dependencies: "@babel/core": "npm:^7.29.0" - "@react-native/metro-config": "npm:^0.81.5" - "@react-navigation/drawer": "npm:^7.8.1" - "@react-navigation/native": "npm:^7.1.28" - "@shopify/react-native-skia": "npm:2.4.21" + "@expo/log-box": "npm:~55.0.10" + "@react-native/metro-config": "npm:^0.83.0" + "@react-navigation/drawer": "npm:^7.9.4" + "@react-navigation/native": "npm:^7.2.2" + "@shopify/react-native-skia": "npm:2.6.2" "@types/pngjs": "npm:^6.0.5" "@types/react": "npm:~19.2.0" - expo: "npm:^54.0.27" - expo-build-properties: "npm:~1.0.10" - expo-constants: "npm:~18.0.11" - expo-font: "npm:~14.0.10" - expo-linking: "npm:~8.0.10" - expo-router: "npm:~6.0.17" - expo-status-bar: "npm:~3.0.9" - metro-config: "npm:^0.81.5" - react: "npm:19.1.0" - react-native: "npm:0.81.5" - react-native-device-info: "npm:^15.0.2" + babel-preset-expo: "npm:~55.0.16" + expo: "npm:^55.0.13" + expo-build-properties: "npm:~55.0.13" + expo-constants: "npm:~55.0.13" + expo-font: "npm:~55.0.6" + expo-linking: "npm:~55.0.12" + expo-router: "npm:~55.0.11" + expo-status-bar: "npm:~55.0.5" + metro-config: "npm:^0.83.0" + react: "npm:19.2.5" + react-native: "npm:0.83.4" react-native-executorch: "workspace:*" react-native-executorch-expo-resource-fetcher: "workspace:*" - react-native-gesture-handler: "npm:~2.28.0" - react-native-image-picker: "npm:^7.2.2" + react-native-gesture-handler: "npm:~2.31.1" + react-native-image-picker: "npm:^8.2.1" react-native-loading-spinner-overlay: "npm:^3.0.1" react-native-nitro-image: "npm:0.13.1" react-native-nitro-modules: "npm:0.35.4" - react-native-reanimated: "npm:4.3.0" - react-native-safe-area-context: "npm:~5.6.0" - react-native-screens: "npm:~4.16.0" - react-native-svg: "npm:15.15.3" + react-native-reanimated: "npm:~4.3.0" + react-native-safe-area-context: "npm:~5.7.0" + react-native-screens: "npm:~4.24.0" + react-native-svg: "npm:15.15.4" react-native-svg-transformer: "npm:^1.5.3" react-native-vision-camera: "npm:^5.0.6" react-native-vision-camera-worklets: "npm:^5.0.6" @@ -7310,7 +7938,7 @@ __metadata: languageName: node linkType: hard -"convert-source-map@npm:2.0.0, 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: 10/c987be3ec061348cdb3c2bfb924bec86dea1eacad10550a85ca23edb0fe3556c3a61c7399114f3331ccb3499d7fd0285ab24566e5745929412983494c3926e15 @@ -7333,18 +7961,6 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:^5.0.5": - version: 5.2.1 - resolution: "cosmiconfig@npm:5.2.1" - dependencies: - import-fresh: "npm:^2.0.0" - is-directory: "npm:^0.3.1" - js-yaml: "npm:^3.13.1" - parse-json: "npm:^4.0.0" - checksum: 10/1d617668e1367b8d66617fb8a1bd8c13e9598534959ac0cc86195b1b0cbe7afbba2b9faa300c60b9d9d35409cf4f064b0f6e377f4ea036434e5250c69c76932f - languageName: node - linkType: hard - "cosmiconfig@npm:^8.1.3": version: 8.3.6 resolution: "cosmiconfig@npm:8.3.6" @@ -7670,7 +8286,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.6.9": +"debug@npm:2.6.9, debug@npm:^2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" dependencies: @@ -7896,6 +8512,13 @@ __metadata: languageName: node linkType: hard +"dnssd-advertise@npm:^1.1.4": + version: 1.1.4 + resolution: "dnssd-advertise@npm:1.1.4" + checksum: 10/b8a50bac99bc96d79a42bec68fe7ffcf233d5d6accf2be762dfdb2e11ce2cc1be462ab56e7162b60a34a9b90d7222c5e97d2e5d0f44983ab00956328e999d55f + languageName: node + linkType: hard + "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -8766,35 +9389,50 @@ __metadata: languageName: node linkType: hard -"expo-brightness@npm:~14.0.8": - version: 14.0.8 - resolution: "expo-brightness@npm:14.0.8" +"expo-asset@npm:~55.0.16": + version: 55.0.16 + resolution: "expo-asset@npm:55.0.16" + dependencies: + "@expo/image-utils": "npm:^0.8.13" + expo-constants: "npm:~55.0.15" + peerDependencies: + expo: "*" + react: "*" + react-native: "*" + checksum: 10/c23f4970806df2d758e9092b85682ced0a302edb45614dfa136dbba767aa6480075849fae6781c412b9b005cc216e026046f6af383485a2a3ad816ab16cba791 + languageName: node + linkType: hard + +"expo-brightness@npm:~55.0.13": + version: 55.0.13 + resolution: "expo-brightness@npm:55.0.13" peerDependencies: expo: "*" react-native: "*" - checksum: 10/b6bab1a24276bcf1e45a85489d8227c8039ef607554e6e20a3d6748b1c97af790f51e17a8ad992bd93261e7a571741b83aad114965a66054b5d8264b88bbfa96 + checksum: 10/25ebc5e97d8962cf3b1d3e355a1194ea76b51e55688c9fc7b17f9c1dbfc27900aedabf5e6b9eedcb980e0578598c28e07452ad528556bd59a61c09c3988dc10f languageName: node linkType: hard -"expo-build-properties@npm:~1.0.10": - version: 1.0.10 - resolution: "expo-build-properties@npm:1.0.10" +"expo-build-properties@npm:~55.0.13": + version: 55.0.13 + resolution: "expo-build-properties@npm:55.0.13" dependencies: - ajv: "npm:^8.11.0" + "@expo/schema-utils": "npm:^55.0.3" + resolve-from: "npm:^5.0.0" semver: "npm:^7.6.0" peerDependencies: expo: "*" - checksum: 10/0dde41d659d243268ceae49bba3e4c07b72c245df8124f86fb720bc0556a2c4d03dd75e59e068a07438ef5ba3188b67a7a6516d2a37d3d91429070745b2506a2 + checksum: 10/b3de6f308c61d1b24f085d2e5e246cfcadd253791dd802aa5440a0894f775801a6ca1dbb8b0b2f64f42c037d5811d930a32bef693a2f61e336f830734140b2bf languageName: node linkType: hard -"expo-calendar@npm:~15.0.8": - version: 15.0.8 - resolution: "expo-calendar@npm:15.0.8" +"expo-calendar@npm:~55.0.14": + version: 55.0.14 + resolution: "expo-calendar@npm:55.0.14" peerDependencies: expo: "*" react-native: "*" - checksum: 10/7a8538af25f3784467b56a352726c7c3e19d0caecff6a0ed9e0946000dbab0f38f8386b8bb38b35f2d384c66dda5dff3984376eb1282ab6775f75f500abd4b7c + checksum: 10/c12a173e3f3c5c77f124927890b48bdf07a35fa268c3a6c4659e7b2c46a58c292f8518f0ae85b4b2f5b231dda0f4128a8b8bd0c1c6d65e66f0457714dade1ff2 languageName: node linkType: hard @@ -8811,12 +9449,24 @@ __metadata: languageName: node linkType: hard -"expo-document-picker@npm:~13.0.3": - version: 13.0.3 - resolution: "expo-document-picker@npm:13.0.3" +"expo-constants@npm:~55.0.13, expo-constants@npm:~55.0.15": + version: 55.0.15 + resolution: "expo-constants@npm:55.0.15" + dependencies: + "@expo/env": "npm:~2.1.1" + peerDependencies: + expo: "*" + react-native: "*" + checksum: 10/b0992b543ef9258168932deeddf48754ba007b2950bbf2564c9407119fee6e644fa0e63ad5979e739e7e86cdc40f72fa9b785786ebbf2e39c0aa020d085cb027 + languageName: node + linkType: hard + +"expo-document-picker@npm:~55.0.13": + version: 55.0.13 + resolution: "expo-document-picker@npm:55.0.13" peerDependencies: expo: "*" - checksum: 10/a336310e6327d26f36ac19b5867e2ef453dd59a0e30f7b2854c34bc1f874d967f92ced4e0b5fddc2b193ba1d88059033e6f3b076980c060169b191f4af184f90 + checksum: 10/bcf4a9e6cbc8a0cc61012b2143d231b210a93134b48f45f2a3f85057fc8504b5a79592fbbbae7e67aa8e36891ba64a49b3e3d0f859170b174b8df2c7cdbd3065 languageName: node linkType: hard @@ -8830,7 +9480,17 @@ __metadata: languageName: node linkType: hard -"expo-font@npm:~14.0.10, expo-font@npm:~14.0.11": +"expo-file-system@npm:~55.0.17": + version: 55.0.17 + resolution: "expo-file-system@npm:55.0.17" + peerDependencies: + expo: "*" + react-native: "*" + checksum: 10/0569b4fe65666ececd41ac7d3c8d3fd2c0bda2ce73125be7ee784c686807c6604fe16292614f3f654104922566ecb79cce48bf4cda4980af170fb2572ae57dd3 + languageName: node + linkType: hard + +"expo-font@npm:~14.0.11": version: 14.0.11 resolution: "expo-font@npm:14.0.11" dependencies: @@ -8843,6 +9503,47 @@ __metadata: languageName: node linkType: hard +"expo-font@npm:~55.0.6": + version: 55.0.6 + resolution: "expo-font@npm:55.0.6" + dependencies: + fontfaceobserver: "npm:^2.1.0" + peerDependencies: + expo: "*" + react: "*" + react-native: "*" + checksum: 10/8063423abd4d2c06a6b7e06507d1dd119c98b37903cb494a2e5cb84fb9f83dbc5b4b9dd8dbe9f2b7c76b0554b97c2106e28fa9f277bcbfd50b70132643ed4de6 + languageName: node + linkType: hard + +"expo-glass-effect@npm:^55.0.10": + version: 55.0.10 + resolution: "expo-glass-effect@npm:55.0.10" + peerDependencies: + expo: "*" + react: "*" + react-native: "*" + checksum: 10/389c3646a9eb3213389e80d959338ebc47ddcf734fdfc31ecb9c4942617f0d541ec5bd187362ebe034a59e10446dca5e1f9b1e7bc6146c60efec02416625157f + languageName: node + linkType: hard + +"expo-image@npm:^55.0.9": + version: 55.0.9 + resolution: "expo-image@npm:55.0.9" + dependencies: + sf-symbols-typescript: "npm:^2.2.0" + peerDependencies: + expo: "*" + react: "*" + react-native: "*" + react-native-web: "*" + peerDependenciesMeta: + react-native-web: + optional: true + checksum: 10/b83d121eeaf924999b05e37ff4d612481909ffe420b24b609aeb492ac6b496b85414f5daafb57a55fd939e86b3ffeef2ba79eaf4450912741c5ffc26b084db55 + languageName: node + linkType: hard + "expo-keep-awake@npm:~15.0.8": version: 15.0.8 resolution: "expo-keep-awake@npm:15.0.8" @@ -8853,16 +9554,26 @@ __metadata: languageName: node linkType: hard -"expo-linking@npm:~8.0.10": - version: 8.0.11 - resolution: "expo-linking@npm:8.0.11" +"expo-keep-awake@npm:~55.0.6": + version: 55.0.6 + resolution: "expo-keep-awake@npm:55.0.6" + peerDependencies: + expo: "*" + react: "*" + checksum: 10/f4d52bf8c5499c7c8df4398b0ebe78c835361d15b488350340b410c57ac9794c2781cda605ce6cce968e37adab126fec455ceb3b5b97128186cc7e18571c414c + languageName: node + linkType: hard + +"expo-linking@npm:~55.0.12": + version: 55.0.14 + resolution: "expo-linking@npm:55.0.14" dependencies: - expo-constants: "npm:~18.0.12" + expo-constants: "npm:~55.0.15" invariant: "npm:^2.2.4" peerDependencies: react: "*" react-native: "*" - checksum: 10/b43851e173e5b2b21ac7cfc1fef05ae1cb39209c82af73943abb1e701a767e3759cf4a85e47bb181ab8a0c7b080f9b9d9b7d52f6c54f620f06dad7848e05f336 + checksum: 10/a8b5ddf1457834a77ed1ed877530fec22f5c3f8f84c460699b21ae0872adea864589a38f7dd4379fc65b0f4da9c753d7314892c88a6f6a476854b19fd84cebff languageName: node linkType: hard @@ -8881,6 +9592,20 @@ __metadata: languageName: node linkType: hard +"expo-modules-autolinking@npm:55.0.18": + version: 55.0.18 + resolution: "expo-modules-autolinking@npm:55.0.18" + dependencies: + "@expo/require-utils": "npm:^55.0.4" + "@expo/spawn-async": "npm:^1.7.2" + chalk: "npm:^4.1.0" + commander: "npm:^7.2.0" + bin: + expo-modules-autolinking: bin/expo-modules-autolinking.js + checksum: 10/d4976bf99b49c8f1e5d4885b11f47d8852f878da19e88c3a4e879e42498ed4d22185ed4ee56496583ee83bb6ba15fbdc1d82788b7403a12392d0640e1c56f914 + languageName: node + linkType: hard + "expo-modules-core@npm:3.0.29": version: 3.0.29 resolution: "expo-modules-core@npm:3.0.29" @@ -8893,6 +9618,88 @@ __metadata: languageName: node linkType: hard +"expo-modules-core@npm:55.0.23": + version: 55.0.23 + resolution: "expo-modules-core@npm:55.0.23" + dependencies: + invariant: "npm:^2.2.4" + peerDependencies: + react: "*" + react-native: "*" + react-native-worklets: ^0.7.4 || ^0.8.0 + peerDependenciesMeta: + react-native-worklets: + optional: true + checksum: 10/b442000958f95b250d1d5b9ccc5fd4b3064e4a4261ff5e45e1d73833ec8ab3df0e7d6f36c6a0f487b85f90ca4c124bab61da4a45e074fbda5e93c77bd5c36995 + languageName: node + linkType: hard + +"expo-router@npm:~55.0.11": + version: 55.0.13 + resolution: "expo-router@npm:55.0.13" + dependencies: + "@expo/metro-runtime": "npm:^55.0.10" + "@expo/schema-utils": "npm:^55.0.3" + "@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.10" + expo-image: "npm:^55.0.9" + expo-server: "npm:^55.0.8" + expo-symbols: "npm:^55.0.7" + 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.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: + "@expo/log-box": 55.0.11 + "@expo/metro-runtime": ^55.0.10 + "@react-navigation/drawer": ^7.9.4 + "@testing-library/react-native": ">= 13.2.0" + expo: "*" + expo-constants: ^55.0.15 + expo-linking: ^55.0.14 + react: "*" + react-dom: "*" + react-native: "*" + react-native-gesture-handler: "*" + react-native-reanimated: "*" + 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/react-native": + optional: true + react-dom: + optional: true + react-native-gesture-handler: + optional: true + react-native-reanimated: + optional: true + react-native-web: + optional: true + react-server-dom-webpack: + optional: true + checksum: 10/7b8fee93aea16c3c19d645b47560eb994a695306212831f31d02f94b231157bd2adaf050b1393b830bcd318706898f383cd5fe29cae895091440095900654185 + languageName: node + linkType: hard + "expo-router@npm:~6.0.17": version: 6.0.23 resolution: "expo-router@npm:6.0.23" @@ -8962,19 +9769,41 @@ __metadata: languageName: node linkType: hard -"expo-status-bar@npm:~3.0.9": - version: 3.0.9 - resolution: "expo-status-bar@npm:3.0.9" +"expo-server@npm:^55.0.8": + version: 55.0.8 + resolution: "expo-server@npm:55.0.8" + checksum: 10/aa8c1b8ba5d67c6565736c06cca06fe38592817eb27aaf015c6f24a831d399d8d231070f5724db8c25d9ebd987086551f6a11fae1ffa8c520f647019c470e02f + languageName: node + linkType: hard + +"expo-status-bar@npm:~55.0.5": + version: 55.0.5 + resolution: "expo-status-bar@npm:55.0.5" dependencies: react-native-is-edge-to-edge: "npm:^1.2.1" peerDependencies: react: "*" react-native: "*" - checksum: 10/c598dc8089b962c97e50cfd2dde876391cfd675d756700c5439b0522678bced99d70f04a2128f80d6b84ba7676929afdc3165dfaf14ea771ac1e82104f30768d + checksum: 10/04b0ac4f9908174c4ecdf40b9a2eddcd33dc7567238fe0c21036a1536db855b431a90be6a7e03bd4f0c2c0917644f2f33269fe701ff363a8f62137737d649d53 + languageName: node + linkType: hard + +"expo-symbols@npm:^55.0.7": + version: 55.0.7 + resolution: "expo-symbols@npm:55.0.7" + 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: 10/1a7fb4cdd8db819aea70d845f8f4f3023fd7a050819e8c6431d57bbfb9dd693c9c7303bb83bddd9a4898b3310d11d12a1fc331e2f4b9ed678cf59baaf380245c languageName: node linkType: hard -"expo@npm:^54.0.0, expo@npm:^54.0.27": +"expo@npm:^54.0.0": version: 54.0.33 resolution: "expo@npm:54.0.33" dependencies: @@ -9020,6 +9849,54 @@ __metadata: languageName: node linkType: hard +"expo@npm:^55.0.13": + version: 55.0.17 + resolution: "expo@npm:55.0.17" + dependencies: + "@babel/runtime": "npm:^7.20.0" + "@expo/cli": "npm:55.0.26" + "@expo/config": "npm:~55.0.15" + "@expo/config-plugins": "npm:~55.0.8" + "@expo/devtools": "npm:55.0.2" + "@expo/fingerprint": "npm:0.16.6" + "@expo/local-build-cache-provider": "npm:55.0.11" + "@expo/log-box": "npm:55.0.11" + "@expo/metro": "npm:~55.1.0" + "@expo/metro-config": "npm:55.0.17" + "@expo/vector-icons": "npm:^15.0.2" + "@ungap/structured-clone": "npm:^1.3.0" + babel-preset-expo: "npm:~55.0.18" + expo-asset: "npm:~55.0.16" + expo-constants: "npm:~55.0.15" + expo-file-system: "npm:~55.0.17" + expo-font: "npm:~55.0.6" + expo-keep-awake: "npm:~55.0.6" + expo-modules-autolinking: "npm:55.0.18" + expo-modules-core: "npm:55.0.23" + 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": "*" + react: "*" + react-native: "*" + react-native-webview: "*" + peerDependenciesMeta: + "@expo/dom-webview": + optional: true + "@expo/metro-runtime": + optional: true + react-native-webview: + optional: true + bin: + expo: bin/cli + expo-modules-autolinking: bin/autolinking + fingerprint: bin/fingerprint + checksum: 10/1633ed03547fcddf6ddb077b098049cb959f83f40b7529344a3b8b407e011708ba85f043198a2d1ebf42c9c8fbdf4a44b5bee65686c28375a9545e674001c6af + languageName: node + linkType: hard + "exponential-backoff@npm:^3.1.1": version: 3.1.3 resolution: "exponential-backoff@npm:3.1.3" @@ -9075,13 +9952,6 @@ __metadata: languageName: node linkType: hard -"fast-uri@npm:^3.0.1": - version: 3.1.0 - resolution: "fast-uri@npm:3.1.0" - checksum: 10/818b2c96dc913bcf8511d844c3d2420e2c70b325c0653633f51821e4e29013c2015387944435cd0ef5322c36c9beecc31e44f71b257aeb8e0b333c1d62bb17c2 - languageName: node - linkType: hard - "fast-xml-builder@npm:^1.0.0": version: 1.0.0 resolution: "fast-xml-builder@npm:1.0.0" @@ -9121,6 +9991,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: 10/9335e6835b6bb6d12807fe60e37af197295d26d671c20f355df188f3359188dda3d3bf93b978e3df93f67c4f67a281122399b828f0e49360302431db23480dee + languageName: node + linkType: hard + "fb-watchman@npm:^2.0.0, fb-watchman@npm:^2.0.2": version: 2.0.2 resolution: "fb-watchman@npm:2.0.2" @@ -9142,6 +10021,13 @@ __metadata: languageName: node linkType: hard +"fetch-nodeshim@npm:^0.4.10": + version: 0.4.10 + resolution: "fetch-nodeshim@npm:0.4.10" + checksum: 10/4abc48fe6bb2c44493f4d781a8d746e99133b18e456f44626fde36852e9f63fe7a3f71c1b0316e49725398c19b46d503389b4622e6e62b81f70add6da4b43cd7 + languageName: node + linkType: hard + "file-entry-cache@npm:^6.0.1": version: 6.0.1 resolution: "file-entry-cache@npm:6.0.1" @@ -9664,10 +10550,10 @@ __metadata: languageName: node linkType: hard -"hermes-estree@npm:0.25.1": - version: 0.25.1 - resolution: "hermes-estree@npm:0.25.1" - checksum: 10/7b1eca98b264a25632064cffa5771360d30cf452e77db1e191f9913ee45cf78c292b2dbca707e92fb71b0870abb97e94b506a5ab80abd96ba237fee169b601fe +"hermes-compiler@npm:0.14.1": + version: 0.14.1 + resolution: "hermes-compiler@npm:0.14.1" + checksum: 10/dbb0f4886532b26262721fa34de5947502b265cea8574f6094915abf59d31c757da6a41730cb6f6d088ec7607d659e8b4036782d227dcf072e9a49152bbef756 languageName: node linkType: hard @@ -9692,6 +10578,13 @@ __metadata: languageName: node linkType: hard +"hermes-estree@npm:0.32.1": + version: 0.32.1 + resolution: "hermes-estree@npm:0.32.1" + checksum: 10/6d0c03216c69fcabe6a534ffcffd4bc21b54de1e7ae3c81f1cafce36c33c4acafe334ee27e865f65549b78971dbdb3d78be9b40281365a162c6a23a6b8f1e06b + languageName: node + linkType: hard + "hermes-estree@npm:0.33.3": version: 0.33.3 resolution: "hermes-estree@npm:0.33.3" @@ -9699,12 +10592,10 @@ __metadata: languageName: node linkType: hard -"hermes-parser@npm:0.25.1": - version: 0.25.1 - resolution: "hermes-parser@npm:0.25.1" - dependencies: - hermes-estree: "npm:0.25.1" - checksum: 10/805efc05691420f236654349872c70731121791fa54de521c7ee51059eae34f84dd19f22ee846741dcb60372f8fb5335719b96b4ecb010d2aed7d872f2eff9cc +"hermes-estree@npm:0.35.0": + version: 0.35.0 + resolution: "hermes-estree@npm:0.35.0" + checksum: 10/d10283d0189ab2270ecae08632ed4f15eb79f206add4960d198aa6efd5686e1c92ed37c17a020c730281e46ff2f56661f3d787bdfb1692218c1495b329049747 languageName: node linkType: hard @@ -9735,6 +10626,15 @@ __metadata: 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: 10/f392d309e3e9d01a01fd71bda83a488906b1182ebf4073768a6528b28c7a1b54f099a4170593dcfad886c434927dbedf93eff985ec6cf78af4c6eded10e26f03 + languageName: node + linkType: hard + "hermes-parser@npm:0.33.3": version: 0.33.3 resolution: "hermes-parser@npm:0.33.3" @@ -9744,6 +10644,15 @@ __metadata: languageName: node linkType: hard +"hermes-parser@npm:0.35.0": + version: 0.35.0 + resolution: "hermes-parser@npm:0.35.0" + dependencies: + hermes-estree: "npm:0.35.0" + checksum: 10/62be25fa41b708db21c4db9153b0d60cfbf9bd4645f1712eb559b3be8c191266b5b381df60fbbc45416799f73c2361eb69a81eead21dc5159fe2ea72f946d5f7 + languageName: node + linkType: hard + "hoist-non-react-statics@npm:^3.3.0": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" @@ -9880,16 +10789,6 @@ __metadata: languageName: node linkType: hard -"import-fresh@npm:^2.0.0": - version: 2.0.0 - resolution: "import-fresh@npm:2.0.0" - dependencies: - caller-path: "npm:^2.0.0" - resolve-from: "npm:^3.0.0" - checksum: 10/610255f9753cc6775df00be08e9f43691aa39f7703e3636c45afe22346b8b545e600ccfe100c554607546fc8e861fa149a0d1da078c8adedeea30fff326eef79 - languageName: node - linkType: hard - "import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0, import-fresh@npm:^3.3.1": version: 3.3.1 resolution: "import-fresh@npm:3.3.1" @@ -10119,13 +11018,6 @@ __metadata: languageName: node linkType: hard -"is-directory@npm:^0.3.1": - version: 0.3.1 - resolution: "is-directory@npm:0.3.1" - checksum: 10/dce9a9d3981e38f2ded2a80848734824c50ee8680cd09aa477bef617949715cfc987197a2ca0176c58a9fb192a1a0d69b535c397140d241996a609d5906ae524 - languageName: node - linkType: hard - "is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": version: 2.2.1 resolution: "is-docker@npm:2.2.1" @@ -11481,13 +12373,6 @@ __metadata: languageName: node linkType: hard -"json-parse-better-errors@npm:^1.0.1": - version: 1.0.2 - resolution: "json-parse-better-errors@npm:1.0.2" - checksum: 10/5553232045359b767b0f2039a6777fede1a8d7dca1a0ffb1f9ef73a7519489ae7f566b2e040f2b4c38edb8e35e37ae07af7f0a52420902f869ee0dbf5dc6c784 - languageName: node - linkType: hard - "json-parse-even-better-errors@npm:^2.3.0": version: 2.3.1 resolution: "json-parse-even-better-errors@npm:2.3.1" @@ -11502,13 +12387,6 @@ __metadata: languageName: node linkType: hard -"json-schema-traverse@npm:^1.0.0": - version: 1.0.0 - resolution: "json-schema-traverse@npm:1.0.0" - checksum: 10/02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad - languageName: node - linkType: hard - "json-stable-stringify-without-jsonify@npm:^1.0.1": version: 1.0.1 resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" @@ -11610,6 +12488,15 @@ __metadata: languageName: node linkType: hard +"lan-network@npm:^0.2.1": + version: 0.2.1 + resolution: "lan-network@npm:0.2.1" + bin: + lan-network: dist/lan-network-cli.js + checksum: 10/6c39acaaa915c2cd89950c3347352b8743b50710ead1686652791bf93359fabc712affc423b340bb5eb4c2ff20a60120e5d8ddb2b4dced42fc3d8aad126cf525 + languageName: node + linkType: hard + "launch-editor@npm:^2.9.1": version: 2.13.1 resolution: "launch-editor@npm:2.13.1" @@ -11788,37 +12675,39 @@ __metadata: resolution: "llm@workspace:apps/llm" dependencies: "@babel/core": "npm:^7.29.0" - "@react-native/metro-config": "npm:^0.81.6" - "@react-navigation/drawer": "npm:^7.8.1" - "@react-navigation/native": "npm:^7.1.28" - "@types/react": "npm:~19.1.10" - expo: "npm:^54.0.27" - expo-brightness: "npm:~14.0.8" - expo-build-properties: "npm:~1.0.10" - expo-calendar: "npm:~15.0.8" - expo-constants: "npm:~18.0.11" - expo-document-picker: "npm:~13.0.3" - expo-font: "npm:~14.0.10" - expo-linking: "npm:~8.0.10" - expo-router: "npm:~6.0.17" - expo-status-bar: "npm:~3.0.9" - metro-config: "npm:^0.81.5" - react: "npm:19.1.0" - react-native: "npm:0.81.5" + "@expo/log-box": "npm:~55.0.10" + "@react-native/metro-config": "npm:^0.83.0" + "@react-navigation/drawer": "npm:^7.9.4" + "@react-navigation/native": "npm:^7.2.2" + "@types/react": "npm:~19.2.14" + babel-preset-expo: "npm:~55.0.16" + expo: "npm:^55.0.13" + expo-brightness: "npm:~55.0.13" + expo-build-properties: "npm:~55.0.13" + expo-calendar: "npm:~55.0.14" + expo-constants: "npm:~55.0.13" + expo-document-picker: "npm:~55.0.13" + expo-font: "npm:~55.0.6" + expo-linking: "npm:~55.0.12" + expo-router: "npm:~55.0.11" + expo-status-bar: "npm:~55.0.5" + metro-config: "npm:^0.83.0" + react: "npm:19.2.5" + react-native: "npm:0.83.4" react-native-audio-api: "npm:0.12.0" react-native-device-info: "npm:^15.0.2" react-native-executorch: "workspace:*" react-native-executorch-expo-resource-fetcher: "workspace:*" - react-native-gesture-handler: "npm:~2.28.0" - react-native-image-picker: "npm:^7.2.2" + react-native-gesture-handler: "npm:~2.31.1" + react-native-image-picker: "npm:^8.2.1" react-native-loading-spinner-overlay: "npm:^3.0.1" react-native-markdown-display: "npm:^7.0.2" - react-native-reanimated: "npm:~4.1.1" - react-native-safe-area-context: "npm:~5.6.0" - react-native-screens: "npm:~4.16.0" - react-native-svg: "npm:15.15.3" + react-native-reanimated: "npm:~4.3.0" + react-native-safe-area-context: "npm:~5.7.0" + react-native-screens: "npm:~4.24.0" + react-native-svg: "npm:15.15.4" react-native-svg-transformer: "npm:^1.5.3" - react-native-worklets: "npm:0.7.4" + react-native-worklets: "npm:0.8.1" languageName: unknown linkType: soft @@ -12121,18 +13010,6 @@ __metadata: languageName: node linkType: hard -"metro-babel-transformer@npm:0.81.5": - version: 0.81.5 - resolution: "metro-babel-transformer@npm:0.81.5" - dependencies: - "@babel/core": "npm:^7.25.2" - flow-enums-runtime: "npm:^0.0.6" - hermes-parser: "npm:0.25.1" - nullthrows: "npm:^1.1.1" - checksum: 10/331c079508418378294534e6a7da228dc6b271827c8622a148c1e0dfdd18729f16eeea84e96541e95e7eee126d49180f92540cd39b37a2f96bf5c015456f49a1 - languageName: node - linkType: hard - "metro-babel-transformer@npm:0.83.3": version: 0.83.3 resolution: "metro-babel-transformer@npm:0.83.3" @@ -12157,12 +13034,16 @@ __metadata: languageName: node linkType: hard -"metro-cache-key@npm:0.81.5": - version: 0.81.5 - resolution: "metro-cache-key@npm:0.81.5" +"metro-babel-transformer@npm:0.83.6": + version: 0.83.6 + resolution: "metro-babel-transformer@npm:0.83.6" dependencies: + "@babel/core": "npm:^7.25.2" flow-enums-runtime: "npm:^0.0.6" - checksum: 10/d5656bc8906ff4366d8093d19304d6ac386c59429e3e7e24050f4bc9f93ca4e04d8062af6bdd28874a5e4b9bcc84f248855933ffa80af56aeed8be5ff02c85bf + hermes-parser: "npm:0.35.0" + metro-cache-key: "npm:0.83.6" + nullthrows: "npm:^1.1.1" + checksum: 10/6aa5f0edf481f4f6029f294c39383a9e0ce4d54038a92f4491cc3be2a01cb0b8e42f1c184d777b3dce47d68136c640f184b76eb1644d0fe428c1461a47db6448 languageName: node linkType: hard @@ -12184,14 +13065,12 @@ __metadata: languageName: node linkType: hard -"metro-cache@npm:0.81.5": - version: 0.81.5 - resolution: "metro-cache@npm:0.81.5" +"metro-cache-key@npm:0.83.6": + version: 0.83.6 + resolution: "metro-cache-key@npm:0.83.6" dependencies: - exponential-backoff: "npm:^3.1.1" flow-enums-runtime: "npm:^0.0.6" - metro-core: "npm:0.81.5" - checksum: 10/6ffc8283ca9002c2a99a9e787e59c764399218459f9db352b9cb7543bf0f38de973130dfc9587997b6fd206c0b87b7c33def754814505c282286f12938c606d0 + checksum: 10/8d1f285d6987b4e57b708272c06d30ba12bc74137c7bf8c0fbcfb61ed7855e8cd3fe7a0c4890fa6c50e63719b28bc03c1c2098a33ac8d4817687feed1521133d languageName: node linkType: hard @@ -12219,19 +13098,15 @@ __metadata: languageName: node linkType: hard -"metro-config@npm:0.81.5, metro-config@npm:^0.81.5": - version: 0.81.5 - resolution: "metro-config@npm:0.81.5" +"metro-cache@npm:0.83.6": + version: 0.83.6 + resolution: "metro-cache@npm:0.83.6" dependencies: - connect: "npm:^3.6.5" - cosmiconfig: "npm:^5.0.5" + exponential-backoff: "npm:^3.1.1" flow-enums-runtime: "npm:^0.0.6" - jest-validate: "npm:^29.7.0" - metro: "npm:0.81.5" - metro-cache: "npm:0.81.5" - metro-core: "npm:0.81.5" - metro-runtime: "npm:0.81.5" - checksum: 10/181775bdb3676f9ecd81387a31ca5ceda42f982f7871029e3f606d21aa2d62416bbd61df5e2fd0f13a7242a0144bbf10c7fd4af65839058271a1f823f2970c9b + https-proxy-agent: "npm:^7.0.5" + metro-core: "npm:0.83.6" + checksum: 10/1e2ea06528a841d478419e780fbd5eca46f1633e7b04dba59f72afa706ad74160da97d665273d6c2365eb73f3b95049b4cd1068a5594e26728941490ac13e9cf languageName: node linkType: hard @@ -12267,14 +13142,19 @@ __metadata: languageName: node linkType: hard -"metro-core@npm:0.81.5": - version: 0.81.5 - resolution: "metro-core@npm:0.81.5" +"metro-config@npm:0.83.6, metro-config@npm:^0.83.0, metro-config@npm:^0.83.6": + version: 0.83.6 + resolution: "metro-config@npm:0.83.6" dependencies: + connect: "npm:^3.6.5" flow-enums-runtime: "npm:^0.0.6" - lodash.throttle: "npm:^4.1.1" - metro-resolver: "npm:0.81.5" - checksum: 10/9ecf5b646ec7cc3d5de7d2ebd21e37713d7b86b68a6e94ec911b2c73a20d7abd972406e2ffa2084f2d156ed5f767fe5658c5c2cc3343f3ed10fc276fe385aa84 + jest-validate: "npm:^29.7.0" + metro: "npm:0.83.6" + metro-cache: "npm:0.83.6" + metro-core: "npm:0.83.6" + metro-runtime: "npm:0.83.6" + yaml: "npm:^2.6.1" + checksum: 10/507b68531cf14f62827263252b10a100ab7296e13bb7dddb60a8d9d221f4d003fe704d95b59f5f0fd1701d11de453fcdf7cbf7108a1c3c0abb8ea6d1563a4533 languageName: node linkType: hard @@ -12300,20 +13180,14 @@ __metadata: languageName: node linkType: hard -"metro-file-map@npm:0.81.5": - version: 0.81.5 - resolution: "metro-file-map@npm:0.81.5" +"metro-core@npm:0.83.6, metro-core@npm:^0.83.3": + version: 0.83.6 + resolution: "metro-core@npm:0.83.6" dependencies: - debug: "npm:^2.2.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: 10/70ce4447c9eae21a7f06081e3999241f21476817f0dd242fcb9591696cf93b0aabbf30dd5542b9b3fd9bfbdf5a7c02d863e0e0a4206175fd621cd7e476f8b16d + lodash.throttle: "npm:^4.1.1" + metro-resolver: "npm:0.83.6" + checksum: 10/6ea03c09f7f894dab0f316c2238e3aa6022c2b88b84c8e6f96c66713ebf1ff02f75c2468db08bb39a7e68701e71a2c2fbd1a74600009be48d6e826202a710820 languageName: node linkType: hard @@ -12351,13 +13225,20 @@ __metadata: languageName: node linkType: hard -"metro-minify-terser@npm:0.81.5": - version: 0.81.5 - resolution: "metro-minify-terser@npm:0.81.5" +"metro-file-map@npm:0.83.6": + version: 0.83.6 + resolution: "metro-file-map@npm:0.83.6" dependencies: + debug: "npm:^4.4.0" + fb-watchman: "npm:^2.0.0" flow-enums-runtime: "npm:^0.0.6" - terser: "npm:^5.15.0" - checksum: 10/4623743676e2bb8bb74b99bd2b2c26feb2509a8db5596f265e21042b43e84611f9025977ae298b8271644cb27e8da8a60b8dff791f57517b4bd2f5ae366f2945 + 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: 10/5f6d74dd44f22126dd586c0f01e3e7d01f2c338bdf53d1ac984767e42c502ae3dbdfb52d550985aa58776a80dafed2e1fa5b144196dd9af27e0cdc08cf912646 languageName: node linkType: hard @@ -12381,6 +13262,16 @@ __metadata: languageName: node linkType: hard +"metro-minify-terser@npm:0.83.6": + version: 0.83.6 + resolution: "metro-minify-terser@npm:0.83.6" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + terser: "npm:^5.15.0" + checksum: 10/36773b9127e2e99b70f7d04d03b3f50d3fec2af938088521b36ece4134d9acf23a25c95c90b9c64025d2519eeef7eb93061ff0c9e00ee2bdd25f756c67561138 + languageName: node + linkType: hard + "metro-react-native-babel-preset@npm:^0.77.0": version: 0.77.0 resolution: "metro-react-native-babel-preset@npm:0.77.0" @@ -12430,15 +13321,6 @@ __metadata: languageName: node linkType: hard -"metro-resolver@npm:0.81.5": - version: 0.81.5 - resolution: "metro-resolver@npm:0.81.5" - dependencies: - flow-enums-runtime: "npm:^0.0.6" - checksum: 10/3f20592755ac52db973a8c111adddad7430322b0b27c5d3d2cf2e2ff73e0693922f98b32a9a46941abc97b604cfb116b0e42c64f005e5c002460fe141a4e5847 - languageName: node - linkType: hard - "metro-resolver@npm:0.83.3": version: 0.83.3 resolution: "metro-resolver@npm:0.83.3" @@ -12457,13 +13339,12 @@ __metadata: languageName: node linkType: hard -"metro-runtime@npm:0.81.5": - version: 0.81.5 - resolution: "metro-runtime@npm:0.81.5" +"metro-resolver@npm:0.83.6": + version: 0.83.6 + resolution: "metro-resolver@npm:0.83.6" dependencies: - "@babel/runtime": "npm:^7.25.0" flow-enums-runtime: "npm:^0.0.6" - checksum: 10/86523a8fb5e1016d886f13f470e2aa0c3cd8f69ccab7094fb07676c05a7115f6e9af1f5fa377e80f426023816afcbf31468fb6a483181b054868358a25e4e59c + checksum: 10/fad9c8d851d529dd6520727278283e725e4ad35570beb98679481d1b1ede6d10a48c1f79aa403690f321ff8ba12399e7b1b2ebe7862d07d159e5204375a62aa0 languageName: node linkType: hard @@ -12487,21 +13368,13 @@ __metadata: languageName: node linkType: hard -"metro-source-map@npm:0.81.5": - version: 0.81.5 - resolution: "metro-source-map@npm:0.81.5" +"metro-runtime@npm:0.83.6, metro-runtime@npm:^0.83.6": + version: 0.83.6 + resolution: "metro-runtime@npm:0.83.6" 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" + "@babel/runtime": "npm:^7.25.0" flow-enums-runtime: "npm:^0.0.6" - invariant: "npm:^2.2.4" - metro-symbolicate: "npm:0.81.5" - nullthrows: "npm:^1.1.1" - ob1: "npm:0.81.5" - source-map: "npm:^0.5.6" - vlq: "npm:^1.0.0" - checksum: 10/6c77706ac5720a18dc7e25fc8b209de6fa386fcd2b9f79e3d88dbf360f5a0f4d4684950ee2243b1418b8e048a0aeb33c257875d1502a5813c1b330331c5b0eba + checksum: 10/1a9fde73df3d8d52e7c015011a9c74fbf27aa67ebca44cce1bf12fb56b9af2d29fc8b6d5030de6a58bbb1a2797fbe1c7c8426020ac6787a273aef56ce55d6ff2 languageName: node linkType: hard @@ -12540,19 +13413,20 @@ __metadata: languageName: node linkType: hard -"metro-symbolicate@npm:0.81.5": - version: 0.81.5 - resolution: "metro-symbolicate@npm:0.81.5" +"metro-source-map@npm:0.83.6, metro-source-map@npm:^0.83.3": + version: 0.83.6 + resolution: "metro-source-map@npm:0.83.6" 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-source-map: "npm:0.81.5" + metro-symbolicate: "npm:0.83.6" nullthrows: "npm:^1.1.1" + ob1: "npm:0.83.6" source-map: "npm:^0.5.6" vlq: "npm:^1.0.0" - bin: - metro-symbolicate: src/index.js - checksum: 10/184290f49eaa605e84157bc5d3befef219806bd13d14c5bcd4eeaac4e360fc880331b6af5a500980e93db274be1bc550439734849c5d20f384f1e12f3ce4aa28 + checksum: 10/983219848f04083f10a4374400d76a124aa364056f7b7e428ffae4ebda8c3867614c9866309d633ef67e1fba92f52f866de1cfe86b8e9cc29873f92186a4f58f languageName: node linkType: hard @@ -12588,17 +13462,19 @@ __metadata: languageName: node linkType: hard -"metro-transform-plugins@npm:0.81.5": - version: 0.81.5 - resolution: "metro-transform-plugins@npm:0.81.5" +"metro-symbolicate@npm:0.83.6": + version: 0.83.6 + resolution: "metro-symbolicate@npm:0.83.6" 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" + invariant: "npm:^2.2.4" + metro-source-map: "npm:0.83.6" nullthrows: "npm:^1.1.1" - checksum: 10/e5108548b5b3cdffb775f929a26df0c6bb804565bda35d1c2221b3ebf4d857002af47969c9b0a08c085f494986832b9f4c8851ab4bce842e7ab99464a5dfa1ca + source-map: "npm:^0.5.6" + vlq: "npm:^1.0.0" + bin: + metro-symbolicate: src/index.js + checksum: 10/a94325c1893312671091eac90ea4419d4b555d0a5f163524c8a7f7eabf4219508944dee5107ae4c519ef8266525632a54e9557c0142d94b2097378c7580a9108 languageName: node linkType: hard @@ -12630,24 +13506,17 @@ __metadata: languageName: node linkType: hard -"metro-transform-worker@npm:0.81.5": - version: 0.81.5 - resolution: "metro-transform-worker@npm:0.81.5" +"metro-transform-plugins@npm:0.83.6": + version: 0.83.6 + resolution: "metro-transform-plugins@npm:0.83.6" 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" + "@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" - metro: "npm:0.81.5" - metro-babel-transformer: "npm:0.81.5" - metro-cache: "npm:0.81.5" - metro-cache-key: "npm:0.81.5" - metro-minify-terser: "npm:0.81.5" - metro-source-map: "npm:0.81.5" - metro-transform-plugins: "npm:0.81.5" nullthrows: "npm:^1.1.1" - checksum: 10/70159c833192afa0c458b566801991034a171c5bc4ce7a0e2aed7a73614689a1a76738597e64d777cb00c9dbb3b21b59ea09473762eaa7a524681698242e8805 + checksum: 10/257f6fffa63e2d436033fb4d0f17e7200b43bad1dcc8da7ff7a5fed6cd00a60a14e5687a6330522773ffbc5c90f81c038e57105ee80313100fbcd6945275a687 languageName: node linkType: hard @@ -12693,53 +13562,24 @@ __metadata: languageName: node linkType: hard -"metro@npm:0.81.5": - version: 0.81.5 - resolution: "metro@npm:0.81.5" +"metro-transform-worker@npm:0.83.6": + version: 0.83.6 + resolution: "metro-transform-worker@npm:0.83.6" 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:^2.2.0" - error-stack-parser: "npm:^2.0.6" + "@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" - graceful-fs: "npm:^4.2.4" - hermes-parser: "npm:0.25.1" - 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.81.5" - metro-cache: "npm:0.81.5" - metro-cache-key: "npm:0.81.5" - metro-config: "npm:0.81.5" - metro-core: "npm:0.81.5" - metro-file-map: "npm:0.81.5" - metro-resolver: "npm:0.81.5" - metro-runtime: "npm:0.81.5" - metro-source-map: "npm:0.81.5" - metro-symbolicate: "npm:0.81.5" - metro-transform-plugins: "npm:0.81.5" - metro-transform-worker: "npm:0.81.5" - mime-types: "npm:^2.1.27" + metro: "npm:0.83.6" + metro-babel-transformer: "npm:0.83.6" + metro-cache: "npm:0.83.6" + metro-cache-key: "npm:0.83.6" + metro-minify-terser: "npm:0.83.6" + metro-source-map: "npm:0.83.6" + metro-transform-plugins: "npm:0.83.6" 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: 10/c0f44bf151e1a9f7be7946047e638d03f9e42a67b6707a49ba4d737678c91fbca980732033ff0c6f0636e7fd7f127ad4bb22b62283c71ea6c2a3bb6f5d7545e9 + checksum: 10/0d8c59fef2a880f060b59fbda0568214bc3290c5e1795a759404e53e97b1ec7b71e55b89a2e25e44337ee49a4e7f0ed1a7c7d788a203ecad48b77fabd8023331 languageName: node linkType: hard @@ -12843,6 +13683,56 @@ __metadata: languageName: node linkType: hard +"metro@npm:0.83.6, metro@npm:^0.83.3": + version: 0.83.6 + resolution: "metro@npm:0.83.6" + 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.35.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.6" + metro-cache: "npm:0.83.6" + metro-cache-key: "npm:0.83.6" + metro-config: "npm:0.83.6" + metro-core: "npm:0.83.6" + metro-file-map: "npm:0.83.6" + metro-resolver: "npm:0.83.6" + metro-runtime: "npm:0.83.6" + metro-source-map: "npm:0.83.6" + metro-symbolicate: "npm:0.83.6" + metro-transform-plugins: "npm:0.83.6" + metro-transform-worker: "npm:0.83.6" + 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: 10/37b97fb2b99fbb2c9d347664d663f64a54219650c0e59e1c12a95e938c33557795c6de26a95ea890239e3d70efd287b815727ce1616aba317d17ec8450c650a4 + languageName: node + linkType: hard + "micromark-core-commonmark@npm:^2.0.0": version: 2.0.3 resolution: "micromark-core-commonmark@npm:2.0.3" @@ -13296,6 +14186,13 @@ __metadata: languageName: node linkType: hard +"multitars@npm:^1.0.0": + version: 1.0.0 + resolution: "multitars@npm:1.0.0" + checksum: 10/acb10b29e81f2eba51f98c2296277c5b8be58fbfb0fdd833b5497c09f000b1d7d27504c00a96ba603d0a1d3bf3f34b8aa55bb70c45bfd923b6eb223bfb65b21d + languageName: node + linkType: hard + "mz@npm:^2.7.0": version: 2.7.0 resolution: "mz@npm:2.7.0" @@ -13492,15 +14389,6 @@ __metadata: languageName: node linkType: hard -"ob1@npm:0.81.5": - version: 0.81.5 - resolution: "ob1@npm:0.81.5" - dependencies: - flow-enums-runtime: "npm:^0.0.6" - checksum: 10/249ad576be69151a3099207b35b2f6da5c6bb39dfacb9295028ebdc182c2f61f6544d1f6f167af759a77174ab19d8997d1ae6aecdbd9bdc293b2826067e66c5b - languageName: node - linkType: hard - "ob1@npm:0.83.3": version: 0.83.3 resolution: "ob1@npm:0.83.3" @@ -13519,6 +14407,15 @@ __metadata: languageName: node linkType: hard +"ob1@npm:0.83.6": + version: 0.83.6 + resolution: "ob1@npm:0.83.6" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + checksum: 10/817cc83247508f6a17641924af5ccd793535e9376442ab8f9e59f7070cfb4830269540cacf79d036cdf087585810ced7dae3ea213c7f2dad73c2f198f1b676f9 + languageName: node + linkType: hard + "object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" @@ -13842,16 +14739,6 @@ __metadata: languageName: node linkType: hard -"parse-json@npm:^4.0.0": - version: 4.0.0 - resolution: "parse-json@npm:4.0.0" - dependencies: - error-ex: "npm:^1.3.1" - json-parse-better-errors: "npm:^1.0.1" - checksum: 10/0fe227d410a61090c247e34fa210552b834613c006c2c64d9a05cfe9e89cf8b4246d1246b1a99524b53b313e9ac024438d0680f67e33eaed7e6f38db64cfe7b5 - languageName: node - linkType: hard - "parse-json@npm:^5.2.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" @@ -14348,20 +15235,6 @@ __metadata: languageName: node linkType: hard -"react-native-audio-api@npm:0.11.5": - version: 0.11.5 - resolution: "react-native-audio-api@npm:0.11.5" - dependencies: - semver: "npm:^7.7.3" - peerDependencies: - react: "*" - react-native: "*" - bin: - setup-rn-audio-api-web: scripts/setup-rn-audio-api-web.js - checksum: 10/f8a388954c42cfd390b9adbfe6781f9d8049d43ea6ab83a8b229a0d0082df3489d9b48072d7166403ae95a33e8d741aab86ba2307d1bd4ff949fdb72e14ef42d - languageName: node - linkType: hard - "react-native-audio-api@npm:0.12.0": version: 0.12.0 resolution: "react-native-audio-api@npm:0.12.0" @@ -14527,45 +15400,32 @@ __metadata: languageName: node linkType: hard -"react-native-gesture-handler@npm:~2.28.0": - version: 2.28.0 - resolution: "react-native-gesture-handler@npm:2.28.0" - dependencies: - "@egjs/hammerjs": "npm:^2.0.17" - hoist-non-react-statics: "npm:^3.3.0" - invariant: "npm:^2.2.4" - peerDependencies: - react: "*" - react-native: "*" - checksum: 10/856a9cb50b467e5e21cdd50930be68fee20f1c8ea13caa3cabb0bebd1345d0a847cd7b761a39b2d42b986b9d8e82e9419ccaf481b17373233c7ece7fed08dc70 - languageName: node - linkType: hard - -"react-native-gesture-handler@npm:~2.30.0": - version: 2.30.0 - resolution: "react-native-gesture-handler@npm:2.30.0" +"react-native-gesture-handler@npm:~2.31.1": + version: 2.31.1 + resolution: "react-native-gesture-handler@npm:2.31.1" dependencies: "@egjs/hammerjs": "npm:^2.0.17" + "@types/react-test-renderer": "npm:^19.1.0" hoist-non-react-statics: "npm:^3.3.0" invariant: "npm:^2.2.4" peerDependencies: react: "*" react-native: "*" - checksum: 10/242b1eb29202bc9fc7bf0271c3da102559adc9f2810441465b6d78c1a8ed8f65bdd91335957c841a4716f796be3e7b87d1d55629d6803ea12e1be832d89c946c + checksum: 10/0f02d989fddae1a59f3595b8039da04e8332206e0e8f7e05548b1ab2e57b6efa1b37d634ac8e5cc85b1844363a78f2f1400ace26164319b2140e994b0e779ea3 languageName: node linkType: hard -"react-native-image-picker@npm:^7.2.2": - version: 7.2.3 - resolution: "react-native-image-picker@npm:7.2.3" +"react-native-image-picker@npm:^8.2.1": + version: 8.2.1 + resolution: "react-native-image-picker@npm:8.2.1" peerDependencies: react: "*" react-native: "*" - checksum: 10/62c6cc3c88edb29f2b17b4cdaa098b32efd23a5faf4380171c2ccfb1706c732a50553f2ce447e1df1ea48197dde3af42dd67584c60e2c4577ee1b7769152475d + checksum: 10/d726950f2ab025462f5fbb788b2331672fc5bca1ac44899892736448ed3ee2d3ea49db9d6fee3bcbba4b4e064efeb646924e1cbd8522a23edd28c960f1db66aa languageName: node linkType: hard -"react-native-is-edge-to-edge@npm:1.2.1, react-native-is-edge-to-edge@npm:^1.1.6, react-native-is-edge-to-edge@npm:^1.2.1": +"react-native-is-edge-to-edge@npm:^1.1.6, react-native-is-edge-to-edge@npm:^1.2.1": version: 1.2.1 resolution: "react-native-is-edge-to-edge@npm:1.2.1" peerDependencies: @@ -14641,7 +15501,7 @@ __metadata: languageName: node linkType: hard -"react-native-reanimated@npm:4.3.0": +"react-native-reanimated@npm:~4.3.0": version: 4.3.0 resolution: "react-native-reanimated@npm:4.3.0" dependencies: @@ -14655,66 +15515,54 @@ __metadata: languageName: node linkType: hard -"react-native-reanimated@npm:~4.1.1": - version: 4.1.6 - resolution: "react-native-reanimated@npm:4.1.6" - dependencies: - react-native-is-edge-to-edge: "npm:^1.2.1" - semver: "npm:7.7.2" +"react-native-safe-area-context@npm:^5.5.2, react-native-safe-area-context@npm:~5.7.0": + version: 5.7.0 + resolution: "react-native-safe-area-context@npm:5.7.0" peerDependencies: - "@babel/core": ^7.0.0-0 react: "*" react-native: "*" - react-native-worklets: ">=0.5.0" - checksum: 10/2485097dd408310daf85e55413e882446a769f3745e5a62a8a3e8344e59c896f85bb82389b2728fffd03f7b272f3c7ebb953e03a4abd201d5cf793116450e9f3 + checksum: 10/9f5d3469c18c90c527c4068560ce4dcc7689e9fc8ddc68b8a5e76c94a6eafdba975ced89a48e08fecfd1303331e8c2498722bc249fcd87b1c5ea64ef3abd1d00 languageName: node linkType: hard -"react-native-reanimated@npm:~4.2.2": - version: 4.2.2 - resolution: "react-native-reanimated@npm:4.2.2" +"react-native-screens@npm:~4.24.0": + version: 4.24.0 + resolution: "react-native-screens@npm:4.24.0" dependencies: - react-native-is-edge-to-edge: "npm:1.2.1" - semver: "npm:7.7.3" + react-freeze: "npm:^1.0.0" + warn-once: "npm:^0.1.0" peerDependencies: react: "*" react-native: "*" - react-native-worklets: ">=0.7.0" - checksum: 10/2ad24cc827aaabb54c18d75a4ab98b92a25dd57c05bfabb886341c0e62d8efc5d5973f415cb1da2ecab9ebe077bec1179b91c681de90e124dbf1160a418ee29d + checksum: 10/1ac705f7c0c37f62f0c29c5bf477b4a2360c37dec6b689e7fa9a768cc8a08d828ac7260d168a60638d207e0be21ae22bb3f170d55f0ae97837c2053ba8e38aff languageName: node linkType: hard -"react-native-safe-area-context@npm:^5.5.2, react-native-safe-area-context@npm:~5.7.0": - version: 5.7.0 - resolution: "react-native-safe-area-context@npm:5.7.0" - peerDependencies: - react: "*" - react-native: "*" - checksum: 10/9f5d3469c18c90c527c4068560ce4dcc7689e9fc8ddc68b8a5e76c94a6eafdba975ced89a48e08fecfd1303331e8c2498722bc249fcd87b1c5ea64ef3abd1d00 +"react-native-skia-android@npm:147.1.0": + version: 147.1.0 + resolution: "react-native-skia-android@npm:147.1.0" + checksum: 10/4e653ff0530fe19cd49e95ebc8906e5336894e529a1bb2c3aac4de2bd2c0f56403a76dbf598f4e3c59dc1a0841f6eae1d7506886bf14b2fdb9182b2de767fb0e languageName: node linkType: hard -"react-native-safe-area-context@npm:~5.6.0": - version: 5.6.2 - resolution: "react-native-safe-area-context@npm:5.6.2" - peerDependencies: - react: "*" - react-native: "*" - checksum: 10/880d87ee60119321b366eef2c151ecefe14f5bc0d39cf5cfbfb167684e571d3dae2600ee19b9bc8521f5726eb285abecaa7aafb1a3b213529dafbac24703d302 +"react-native-skia-apple-ios@npm:147.1.0": + version: 147.1.0 + resolution: "react-native-skia-apple-ios@npm:147.1.0" + checksum: 10/642e505a211af3bef79ace6cb95298b0addff05ef8ffb53dd66615026cee3ded14283cef40ae4c823c7d072eb4d6c30730d725901286c77c738703fb050448b7 languageName: node linkType: hard -"react-native-screens@npm:~4.16.0": - version: 4.16.0 - resolution: "react-native-screens@npm:4.16.0" - dependencies: - react-freeze: "npm:^1.0.0" - react-native-is-edge-to-edge: "npm:^1.2.1" - warn-once: "npm:^0.1.0" - peerDependencies: - react: "*" - react-native: "*" - checksum: 10/f055d37b3abf96f42c15d61645441995884ed69b2a6b35f63a21abeb147b9df7e084447d2a329a424ee3686d703c25817ea588d3be9e6ebc38e5c653ebe5e05b +"react-native-skia-apple-macos@npm:147.1.0": + version: 147.1.0 + resolution: "react-native-skia-apple-macos@npm:147.1.0" + checksum: 10/a341b2c82a9a38d11e1dfb492a287989d7f9bd59be77af84b2fbbe86f06592ad31df7e4bddf21a04db34e9313a7bc472e263c0bc5a0539e0eaf56fce99d3ece5 + languageName: node + linkType: hard + +"react-native-skia-apple-tvos@npm:147.1.0": + version: 147.1.0 + resolution: "react-native-skia-apple-tvos@npm:147.1.0" + checksum: 10/ce0a58089bcef3ba0faa786db64be39bd8e397c7c5565a3631dd8a21eb913994e9adc7d9c4e47027aa47ce3b1e6d9e3e351e82a7d20c6d1258ddae7ba9ea6d27 languageName: node linkType: hard @@ -14733,9 +15581,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.4": + 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" @@ -14743,7 +15591,7 @@ __metadata: peerDependencies: react: "*" react-native: "*" - checksum: 10/32254d53ac6d43af1e38011e899ae23ee8a272f1bd8e24fb34f355326cace369cd260331e58a53af3aec67ec8ec40ce6a60e57655259ebd0c32fb156649a4a23 + checksum: 10/07b1e9826533ecb4ad731602e720bb4208c18ba0a5f259a17f5ee3aa9b02b1006bb5ae59c81d9d49773c898578a0728724a1085d03939e64e8ddf4ef6c842fdf languageName: node linkType: hard @@ -14772,29 +15620,6 @@ __metadata: languageName: node linkType: hard -"react-native-worklets@npm:0.7.4": - 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: 10/922b209940e298d21313d22f8a6eb87ad603442850c7ff8bc9cfef694cb211d7ec9903e24ee20b6bcf6164f8e7c165b65307dcca3d67465fdffda1c45fe05d1d - languageName: node - linkType: hard - "react-native-worklets@npm:0.8.1": version: 0.8.1 resolution: "react-native-worklets@npm:0.8.1" @@ -14869,6 +15694,57 @@ __metadata: languageName: node linkType: hard +"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.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.32.0" + base64-js: "npm:^1.5.1" + commander: "npm:^12.0.0" + 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.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.5" + react-refresh: "npm:^0.14.0" + regenerator-runtime: "npm:^0.13.2" + scheduler: "npm:0.27.0" + semver: "npm:^7.1.3" + stacktrace-parser: "npm:^0.1.10" + whatwg-fetch: "npm:^3.0.0" + ws: "npm:^7.5.10" + yargs: "npm:^17.6.2" + peerDependencies: + "@types/react": ^19.1.1 + react: ^19.2.0 + peerDependenciesMeta: + "@types/react": + optional: true + bin: + react-native: cli.js + checksum: 10/ef79e818bccc17dffac6810270902cd2d6bce8e6ccec3d6c6b71ff3f6da1e32f66ea0f296624c295d5febd4396d3d38ccf923daefb0c943fef3a8aa3c4f554c3 + languageName: node + linkType: hard + "react-reconciler@npm:0.31.0": version: 0.31.0 resolution: "react-reconciler@npm:0.31.0" @@ -14964,6 +15840,13 @@ __metadata: languageName: node linkType: hard +"react@npm:19.2.5": + version: 19.2.5 + resolution: "react@npm:19.2.5" + checksum: 10/1c3c7ffecb90b7f89a5c3ef635e6811f3a84600097f203b918150cb7e6b0a52915e858e5b4c82317a520dffccfa46ee4819ccf92c59c5b2d6c25cffe258dd20c + languageName: node + linkType: hard + "readable-stream@npm:^3.4.0": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" @@ -15108,13 +15991,6 @@ __metadata: languageName: node linkType: hard -"resolve-from@npm:^3.0.0": - version: 3.0.0 - resolution: "resolve-from@npm:3.0.0" - checksum: 10/c4189f1592a777f7d51c1ff6153df18b5d062c831fb0c623b4b87736c8a73c08e4eaab19e807399287040791f3e7aa0877f05f9d86739d3ef1ef0c727e9fe06c - languageName: node - linkType: hard - "resolve-from@npm:^4.0.0": version: 4.0.0 resolution: "resolve-from@npm:4.0.0" @@ -15342,6 +16218,13 @@ __metadata: languageName: node linkType: hard +"scheduler@npm:0.27.0": + version: 0.27.0 + resolution: "scheduler@npm:0.27.0" + checksum: 10/eab3c3a8373195173e59c147224fc30dabe6dd453f248f5e610e8458512a5a2ee3a06465dc400ebfe6d35c9f5b7f3bb6b2e41c88c86fd177c25a73e7286a1e06 + languageName: node + linkType: hard + "scheduler@npm:^0.25.0": version: 0.25.0 resolution: "scheduler@npm:0.25.0" @@ -15349,24 +16232,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.7.2": - version: 7.7.2 - resolution: "semver@npm:7.7.2" - bin: - semver: bin/semver.js - checksum: 10/7a24cffcaa13f53c09ce55e05efe25cd41328730b2308678624f8b9f5fc3093fc4d189f47950f0b811ff8f3c3039c24a2c36717ba7961615c682045bf03e1dda - 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: 10/8dbc3168e057a38fc322af909c7f5617483c50caddba135439ff09a754b20bdd6482a5123ff543dad4affa488ecf46ec5fb56d61312ad20bb140199b88dfaea9 - languageName: node - linkType: hard - "semver@npm:^6.3.0, semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" @@ -15492,7 +16357,7 @@ __metadata: languageName: node linkType: hard -"sf-symbols-typescript@npm:^2.1.0": +"sf-symbols-typescript@npm:^2.0.0, 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: 10/8623e148bf86151692d3ccb3149122c091b256162a39f4c4f78472811ffe92e3c77a83841a7381a5dc0bc6505ebb73e7ca8901cb077004872d7ee1cb4e5be9d4 @@ -15751,25 +16616,26 @@ __metadata: resolution: "speech@workspace:apps/speech" dependencies: "@babel/core": "npm:^7.29.0" - "@react-native/metro-config": "npm:^0.84.0" - "@types/react": "npm:~19.1.10" + "@react-native/metro-config": "npm:^0.83.0" + "@types/react": "npm:~19.2.14" + babel-preset-expo: "npm:~55.0.16" buffer: "npm:^6.0.3" - expo: "npm:^54.0.27" - expo-build-properties: "npm:~1.0.10" - expo-font: "npm:~14.0.10" - expo-status-bar: "npm:~3.0.9" - metro-config: "npm:^0.81.5" - react: "npm:19.1.0" - react-native: "npm:0.81.5" - react-native-audio-api: "npm:0.11.5" + expo: "npm:^55.0.13" + expo-build-properties: "npm:~55.0.13" + expo-font: "npm:~55.0.6" + expo-status-bar: "npm:~55.0.5" + metro-config: "npm:^0.83.0" + react: "npm:19.2.5" + react-native: "npm:0.83.4" + react-native-audio-api: "npm:0.12.0" react-native-device-info: "npm:^15.0.2" react-native-executorch: "workspace:*" react-native-executorch-expo-resource-fetcher: "workspace:*" - react-native-reanimated: "npm:~4.2.2" + react-native-reanimated: "npm:~4.3.0" react-native-safe-area-context: "npm:~5.7.0" - react-native-svg: "npm:15.15.3" + react-native-svg: "npm:15.15.4" react-native-svg-transformer: "npm:^1.5.3" - react-native-worklets: "npm:0.7.4" + react-native-worklets: "npm:0.8.1" languageName: unknown linkType: soft @@ -16207,26 +17073,29 @@ __metadata: resolution: "text-embeddings@workspace:apps/text-embeddings" dependencies: "@babel/core": "npm:^7.29.0" - "@react-navigation/drawer": "npm:^7.8.1" - "@react-navigation/native": "npm:^7.1.28" - "@types/react": "npm:~19.1.10" - expo: "npm:^54.0.27" - expo-build-properties: "npm:~1.0.10" - expo-constants: "npm:~18.0.11" - expo-linking: "npm:~8.0.10" - expo-router: "npm:~6.0.17" - expo-status-bar: "npm:~3.0.9" - react: "npm:19.1.0" - react-native: "npm:0.81.5" + "@expo/log-box": "npm:~55.0.10" + "@react-native/metro-config": "npm:^0.83.0" + "@react-navigation/drawer": "npm:^7.9.4" + "@react-navigation/native": "npm:^7.2.2" + "@types/react": "npm:~19.2.14" + babel-preset-expo: "npm:~55.0.16" + expo: "npm:^55.0.13" + expo-build-properties: "npm:~55.0.13" + expo-constants: "npm:~55.0.13" + expo-linking: "npm:~55.0.12" + expo-router: "npm:~55.0.11" + expo-status-bar: "npm:~55.0.5" + react: "npm:19.2.5" + react-native: "npm:0.83.4" react-native-executorch: "workspace:*" react-native-executorch-expo-resource-fetcher: "workspace:*" - react-native-gesture-handler: "npm:~2.30.0" - react-native-image-picker: "npm:^7.2.2" - react-native-reanimated: "npm:~4.2.2" + react-native-gesture-handler: "npm:~2.31.1" + react-native-image-picker: "npm:^8.2.1" + react-native-reanimated: "npm:~4.3.0" react-native-safe-area-context: "npm:~5.7.0" - react-native-screens: "npm:~4.16.0" - react-native-svg: "npm:15.15.3" - react-native-worklets: "npm:0.7.4" + react-native-screens: "npm:~4.24.0" + react-native-svg: "npm:15.15.4" + react-native-worklets: "npm:0.8.1" languageName: unknown linkType: soft @@ -16262,7 +17131,7 @@ __metadata: languageName: node linkType: hard -"tinyglobby@npm:^0.2.11, tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13, tinyglobby@npm:^0.2.15": +"tinyglobby@npm:^0.2.11, tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13": version: 0.2.15 resolution: "tinyglobby@npm:0.2.15" dependencies: @@ -16305,6 +17174,13 @@ __metadata: languageName: node linkType: hard +"toqr@npm:^0.1.1": + version: 0.1.1 + resolution: "toqr@npm:0.1.1" + checksum: 10/b75da11ce8bf645f805c43fc8a2ea6dfe5e7d2da9a751404deb72d48def027abccdf4ea3af5dce771852717f5c2c5d2eb7fdee246566eccbdab9b86a98ba9100 + languageName: node + linkType: hard + "ts-api-utils@npm:^1.3.0": version: 1.4.3 resolution: "ts-api-utils@npm:1.4.3" @@ -16864,6 +17740,13 @@ __metadata: languageName: node linkType: hard +"whatwg-url-minimum@npm:^0.1.1": + version: 0.1.1 + resolution: "whatwg-url-minimum@npm:0.1.1" + checksum: 10/96d06b1ad60bd8e0eb134a4741e244ee91030edb59fd0bcc01a808daeb0110d84eee92c8bc462a2675be82ecac33ec560a28429bb4fec3587846b58388351bf7 + 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" @@ -17221,6 +18104,13 @@ __metadata: languageName: node linkType: hard +"zod@npm:^3.25.76": + version: 3.25.76 + resolution: "zod@npm:3.25.76" + checksum: 10/f0c963ec40cd96858451d1690404d603d36507c1fc9682f2dae59ab38b578687d542708a7fdbf645f77926f78c9ed558f57c3d3aa226c285f798df0c4da16995 + languageName: node + linkType: hard + "zod@npm:^4.3.6": version: 4.3.6 resolution: "zod@npm:4.3.6" From db9ef47c03cf492036f8e3bfcfe5a5df387fbe3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20S=C5=82uszniak?= Date: Tue, 28 Apr 2026 15:48:22 +0200 Subject: [PATCH 2/5] ci(llm-android): always re-prebuild instead of caching the android/ dir MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The cache `restore-keys` fallback (`${{ runner.os }}-expo-android-`) matches any prior cache, so a pre-Expo-55 android/ folder was being restored on top of Expo 55 / RN 0.83 node_modules — leaving `MainApplication.kt` referencing the now-removed `ReactNativeHostWrapper` and breaking `:app:compileDebugKotlin`. Drop the prebuild cache and always re-run `expo prebuild`, mirroring the iOS workflow. Prebuild itself is fast; Gradle deps remain cached by the next step. --- .github/workflows/build-android-llm-example.yml | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build-android-llm-example.yml b/.github/workflows/build-android-llm-example.yml index 885bd6845b..3b4c95bf58 100644 --- a/.github/workflows/build-android-llm-example.yml +++ b/.github/workflows/build-android-llm-example.yml @@ -51,21 +51,11 @@ jobs: run: | npm install -g @expo/cli echo "$(npm prefix -g)/bin" >> $GITHUB_PATH - - name: Cache Expo prebuild - uses: actions/cache@v5 - with: - path: ${{ env.WORKING_DIRECTORY }}/android - key: ${{ runner.os }}-expo-android-${{ hashFiles('${{ env.WORKING_DIRECTORY }}/app.json', '${{ env.WORKING_DIRECTORY }}/package.json') }} - restore-keys: | - ${{ runner.os }}-expo-android- - name: Generate native Android project working-directory: ${{ env.WORKING_DIRECTORY }} run: | - if [ ! -d "android" ]; then - npx expo prebuild --platform android --no-install - else - echo "Android project exists, skipping prebuild" - fi + rm -rf android + npx expo prebuild --platform android --no-install - name: Cache Gradle uses: actions/cache@v5 with: From 57e2fea5d76a92219e0f6cf157148f2bac1da4da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20S=C5=82uszniak?= Date: Tue, 28 Apr 2026 17:52:10 +0200 Subject: [PATCH 3/5] fix(bare-rn): pin deps to bare-rn-local node_modules and dedupe React in Metro MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumping the four Expo apps to RN 0.83.4 leaves bare-rn alone on RN 0.81.5, so yarn can no longer hoist a single react-native to the workspace root. With mixed versions in the tree, yarn picks 0.83.4 for the root and bare-rn ends up with its own per-app node_modules/react-native@0.81.5, while the companion @react-native/gradle-plugin is only present at the root in the 0.83-aligned shape — Gradle then can't resolve hermes-android:0.83.4 for bare-rn. - installConfig.hoistingLimits=workspaces in apps/bare-rn/package.json so bare-rn's full RN tree (including @react-native/gradle-plugin) lands in apps/bare-rn/node_modules/ and stays internally consistent. - Repoint settings.gradle and app/build.gradle from ../../../node_modules/ / ../../../../node_modules/ (workspace root) to ../node_modules/ / ../../node_modules/ (bare-rn local). The iOS Podfile already resolves via node -p require.resolve, so no Podfile change is needed. - Set resolver.disableHierarchicalLookup in metro.config.js. The workspace packages (react-native-executorch, bare-resource-fetcher) declare their own react devDependency and end up with their own node_modules/react, so without disabling Metro's per-file lookup the bundle ships two React copies and useState's dispatcher comes back null. --- apps/bare-rn/android/app/build.gradle | 6 +++--- apps/bare-rn/android/settings.gradle | 9 +++++---- apps/bare-rn/metro.config.js | 6 ++++++ apps/bare-rn/package.json | 3 +++ 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/apps/bare-rn/android/app/build.gradle b/apps/bare-rn/android/app/build.gradle index 355bfff5af..b17658e36c 100644 --- a/apps/bare-rn/android/app/build.gradle +++ b/apps/bare-rn/android/app/build.gradle @@ -11,11 +11,11 @@ react { // The root of your project, i.e. where "package.json" lives. Default is '../..' root = file("../../") // The folder where the react-native NPM package is. Default is ../../node_modules/react-native - reactNativeDir = file("../../../../node_modules/react-native") + reactNativeDir = file("../../node_modules/react-native") // The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen - codegenDir = file("../../../../node_modules/@react-native/codegen") + codegenDir = file("../../node_modules/@react-native/codegen") // The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js - cliFile = file("../../../../node_modules/react-native/cli.js") + cliFile = file("../../node_modules/react-native/cli.js") /* Variants */ // The list of variants to that are debuggable. For those we're going to diff --git a/apps/bare-rn/android/settings.gradle b/apps/bare-rn/android/settings.gradle index beac369cd6..56ad61524f 100644 --- a/apps/bare-rn/android/settings.gradle +++ b/apps/bare-rn/android/settings.gradle @@ -1,10 +1,11 @@ -pluginManagement { includeBuild("../../../node_modules/@react-native/gradle-plugin") } +pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") } plugins { id("com.facebook.react.settings") } extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> - // node_modules are hoisted to the repo root in this yarn workspace - def cliFile = new File(settings.rootDir, "../../../node_modules/@react-native-community/cli/build/bin.js").absolutePath + // bare-rn pins its own React Native via installConfig.hoistingLimits in package.json, + // so its deps live in apps/bare-rn/node_modules/ rather than the workspace root. + def cliFile = new File(settings.rootDir, "../node_modules/@react-native-community/cli/build/bin.js").absolutePath ex.autolinkLibrariesFromCommand(["node", cliFile, "config"], new File(settings.rootDir, "../")) } rootProject.name = 'bare_rn' include ':app' -includeBuild('../../../node_modules/@react-native/gradle-plugin') +includeBuild('../node_modules/@react-native/gradle-plugin') diff --git a/apps/bare-rn/metro.config.js b/apps/bare-rn/metro.config.js index 1523b282ac..facaedca93 100644 --- a/apps/bare-rn/metro.config.js +++ b/apps/bare-rn/metro.config.js @@ -10,6 +10,12 @@ const config = { workspaceRoot, // Watch the entire monorepo ], resolver: { + // Workspace packages (react-native-executorch, bare-resource-fetcher) declare + // their own `react` devDependency, so yarn installs a second React copy at + // packages/*/node_modules/react. Without disabling hierarchical lookup, Metro + // resolves `react` per-file and the bundle ends up with two React instances — + // useState's dispatcher comes back null at runtime. + disableHierarchicalLookup: true, nodeModulesPaths: [ path.resolve(projectRoot, 'node_modules'), path.resolve(workspaceRoot, 'node_modules'), diff --git a/apps/bare-rn/package.json b/apps/bare-rn/package.json index 434c4454c6..e9201874bd 100644 --- a/apps/bare-rn/package.json +++ b/apps/bare-rn/package.json @@ -42,5 +42,8 @@ }, "engines": { "node": ">=22" + }, + "installConfig": { + "hoistingLimits": "workspaces" } } From 46fb2b345ced1a49734afa90befcf062620b648f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20S=C5=82uszniak?= Date: Tue, 28 Apr 2026 17:58:30 +0200 Subject: [PATCH 4/5] fix(lint): move HamburgerIcon inline marginLeft into StyleSheet --- apps/computer-vision/app/_layout.tsx | 5 ++++- apps/llm/app/_layout.tsx | 5 ++++- apps/text-embeddings/app/_layout.tsx | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/apps/computer-vision/app/_layout.tsx b/apps/computer-vision/app/_layout.tsx index 01442b6007..730a0007e2 100644 --- a/apps/computer-vision/app/_layout.tsx +++ b/apps/computer-vision/app/_layout.tsx @@ -25,7 +25,7 @@ function HamburgerIcon({ tintColor }: { tintColor?: string }) { return ( navigation.dispatch(DrawerActions.toggleDrawer())} - style={{ marginLeft: 12 }} + style={styles.hamburger} > navigation.dispatch(DrawerActions.toggleDrawer())} - style={{ marginLeft: 12 }} + style={styles.hamburger} > navigation.dispatch(DrawerActions.toggleDrawer())} - style={{ marginLeft: 12 }} + style={styles.hamburger} > Date: Tue, 28 Apr 2026 18:21:51 +0200 Subject: [PATCH 5/5] fix(bare-rn/ios): force C++17 on fmt/RCT-Folly pods to dodge consteval error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Xcode 26.4 / Apple clang 21 tightened consteval enforcement. fmt 9.x (vendored by RCT-Folly in RN 0.81.x) annotates its basic_format_string constructor with FMT_CONSTEVAL, which the new clang rejects at the call site (Yoga, React-performancetimeline, etc.) compiling against fmt's cached clang module. Setting CLANG_CXX_LANGUAGE_STANDARD=c++17 on the fmt and RCT-Folly pod targets makes fmt's `__cplusplus >= 202002L` gate fall through and FMT_CONSTEVAL resolve to empty in the cached module — so consumers import a non-consteval module and the call site compiles. Also append FMT_USE_CONSTEVAL=0 for belt-and-suspenders coverage. Setting the standard only on the fmt/RCT-Folly targets rather than the consumers works because clang caches a per-target compiled module: when fmt is built in C++17, that artifact is what other targets pick up, regardless of their own -std. Refs facebook/react-native#55601, fmtlib/fmt#4740. --- apps/bare-rn/ios/Podfile | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/apps/bare-rn/ios/Podfile b/apps/bare-rn/ios/Podfile index c2974d2176..cdcb24c068 100644 --- a/apps/bare-rn/ios/Podfile +++ b/apps/bare-rn/ios/Podfile @@ -30,5 +30,22 @@ target 'bare-rn' do :mac_catalyst_enabled => false, # :ccache_enabled => true ) + + # Workaround for Xcode 26.4 + Apple clang 21's stricter consteval + # enforcement breaking fmt 9.x (vendored by RCT-Folly in RN 0.81.x). + # See facebook/react-native#55601, fmtlib/fmt#4740. Forcing the fmt and + # RCT-Folly pod targets to C++17 makes fmt's `__cplusplus >= 202002L` + # gate fail, so `FMT_CONSTEVAL` resolves to empty inside fmt's cached + # clang module — consumers (Yoga, React-performancetimeline, etc.) then + # import a non-consteval module and the basic_format_string call site + # compiles. Applies to fmt/RCT-Folly only; remove once upstream lands. + installer.pods_project.targets.each do |target| + next unless target.name == 'fmt' || target.name == 'RCT-Folly' + target.build_configurations.each do |config| + config.build_settings['CLANG_CXX_LANGUAGE_STANDARD'] = 'c++17' + config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)'] + config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'FMT_USE_CONSTEVAL=0' + end + end end end