From ab2c3559718a251449171059a541e48efb349d97 Mon Sep 17 00:00:00 2001 From: chmjkb Date: Tue, 2 Jun 2026 13:23:08 +0200 Subject: [PATCH 01/15] deps: bump expo to 56 in expo RF --- packages/expo-resource-fetcher/package.json | 12 +- yarn.lock | 2115 +++++++++++-------- 2 files changed, 1239 insertions(+), 888 deletions(-) diff --git a/packages/expo-resource-fetcher/package.json b/packages/expo-resource-fetcher/package.json index 6e3eadcceb..3d03bccc27 100644 --- a/packages/expo-resource-fetcher/package.json +++ b/packages/expo-resource-fetcher/package.json @@ -33,12 +33,12 @@ "react-native-executorch": "*" }, "devDependencies": { - "@types/react": "~19.1.10", - "expo": "^54.0.0", - "expo-asset": "12.0.11", - "expo-file-system": "^19.0.20", - "react": "19.1.0", - "react-native": "0.81.5", + "@types/react": "~19.2.0", + "expo": "^56.0.8", + "expo-asset": "~56.0.15", + "expo-file-system": "~56.0.7", + "react": "19.2.3", + "react-native": "0.85.3", "react-native-executorch": "workspace:*", "typescript": "~5.9.2" } diff --git a/yarn.lock b/yarn.lock index ecb86ce3b2..2fd51f8fb6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,18 +5,6 @@ __metadata: version: 8 cacheKey: 10 -"@0no-co/graphql.web@npm:^1.0.13, @0no-co/graphql.web@npm:^1.0.8": - version: 1.2.0 - resolution: "@0no-co/graphql.web@npm:1.2.0" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 - peerDependenciesMeta: - graphql: - optional: true - checksum: 10/bb53b2e013686df0c8ca518430e9371bd14bd26910c1ab5b7bebd76cea1867ba6160d7e01924a04af846e90d99cb8f101f35960f89a76a8a91ce1d70f74d321d - languageName: node - linkType: hard - "@ark/schema@npm:0.56.0": version: 0.56.0 resolution: "@ark/schema@npm:0.56.0" @@ -33,7 +21,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.20.0, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.27.1, @babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.20.0, @babel/code-frame@npm:^7.27.1, @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: @@ -44,12 +32,14 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:~7.10.4": - version: 7.10.4 - resolution: "@babel/code-frame@npm:7.10.4" +"@babel/code-frame@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/code-frame@npm:7.29.7" dependencies: - "@babel/highlight": "npm:^7.10.4" - checksum: 10/4ef9c679515be9cb8eab519fcded953f86226155a599cf7ea209e40e088bb9a51bb5893d3307eae510b07bb3e359d64f2620957a00c27825dbe26ac62aca81f5 + "@babel/helper-validator-identifier": "npm:^7.29.7" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10/84da552e51a55795a50b3589116edb2f9e368a647d266380683775f18effd9acd4521b0246bebd0b049a7f32af1f87b1e8475d3bcb665f876bd04ade8da99697 languageName: node linkType: hard @@ -97,7 +87,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.20.5, @babel/generator@npm:^7.25.0, @babel/generator@npm:^7.27.5, @babel/generator@npm:^7.29.0, @babel/generator@npm:^7.29.1, @babel/generator@npm:^7.7.2": +"@babel/generator@npm:^7.20.5, @babel/generator@npm:^7.27.5, @babel/generator@npm:^7.29.0, @babel/generator@npm:^7.29.1, @babel/generator@npm:^7.7.2": version: 7.29.1 resolution: "@babel/generator@npm:7.29.1" dependencies: @@ -110,6 +100,19 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/generator@npm:7.29.7" + dependencies: + "@babel/parser": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" + jsesc: "npm:^3.0.2" + checksum: 10/60fb0432ebeab791b2d68e5fc49da6f8e8b68bcc4751211ccf08ac0101e9dcaddefd0cbbbd488afb1c1517515c7c3e76f63d9b05d06deaeb008afd499488db9c + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.27.1, @babel/helper-annotate-as-pure@npm:^7.27.3": version: 7.27.3 resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" @@ -119,6 +122,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-annotate-as-pure@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-annotate-as-pure@npm:7.29.7" + dependencies: + "@babel/types": "npm:^7.29.7" + checksum: 10/acd9e128de634a5144b5d622357d018fa616de45f64c74e42007c048dd15d0a0be213f4d5a2bf02307bdaddf053791b87900a99d183de828c08dc3b556329009 + languageName: node + linkType: hard + "@babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.28.6": version: 7.28.6 resolution: "@babel/helper-compilation-targets@npm:7.28.6" @@ -193,6 +205,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-globals@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-globals@npm:7.29.7" + checksum: 10/e53203e87ae24a45f59639edea0c429bc3c63c6d74f1862fe60a35032d89478e7511d2f34855da0fcb65782668d72e59e93d1de5bc00121ba9bc1aa38f1f0ad3 + languageName: node + linkType: hard + "@babel/helper-member-expression-to-functions@npm:^7.28.5": version: 7.28.5 resolution: "@babel/helper-member-expression-to-functions@npm:7.28.5" @@ -213,6 +232,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-module-imports@npm:7.29.7" + dependencies: + "@babel/traverse": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + checksum: 10/28ec6f7efd99588d6eebfb25c9f1ccc34cb0cdb0839c4c0f08b3ec0105ccaefbe7e8b4f651f3f55a4f5c4fcb1d979bd32a9b8ee23e3e62163ea22aaa7ee0dfa1 + languageName: node + linkType: hard + "@babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.28.6": version: 7.28.6 resolution: "@babel/helper-module-transforms@npm:7.28.6" @@ -242,6 +271,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-plugin-utils@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-plugin-utils@npm:7.29.7" + checksum: 10/6d16929fe5c792bbc8e4d67e18d7c1be69d2f18992deaa3d94dc26541fec662e83cbeeaf7553c6867d068eb7aed4e0d5e3e137c1dd4d5bcfa286f8d772f1f457 + languageName: node + linkType: hard + "@babel/helper-remap-async-to-generator@npm:^7.18.9, @babel/helper-remap-async-to-generator@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-remap-async-to-generator@npm:7.27.1" @@ -285,13 +321,27 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.25.9, @babel/helper-validator-identifier@npm:^7.28.5": +"@babel/helper-string-parser@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-string-parser@npm:7.29.7" + checksum: 10/4d8ef0ef7105f3d9fe4361137c8f42e5b4c7a52b5380b962762f2a528a1ba89064e2c6236090716ce34b63707b886ae0ebf36b2c2fcc2851f27e652febfc3648 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.28.5": version: 7.28.5 resolution: "@babel/helper-validator-identifier@npm:7.28.5" checksum: 10/8e5d9b0133702cfacc7f368bf792f0f8ac0483794877c6dca5fcb73810ee138e27527701826fb58a40a004f3a5ec0a2f3c3dd5e326d262530b119918f3132ba7 languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-validator-identifier@npm:7.29.7" + checksum: 10/2efa42701eb05babf26dff3332109c9e5e1a3400a71fb9e68ee27af28235036a2a72c2494c04bdab3f909075f42a58b2e8271074372bc7f8e79ec02bd364d7a7 + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-validator-option@npm:7.27.1" @@ -320,18 +370,6 @@ __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: 10/0d165283dd4eb312292cea8fec3ae0d376874b1885f476014f0136784ed5b564b2c2ba2d270587ed546ee92505056dab56493f7960c01c4e6394d71d1b2e7db6 - languageName: node - linkType: hard - "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0": version: 7.29.0 resolution: "@babel/parser@npm:7.29.0" @@ -343,6 +381,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/parser@npm:7.29.7" + dependencies: + "@babel/types": "npm:^7.29.7" + bin: + parser: ./bin/babel-parser.js + checksum: 10/da40c5928c95997b01aabe84fc3440881b8f20b866714fefa142961d37e82ffc03fbb9afed706f15f8a688278f95286ca0cea0d87ad6c77600f8c6c45d9824ee + languageName: node + linkType: hard + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.28.5": version: 7.28.5 resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.28.5" @@ -668,6 +717,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-jsx@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-syntax-jsx@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.29.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/84150d27c553a1d3d921354437f6725ca1d63b49514c25591bfcaaafa6ea4d6c10715b66fe7245e4ad7ab7c6cf4b6e1de7373defd3df00877ab12638170d7772 + languageName: node + linkType: hard + "@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" @@ -1314,6 +1374,21 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-react-jsx@npm:^7.28.6": + version: 7.29.7 + resolution: "@babel/plugin-transform-react-jsx@npm:7.29.7" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.29.7" + "@babel/helper-module-imports": "npm:^7.29.7" + "@babel/helper-plugin-utils": "npm:^7.29.7" + "@babel/plugin-syntax-jsx": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/ad735e6666e296404fd3c55378ad9ac712816a9ba3292bf491fd44e2d7bf32217a02c70fd8977c5ae07a246cfdbd75ea3bf5906e69af5dc1d0f404bca09aa7bf + languageName: node + linkType: hard + "@babel/plugin-transform-react-pure-annotations@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.27.1" @@ -1647,7 +1722,18 @@ __metadata: languageName: node linkType: hard -"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.5, @babel/traverse@npm:^7.28.6, @babel/traverse@npm:^7.29.0": +"@babel/template@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/template@npm:7.29.7" + dependencies: + "@babel/code-frame": "npm:^7.29.7" + "@babel/parser": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + checksum: 10/da92f7a5b61e05d2fb3934a44f18cec6006ee3c595116c17a3b44cb9756ecd43205c7360dbfa326fa8f4d00aaeb9e777342a881070d11c2305e9c694bc3ca6ff + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.27.1, @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: @@ -1662,7 +1748,22 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.24.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.26.0, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": +"@babel/traverse@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/traverse@npm:7.29.7" + dependencies: + "@babel/code-frame": "npm:^7.29.7" + "@babel/generator": "npm:^7.29.7" + "@babel/helper-globals": "npm:^7.29.7" + "@babel/parser": "npm:^7.29.7" + "@babel/template": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + debug: "npm:^4.3.1" + checksum: 10/ce24086a7dd8c408cbdb159437d3c8e02464a6d32b320d884fa742e2c5a3344b9342a923c7a371fc1789b4d82a59972a7008b5d8bbc1bc0c5ae42a39b28dc7f6 + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.24.7, @babel/types@npm:^7.26.0, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": version: 7.29.0 resolution: "@babel/types@npm:7.29.0" dependencies: @@ -1672,6 +1773,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/types@npm:7.29.7" + dependencies: + "@babel/helper-string-parser": "npm:^7.29.7" + "@babel/helper-validator-identifier": "npm:^7.29.7" + checksum: 10/bd4f5635db1057bd0abeebf93eb3ae38399e152271cea8dce8288350f0afa13ed3e2db2e16e22bd3303068890eec18965a83420539afbe0dde31432b4cf9636d + languageName: node + linkType: hard + "@bcoe/v8-coverage@npm:^0.2.3": version: 0.2.3 resolution: "@bcoe/v8-coverage@npm:0.2.3" @@ -2373,31 +2484,31 @@ __metadata: languageName: node linkType: hard -"@expo/cli@npm:54.0.23": - version: 54.0.23 - resolution: "@expo/cli@npm:54.0.23" +"@expo/cli@npm:55.0.26": + version: 55.0.26 + resolution: "@expo/cli@npm:55.0.26" dependencies: - "@0no-co/graphql.web": "npm:^1.0.8" "@expo/code-signing-certificates": "npm:^0.0.6" - "@expo/config": "npm:~12.0.13" - "@expo/config-plugins": "npm:~54.0.4" + "@expo/config": "npm:~55.0.15" + "@expo/config-plugins": "npm:~55.0.8" "@expo/devcert": "npm:^1.2.1" - "@expo/env": "npm:~2.0.8" - "@expo/image-utils": "npm:^0.8.8" - "@expo/json-file": "npm:^10.0.8" - "@expo/metro": "npm:~54.2.0" - "@expo/metro-config": "npm:~54.0.14" - "@expo/osascript": "npm:^2.3.8" - "@expo/package-manager": "npm:^1.9.10" - "@expo/plist": "npm:^0.4.8" - "@expo/prebuild-config": "npm:^54.0.8" - "@expo/schema-utils": "npm:^0.1.8" + "@expo/env": "npm:~2.1.1" + "@expo/image-utils": "npm:^0.8.13" + "@expo/json-file": "npm:^10.0.13" + "@expo/log-box": "npm:55.0.11" + "@expo/metro": "npm:~55.1.0" + "@expo/metro-config": "npm:~55.0.17" + "@expo/osascript": "npm:^2.4.2" + "@expo/package-manager": "npm:^1.10.4" + "@expo/plist": "npm:^0.5.2" + "@expo/prebuild-config": "npm:^55.0.16" + "@expo/require-utils": "npm:^55.0.4" + "@expo/router-server": "npm:^55.0.15" + "@expo/schema-utils": "npm:^55.0.3" "@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.81.5" - "@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.6" accepts: "npm:^1.3.8" arg: "npm:^5.0.2" better-opn: "npm:~3.0.2" @@ -2408,38 +2519,32 @@ __metadata: compression: "npm:^1.7.4" connect: "npm:^3.7.0" debug: "npm:^4.3.4" - env-editor: "npm:^0.4.1" - expo-server: "npm:^1.0.5" - freeport-async: "npm:^2.0.0" + dnssd-advertise: "npm:^1.1.4" + expo-server: "npm:^55.0.8" + fetch-nodeshim: "npm:^0.4.10" getenv: "npm:^2.0.0" glob: "npm:^13.0.0" - lan-network: "npm:^0.1.6" - minimatch: "npm:^9.0.0" + lan-network: "npm:^0.2.1" + multitars: "npm:^1.0.0" 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.5.2" 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: "*" @@ -2451,38 +2556,39 @@ __metadata: optional: true bin: expo-internal: build/bin/cli - checksum: 10/9a41c55aa7f628ad44048c9f41cd8d7f4f73a8bfc01adaa956ddaae87d332ae979eadb52bdab894ef5b1c9b5722486ccdb999057d8b9eed392c827f476feb79f + checksum: 10/7038f77ae092ec0514e0c5f8a32917a1cf0a6e6088e6f4c26dbef56996a765bbc7b7688258a55b100942eb511fad0c05695342605857bd8ce4d3809a55d62197 languageName: node linkType: hard -"@expo/cli@npm:55.0.26": - version: 55.0.26 - resolution: "@expo/cli@npm:55.0.26" +"@expo/cli@npm:^56.1.13": + version: 56.1.13 + resolution: "@expo/cli@npm:56.1.13" dependencies: "@expo/code-signing-certificates": "npm:^0.0.6" - "@expo/config": "npm:~55.0.15" - "@expo/config-plugins": "npm:~55.0.8" + "@expo/config": "npm:~56.0.9" + "@expo/config-plugins": "npm:~56.0.8" "@expo/devcert": "npm:^1.2.1" - "@expo/env": "npm:~2.1.1" - "@expo/image-utils": "npm:^0.8.13" - "@expo/json-file": "npm:^10.0.13" - "@expo/log-box": "npm:55.0.11" - "@expo/metro": "npm:~55.1.0" - "@expo/metro-config": "npm:~55.0.17" - "@expo/osascript": "npm:^2.4.2" - "@expo/package-manager": "npm:^1.10.4" - "@expo/plist": "npm:^0.5.2" - "@expo/prebuild-config": "npm:^55.0.16" - "@expo/require-utils": "npm:^55.0.4" - "@expo/router-server": "npm:^55.0.15" - "@expo/schema-utils": "npm:^55.0.3" - "@expo/spawn-async": "npm:^1.7.2" + "@expo/env": "npm:~2.3.0" + "@expo/image-utils": "npm:^0.10.1" + "@expo/inline-modules": "npm:^0.0.10" + "@expo/json-file": "npm:^10.2.0" + "@expo/log-box": "npm:^56.0.12" + "@expo/metro": "npm:~56.0.0" + "@expo/metro-config": "npm:~56.0.13" + "@expo/metro-file-map": "npm:^56.0.3" + "@expo/osascript": "npm:^2.6.0" + "@expo/package-manager": "npm:^1.12.1" + "@expo/plist": "npm:^0.7.0" + "@expo/prebuild-config": "npm:^56.0.14" + "@expo/require-utils": "npm:^56.1.3" + "@expo/router-server": "npm:^56.0.12" + "@expo/schema-utils": "npm:^56.0.0" + "@expo/spawn-async": "npm:^1.8.0" "@expo/ws-tunnel": "npm:^1.0.1" - "@expo/xcpretty": "npm:^4.4.0" - "@react-native/dev-middleware": "npm:0.83.6" + "@expo/xcpretty": "npm:^4.4.4" + "@react-native/dev-middleware": "npm:0.85.3" accepts: "npm:^1.3.8" arg: "npm:^5.0.2" - better-opn: "npm:~3.0.2" bplist-creator: "npm:0.1.0" bplist-parser: "npm:^0.3.1" chalk: "npm:^4.0.0" @@ -2491,7 +2597,7 @@ __metadata: connect: "npm:^3.7.0" debug: "npm:^4.3.4" dnssd-advertise: "npm:^1.1.4" - expo-server: "npm:^55.0.8" + expo-server: "npm:^56.0.4" fetch-nodeshim: "npm:^0.4.10" getenv: "npm:^2.0.0" glob: "npm:^13.0.0" @@ -2500,7 +2606,7 @@ __metadata: node-forge: "npm:^1.3.3" npm-package-arg: "npm:^11.0.0" ora: "npm:^3.4.0" - picomatch: "npm:^4.0.3" + picomatch: "npm:^4.0.4" pretty-format: "npm:^29.7.0" progress: "npm:^2.0.3" prompts: "npm:^2.3.2" @@ -2508,7 +2614,6 @@ __metadata: 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" terminal-link: "npm:^2.1.1" @@ -2526,8 +2631,8 @@ __metadata: react-native: optional: true bin: - expo-internal: build/bin/cli - checksum: 10/7038f77ae092ec0514e0c5f8a32917a1cf0a6e6088e6f4c26dbef56996a765bbc7b7688258a55b100942eb511fad0c05695342605857bd8ce4d3809a55d62197 + expo-internal: main.js + checksum: 10/05ae3fe18d10b9343d2a64d2ff820410bf6ec2cfe714b80ccf9b1bfc3b7245fb8e649d4a19f7ed274e45e5ba78db4f42c3ae069230c3437711fa3610de0dfc12 languageName: node linkType: hard @@ -2540,13 +2645,13 @@ __metadata: languageName: node linkType: hard -"@expo/config-plugins@npm:~54.0.4": - version: 54.0.4 - resolution: "@expo/config-plugins@npm:54.0.4" +"@expo/config-plugins@npm:~55.0.8": + version: 55.0.8 + resolution: "@expo/config-plugins@npm:55.0.8" dependencies: - "@expo/config-types": "npm:^54.0.10" - "@expo/json-file": "npm:~10.0.8" - "@expo/plist": "npm:^0.4.8" + "@expo/config-types": "npm:^55.0.5" + "@expo/json-file": "npm:~10.0.13" + "@expo/plist": "npm:^0.5.2" "@expo/sdk-runtime-versions": "npm:^1.0.0" chalk: "npm:^4.1.2" debug: "npm:^4.3.5" @@ -2554,39 +2659,31 @@ __metadata: 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: 10/55dab3f5f29b6dfb58bc32a9b0a681766f6b260ee94b1c295f67ac3c5e8f372afc512bb416f2e50901e387d4012e3a4a8fd3b461e5aa8c20e16fdcde64a07327 + checksum: 10/41ad533f83a01ffec8ca580fcf282a5aa61cd0494a8e29ce68ba11d929091c96dfeac49521e03144e2eb8551525096065e8c2e36bebd2bb2d1fddf89380312c4 languageName: node linkType: hard -"@expo/config-plugins@npm:~55.0.8": - version: 55.0.8 - resolution: "@expo/config-plugins@npm:55.0.8" +"@expo/config-plugins@npm:~56.0.8": + version: 56.0.8 + resolution: "@expo/config-plugins@npm:56.0.8" dependencies: - "@expo/config-types": "npm:^55.0.5" - "@expo/json-file": "npm:~10.0.13" - "@expo/plist": "npm:^0.5.2" + "@expo/config-types": "npm:^56.0.5" + "@expo/json-file": "npm:~10.2.0" + "@expo/plist": "npm:^0.7.0" + "@expo/require-utils": "npm:^56.1.3" "@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:^13.0.0" - resolve-from: "npm:^5.0.0" semver: "npm:^7.5.4" slugify: "npm:^1.6.6" xcode: "npm:^3.0.1" xml2js: "npm:0.6.0" - checksum: 10/41ad533f83a01ffec8ca580fcf282a5aa61cd0494a8e29ce68ba11d929091c96dfeac49521e03144e2eb8551525096065e8c2e36bebd2bb2d1fddf89380312c4 - languageName: node - linkType: hard - -"@expo/config-types@npm:^54.0.10": - version: 54.0.10 - resolution: "@expo/config-types@npm:54.0.10" - checksum: 10/7e4d598d2d1905dc53f2b30d5a1e0817dd486b13c89a24575deb4e25ec441b0de009d156f041a3c9a1f2121dfba28f2a24fd4fb5a056cac90502ca67c639bb8a + checksum: 10/767194838bdda6c55f3b4b57171cc8b2216509e6d315214f9a4a4df7374ff9ffb68ea0f662fae1a51d9fb9718af169f611365c66250e6d85e38bccaf0b3d702e languageName: node linkType: hard @@ -2597,24 +2694,10 @@ __metadata: languageName: node linkType: hard -"@expo/config@npm:~12.0.13": - version: 12.0.13 - resolution: "@expo/config@npm:12.0.13" - dependencies: - "@babel/code-frame": "npm:~7.10.4" - "@expo/config-plugins": "npm:~54.0.4" - "@expo/config-types": "npm:^54.0.10" - "@expo/json-file": "npm:^10.0.8" - deepmerge: "npm:^4.3.1" - getenv: "npm:^2.0.0" - glob: "npm:^13.0.0" - require-from-string: "npm:^2.0.2" - 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.1" - checksum: 10/2caac758fb706a75fc6d07df31c24c22d633f522091148e615d9c28475ae35cfaed29458cfd08f13d40d71d33715e5ac618af78591c11886529157b8519fe4ea +"@expo/config-types@npm:^56.0.5": + version: 56.0.5 + resolution: "@expo/config-types@npm:56.0.5" + checksum: 10/91e29a5c04d4a65f54c9f6ac7afe669e36467cad7ad5daa9c34afa0834402840d587b0cffa9443b3074a6e5a483c7f32db14cbbe3867376c3564323e448ef83e languageName: node linkType: hard @@ -2636,6 +2719,24 @@ __metadata: languageName: node linkType: hard +"@expo/config@npm:~56.0.9": + version: 56.0.9 + resolution: "@expo/config@npm:56.0.9" + dependencies: + "@expo/config-plugins": "npm:~56.0.8" + "@expo/config-types": "npm:^56.0.5" + "@expo/json-file": "npm:^10.2.0" + "@expo/require-utils": "npm:^56.1.3" + deepmerge: "npm:^4.3.1" + getenv: "npm:^2.0.0" + glob: "npm:^13.0.0" + resolve-workspace-root: "npm:^2.0.0" + semver: "npm:^7.6.0" + slugify: "npm:^1.3.4" + checksum: 10/27ffe3dfeb783d26019d39dbdf651f5cf964e04c30baf0da66e4327a87225882ee8820938379e67a9ec06d6c35db477d49b174789924dc8c089e5aec395698ae + languageName: node + linkType: hard + "@expo/devcert@npm:^1.2.1": version: 1.2.1 resolution: "@expo/devcert@npm:1.2.1" @@ -2646,9 +2747,9 @@ __metadata: languageName: node linkType: hard -"@expo/devtools@npm:0.1.8": - version: 0.1.8 - resolution: "@expo/devtools@npm:0.1.8" +"@expo/devtools@npm:55.0.2": + version: 55.0.2 + resolution: "@expo/devtools@npm:55.0.2" dependencies: chalk: "npm:^4.1.2" peerDependencies: @@ -2659,13 +2760,13 @@ __metadata: optional: true react-native: optional: true - checksum: 10/ecbf927c91b45697c53a528f77ddcc63b6bad4efc29af18f9d6f7aa0d1e6e47c8b2a061dfa29b3ebb470ce3b4c95e40dbcf51066b0ff1db17c7d1be88fe162f1 + checksum: 10/0a43121fb5a7993dfe0c112e287e292358c099c4f02dbd1f80e67fe8bb7cff21be77cf389fefcc84f86e2955066e4b0e70e447cf48ca8772de47c6eef114ecdd languageName: node linkType: hard -"@expo/devtools@npm:55.0.2": - version: 55.0.2 - resolution: "@expo/devtools@npm:55.0.2" +"@expo/devtools@npm:~56.0.2": + version: 56.0.2 + resolution: "@expo/devtools@npm:56.0.2" dependencies: chalk: "npm:^4.1.2" peerDependencies: @@ -2676,7 +2777,7 @@ __metadata: optional: true react-native: optional: true - checksum: 10/0a43121fb5a7993dfe0c112e287e292358c099c4f02dbd1f80e67fe8bb7cff21be77cf389fefcc84f86e2955066e4b0e70e447cf48ca8772de47c6eef114ecdd + checksum: 10/118841e7cc0e2c1f5a398dfb1f4a60e2f7446dbd59fd8863b84944917314b2fc08d11e75af215777642fcad776fd145a9035eea3b1a976540d09774e247cf667 languageName: node linkType: hard @@ -2691,6 +2792,17 @@ __metadata: languageName: node linkType: hard +"@expo/dom-webview@npm:^56.0.5, @expo/dom-webview@npm:~56.0.5": + version: 56.0.5 + resolution: "@expo/dom-webview@npm:56.0.5" + peerDependencies: + expo: "*" + react: "*" + react-native: "*" + checksum: 10/d326f69e660d026cf46a4c97c78eda4565a5052baadbb84923ba26a2b501268ea5b29a6bfdd38381fd195cb06f83df1086b83df9b3555d09523b3c63d0ddb19f + 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" @@ -2702,16 +2814,14 @@ __metadata: languageName: node linkType: hard -"@expo/env@npm:~2.0.8": - version: 2.0.11 - resolution: "@expo/env@npm:2.0.11" +"@expo/env@npm:^2.3.0, @expo/env@npm:~2.3.0": + version: 2.3.0 + resolution: "@expo/env@npm:2.3.0" 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: 10/bfb307d6b35d47c58f82424c85543325370bbdc0f303cdd4ddfe5d6854e0386ad72166fec6e1da633fc7cb3b0915d7c40642c49773ae31e6faed13569d1b601c + checksum: 10/265f04c2e3d175345b29149d46554fcf9f0272e5f05958fb9d94aff3796dd911984e18de765ff2f43c7dba16eb8f722997a049119a8659a0d2728b990d93fdee languageName: node linkType: hard @@ -2726,10 +2836,18 @@ __metadata: languageName: node linkType: hard -"@expo/fingerprint@npm:0.15.4": - version: 0.15.4 - resolution: "@expo/fingerprint@npm:0.15.4" +"@expo/expo-modules-macros-plugin@npm:~0.0.9": + version: 0.0.9 + resolution: "@expo/expo-modules-macros-plugin@npm:0.0.9" + checksum: 10/57430512f2448399675133ae6b7233cf1d1e8c70bb909e3b53d4cdb82f278a366ee81bec372808721d3458860cce7a9430b0560825766d8a3eb774ccc7e44ce1 + languageName: node + linkType: hard + +"@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" @@ -2737,22 +2855,21 @@ __metadata: getenv: "npm:^2.0.0" 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: 10/854c5b8c298d145d58d47d45081f14fd1fc3c4880e6706257c4863ea4e56a368d055d1043538c74e35f5b23971c945bcd3e62750ffe23d2210f73d3712447b5a + checksum: 10/2bf59bd6964c17c7bbcf66f963684909345f7b0b5da459be5cc34f27eae4860cd18e8644db30a2cec1553f67b81dce26983d00e34dbafa59f2e0bfa5783fc787 languageName: node linkType: hard -"@expo/fingerprint@npm:0.16.6": - version: 0.16.6 - resolution: "@expo/fingerprint@npm:0.16.6" +"@expo/fingerprint@npm:^0.19.3": + version: 0.19.3 + resolution: "@expo/fingerprint@npm:0.19.3" dependencies: - "@expo/env": "npm:^2.0.11" - "@expo/spawn-async": "npm:^1.7.2" + "@expo/env": "npm:^2.3.0" + "@expo/spawn-async": "npm:^1.8.0" arg: "npm:^5.0.2" chalk: "npm:^4.1.2" debug: "npm:^4.3.4" @@ -2764,47 +2881,46 @@ __metadata: semver: "npm:^7.6.0" bin: fingerprint: bin/cli.js - checksum: 10/2bf59bd6964c17c7bbcf66f963684909345f7b0b5da459be5cc34f27eae4860cd18e8644db30a2cec1553f67b81dce26983d00e34dbafa59f2e0bfa5783fc787 + checksum: 10/4a060a5128e85b9da9cf935b051edfc9e8c5378705b4a87a5f7dad9a8c792cf00f6434c5b2d0694991855d2ea7103bd5b8763b6e7de6dcdc22b3780323ae31e3 languageName: node linkType: hard -"@expo/image-utils@npm:^0.8.13": - version: 0.8.13 - resolution: "@expo/image-utils@npm:0.8.13" +"@expo/image-utils@npm:^0.10.1": + version: 0.10.1 + resolution: "@expo/image-utils@npm:0.10.1" dependencies: - "@expo/require-utils": "npm:^55.0.4" - "@expo/spawn-async": "npm:^1.7.2" + "@expo/require-utils": "npm:^56.1.3" + "@expo/spawn-async": "npm:^1.8.0" chalk: "npm:^4.0.0" getenv: "npm:^2.0.0" jimp-compact: "npm:0.16.1" parse-png: "npm:^2.1.0" semver: "npm:^7.6.0" - checksum: 10/4204905938152de0a35fe6796e967b577e7a62785cd3df5c6710ad7669bc95a1314b96276c4da880230a4a182b35c88dea946b4a9edcb31f12ddc26bfbc965e7 + checksum: 10/4670352541be7b0825c483144da677627076e6126185641d9f0f72ae1fa735a3b17d22bae87b8e251ce98a41758cc437e161fb514639841b97003bbb3645f934 languageName: node linkType: hard -"@expo/image-utils@npm:^0.8.8": - version: 0.8.12 - resolution: "@expo/image-utils@npm:0.8.12" +"@expo/image-utils@npm:^0.8.13": + version: 0.8.13 + resolution: "@expo/image-utils@npm:0.8.13" dependencies: + "@expo/require-utils": "npm:^55.0.4" "@expo/spawn-async": "npm:^1.7.2" chalk: "npm:^4.0.0" getenv: "npm:^2.0.0" jimp-compact: "npm:0.16.1" parse-png: "npm:^2.1.0" - resolve-from: "npm:^5.0.0" semver: "npm:^7.6.0" - checksum: 10/fb474558bb4009f39c640fb028a57cfae721e52dae0085bb2505390c6968d30cdc82eb195c15de82f30879c710104c08e60120de8f49613183437701f19dd363 + checksum: 10/4204905938152de0a35fe6796e967b577e7a62785cd3df5c6710ad7669bc95a1314b96276c4da880230a4a182b35c88dea946b4a9edcb31f12ddc26bfbc965e7 languageName: node linkType: hard -"@expo/json-file@npm:^10.0.12, @expo/json-file@npm:^10.0.8, @expo/json-file@npm:~10.0.8": - version: 10.0.12 - resolution: "@expo/json-file@npm:10.0.12" +"@expo/inline-modules@npm:^0.0.10": + version: 0.0.10 + resolution: "@expo/inline-modules@npm:0.0.10" dependencies: - "@babel/code-frame": "npm:^7.20.0" - json5: "npm:^2.2.3" - checksum: 10/547f5b9d1c5b10147ef0780d079d853e3b2e8ec0b09080420cb48592060a4399308622fd205aaec5e157c41d37c5b69dffa9aaa96c01fe444b0258f78c3bb85f + "@expo/config-plugins": "npm:~56.0.8" + checksum: 10/4356a76a660c913f0ff14ef1ca07e0b9a83df487241b50992f677c0d9431c4948589bb3c77e97cfee5ce7ca87e4d53ce7e5b11b6de1bcf74c6e40403c12c1500 languageName: node linkType: hard @@ -2818,6 +2934,16 @@ __metadata: languageName: node linkType: hard +"@expo/json-file@npm:^10.2.0, @expo/json-file@npm:~10.2.0": + version: 10.2.0 + resolution: "@expo/json-file@npm:10.2.0" + dependencies: + "@babel/code-frame": "npm:^7.20.0" + json5: "npm:^2.2.3" + checksum: 10/6d7f8acd342496b90408c56bb27b54b4cb16ca3259d150819b97afe1b1cb87490c7cbaa02cba7d11911aa9856d435dc2a775daf94ecfc42b224ee0f41aa25120 + languageName: node + linkType: hard + "@expo/local-build-cache-provider@npm:55.0.11": version: 55.0.11 resolution: "@expo/local-build-cache-provider@npm:55.0.11" @@ -2828,6 +2954,16 @@ __metadata: languageName: node linkType: hard +"@expo/local-build-cache-provider@npm:^56.0.8": + version: 56.0.8 + resolution: "@expo/local-build-cache-provider@npm:56.0.8" + dependencies: + "@expo/config": "npm:~56.0.9" + chalk: "npm:^4.1.2" + checksum: 10/d27265dd6d9140266278ad8f79df7d51c92603fc1eadf25efd4bdefe3936be8ddef042c9827b0f129f2b60cea48be5d24f8e42d22afe15db1798a50231abc5c4 + languageName: node + linkType: hard + "@expo/log-box@npm:55.0.11, @expo/log-box@npm:~55.0.10": version: 55.0.11 resolution: "@expo/log-box@npm:55.0.11" @@ -2844,29 +2980,43 @@ __metadata: languageName: node linkType: hard -"@expo/metro-config@npm:54.0.14, @expo/metro-config@npm:~54.0.14": - version: 54.0.14 - resolution: "@expo/metro-config@npm:54.0.14" +"@expo/log-box@npm:^56.0.12": + version: 56.0.12 + resolution: "@expo/log-box@npm:56.0.12" + dependencies: + "@expo/dom-webview": "npm:^56.0.5" + anser: "npm:^1.4.9" + stacktrace-parser: "npm:^0.1.10" + peerDependencies: + "@expo/dom-webview": ^56.0.5 + expo: "*" + react: "*" + react-native: "*" + checksum: 10/8eaa1b71a5d7d6f2cef12c54974ad088cf425611c35fa6a6a68229641ee08987fddfbb962a50fafa8940d6edfd181680a1037ddb1b75d996e6a2ebe2e36e9359 + languageName: node + linkType: hard + +"@expo/metro-config@npm:55.0.17, @expo/metro-config@npm:~55.0.17": + version: 55.0.17 + resolution: "@expo/metro-config@npm:55.0.17" dependencies: "@babel/code-frame": "npm:^7.20.0" "@babel/core": "npm:^7.20.0" "@babel/generator": "npm:^7.20.5" - "@expo/config": "npm:~12.0.13" - "@expo/env": "npm:~2.0.8" - "@expo/json-file": "npm:~10.0.8" - "@expo/metro": "npm:~54.2.0" + "@expo/config": "npm:~55.0.15" + "@expo/env": "npm:~2.1.1" + "@expo/json-file": "npm:~10.0.13" + "@expo/metro": "npm:~55.1.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:^13.0.0" - hermes-parser: "npm:^0.29.1" + hermes-parser: "npm:^0.32.0" jsc-safe-url: "npm:^0.2.4" lightningcss: "npm:^1.30.1" - minimatch: "npm:^9.0.0" + picomatch: "npm:^4.0.3" postcss: "npm:~8.4.32" resolve-from: "npm:^5.0.0" peerDependencies: @@ -2874,39 +3024,58 @@ __metadata: peerDependenciesMeta: expo: optional: true - checksum: 10/c1a67c187fcd9f3dd43cd1b33a500644715768ab55939d5e2ff354311709ea5fed2bb3c103610b0ddac961d7ab2f94f7a1d1f25d033af98690ed6b9cec9ac787 + checksum: 10/8df08e2d5fef6d3355952b2a9427bb0db000c9df8260663f3774f0dc6b21947e44cf350005312f83e1a624dec40fab7e4a8423ebcfda899c13ac832a9e66e1a8 languageName: node linkType: hard -"@expo/metro-config@npm:55.0.17, @expo/metro-config@npm:~55.0.17": - version: 55.0.17 - resolution: "@expo/metro-config@npm:55.0.17" +"@expo/metro-config@npm:~56.0.13": + version: 56.0.13 + resolution: "@expo/metro-config@npm:56.0.13" dependencies: "@babel/code-frame": "npm:^7.20.0" "@babel/core": "npm:^7.20.0" "@babel/generator": "npm:^7.20.5" - "@expo/config": "npm:~55.0.15" - "@expo/env": "npm:~2.1.1" - "@expo/json-file": "npm:~10.0.13" - "@expo/metro": "npm:~55.1.0" - "@expo/spawn-async": "npm:^1.7.2" + "@expo/config": "npm:~56.0.9" + "@expo/env": "npm:~2.3.0" + "@expo/json-file": "npm:~10.2.0" + "@expo/metro": "npm:~56.0.0" + "@expo/require-utils": "npm:^56.1.3" + "@expo/spawn-async": "npm:^1.8.0" + "@jridgewell/gen-mapping": "npm:^0.3.13" + "@jridgewell/remapping": "npm:^2.3.5" + "@jridgewell/sourcemap-codec": "npm:^1.5.5" browserslist: "npm:^4.25.0" chalk: "npm:^4.1.0" debug: "npm:^4.3.2" getenv: "npm:^2.0.0" glob: "npm:^13.0.0" - hermes-parser: "npm:^0.32.0" + hermes-parser: "npm:^0.33.3" jsc-safe-url: "npm:^0.2.4" lightningcss: "npm:^1.30.1" - picomatch: "npm:^4.0.3" - postcss: "npm:~8.4.32" + msgpackr: "npm:^2.0.1" + picomatch: "npm:^4.0.4" + postcss: "npm:^8.5.14" resolve-from: "npm:^5.0.0" peerDependencies: expo: "*" peerDependenciesMeta: expo: optional: true - checksum: 10/8df08e2d5fef6d3355952b2a9427bb0db000c9df8260663f3774f0dc6b21947e44cf350005312f83e1a624dec40fab7e4a8423ebcfda899c13ac832a9e66e1a8 + checksum: 10/efb229ed1d7b3705bd0b79527f0b7b6c1788aba376c25137a28fc12921ded33a4146289f6acf833f375729aa7523f00affbf3fabd9b369ad4ba84fda7ac272e3 + languageName: node + linkType: hard + +"@expo/metro-file-map@npm:^56.0.3": + version: 56.0.3 + resolution: "@expo/metro-file-map@npm:56.0.3" + dependencies: + debug: "npm:^4.3.4" + fb-watchman: "npm:^2.0.2" + invariant: "npm:^2.2.4" + jest-worker: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + walker: "npm:^1.0.8" + checksum: 10/72bfcea3e72e80451b50d363537207c9512076ec94a14063ef06fd716b30d76ec954ccf95c325b9f3a1ddd0c2cdb8d69bab3d49dcb80429894a91f58759677ab languageName: node linkType: hard @@ -2951,28 +3120,6 @@ __metadata: 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: 10/36087cec4cb1788f6c8f6148f9dcd30e8d3693fbf8a14f8b0a3c9575895bd6b1847690c958181d7e92718d49ab66df285a79d64ff3c13e4168bbfee26b670d7f - languageName: node - linkType: hard - "@expo/metro@npm:~55.1.0": version: 55.1.0 resolution: "@expo/metro@npm:55.1.0" @@ -2995,7 +3142,29 @@ __metadata: languageName: node linkType: hard -"@expo/osascript@npm:^2.3.8, @expo/osascript@npm:^2.4.2": +"@expo/metro@npm:~56.0.0": + version: 56.0.0 + resolution: "@expo/metro@npm:56.0.0" + dependencies: + metro: "npm:0.84.4" + metro-babel-transformer: "npm:0.84.4" + metro-cache: "npm:0.84.4" + metro-cache-key: "npm:0.84.4" + metro-config: "npm:0.84.4" + metro-core: "npm:0.84.4" + metro-file-map: "npm:0.84.4" + metro-minify-terser: "npm:0.84.4" + metro-resolver: "npm:0.84.4" + metro-runtime: "npm:0.84.4" + metro-source-map: "npm:0.84.4" + metro-symbolicate: "npm:0.84.4" + metro-transform-plugins: "npm:0.84.4" + metro-transform-worker: "npm:0.84.4" + checksum: 10/af2e7e1159862744d60f7514d4a6ce3233b2dd65b1815a65609ab71bbc56a75afb65d222f1df4abd800f34af054cad2ce955ebed78c0032d9ea90abc554b64d9 + languageName: node + linkType: hard + +"@expo/osascript@npm:^2.4.2": version: 2.4.2 resolution: "@expo/osascript@npm:2.4.2" dependencies: @@ -3004,6 +3173,15 @@ __metadata: languageName: node linkType: hard +"@expo/osascript@npm:^2.6.0": + version: 2.6.0 + resolution: "@expo/osascript@npm:2.6.0" + dependencies: + "@expo/spawn-async": "npm:^1.8.0" + checksum: 10/eabc2b49cf34138c40b0cc31be686d083d96ed7bbf38f9eba197076182345ac9e88b3d627ba1ebf6581873294c61bfe788882366c74f168694f820315f3b51e6 + languageName: node + linkType: hard + "@expo/package-manager@npm:^1.10.4": version: 1.10.4 resolution: "@expo/package-manager@npm:1.10.4" @@ -3018,28 +3196,17 @@ __metadata: languageName: node linkType: hard -"@expo/package-manager@npm:^1.9.10": - version: 1.10.3 - resolution: "@expo/package-manager@npm:1.10.3" +"@expo/package-manager@npm:^1.12.1": + version: 1.12.1 + resolution: "@expo/package-manager@npm:1.12.1" dependencies: - "@expo/json-file": "npm:^10.0.12" - "@expo/spawn-async": "npm:^1.7.2" + "@expo/json-file": "npm:^10.2.0" + "@expo/spawn-async": "npm:^1.8.0" 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: 10/cac9008ec362af0b54ebf55cb64514e3f4258423f0be9a0d1adb2815380e912783be78750c898e393f7bebe7a1b8288d449052b0ce9f790400d185a29b8274bd - languageName: node - linkType: hard - -"@expo/plist@npm:^0.4.8": - version: 0.4.8 - resolution: "@expo/plist@npm:0.4.8" - dependencies: - "@xmldom/xmldom": "npm:^0.8.8" - base64-js: "npm:^1.2.3" - xmlbuilder: "npm:^15.1.1" - checksum: 10/48ba4ad5cc3668e8c26c5197bf7915a29745d0ae1cba1c38aad0d797ee1835ac74fb577a9e810594063e5984d9e52b367f4069d0ef1d906ba3013fce1c01a19c + checksum: 10/a0e49005bba0e5450862eea9f5cd6dfae36e93c39b8d581a62ed2d3acb2e162065a451e61774d7ddaa8d5302e36680e01ce5f0573fb6c4f32d4119525aa1baff languageName: node linkType: hard @@ -3054,23 +3221,14 @@ __metadata: languageName: node linkType: hard -"@expo/prebuild-config@npm:^54.0.8": - version: 54.0.8 - resolution: "@expo/prebuild-config@npm:54.0.8" +"@expo/plist@npm:^0.7.0": + version: 0.7.0 + resolution: "@expo/plist@npm:0.7.0" dependencies: - "@expo/config": "npm:~12.0.13" - "@expo/config-plugins": "npm:~54.0.4" - "@expo/config-types": "npm:^54.0.10" - "@expo/image-utils": "npm:^0.8.8" - "@expo/json-file": "npm:^10.0.8" - "@react-native/normalize-colors": "npm:0.81.5" - debug: "npm:^4.3.1" - resolve-from: "npm:^5.0.0" - semver: "npm:^7.6.0" - xml2js: "npm:0.6.0" - peerDependencies: - expo: "*" - checksum: 10/67f0fd1ad9332ff10c554e4b31602656daf222f2c51cebde9c024cb47b7ea13653ee1b01a00b6ea7cdf8fe8c99e20955788de9dec578c394e6b2357ef5919ab9 + "@xmldom/xmldom": "npm:^0.8.8" + base64-js: "npm:^1.5.1" + xmlbuilder: "npm:^15.1.1" + checksum: 10/117169ead670841258f9131608147e88af57f6bf49a03f9b749715b73b97662dc90e3c4595a8656e1cf3319569fbd73dbce3f37ac9eaf6dc65d1358d8299fe65 languageName: node linkType: hard @@ -3094,6 +3252,24 @@ __metadata: languageName: node linkType: hard +"@expo/prebuild-config@npm:^56.0.14": + version: 56.0.14 + resolution: "@expo/prebuild-config@npm:56.0.14" + dependencies: + "@expo/config": "npm:~56.0.9" + "@expo/config-plugins": "npm:~56.0.8" + "@expo/config-types": "npm:^56.0.5" + "@expo/image-utils": "npm:^0.10.1" + "@expo/json-file": "npm:^10.2.0" + "@react-native/normalize-colors": "npm:0.85.3" + debug: "npm:^4.3.1" + expo-modules-autolinking: "npm:~56.0.14" + resolve-from: "npm:^5.0.0" + semver: "npm:^7.6.0" + checksum: 10/1a4e482c144937ce6fef13bd67bba975e37c7fd37f0ee55ac719225c405f1d900fc2a453f002aff24bf1b1a444184d0d0e107fd622c14fac9a6155fff5bc5659 + languageName: node + linkType: hard + "@expo/require-utils@npm:^55.0.4": version: 55.0.4 resolution: "@expo/require-utils@npm:55.0.4" @@ -3110,6 +3286,22 @@ __metadata: languageName: node linkType: hard +"@expo/require-utils@npm:^56.1.3": + version: 56.1.3 + resolution: "@expo/require-utils@npm:56.1.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 || ^6.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10/dc1d81d72fdc9b13ef1f60bb111ea23408c60dd47066aaed520f8d6ea292d0a33be26e07df39773aa86b444d2c100547b16c5ac1a0dc76d44d604db535b9ce0c + languageName: node + linkType: hard + "@expo/router-server@npm:^55.0.15": version: 55.0.15 resolution: "@expo/router-server@npm:55.0.15" @@ -3138,6 +3330,34 @@ __metadata: languageName: node linkType: hard +"@expo/router-server@npm:^56.0.12": + version: 56.0.12 + resolution: "@expo/router-server@npm:56.0.12" + dependencies: + debug: "npm:^4.3.4" + peerDependencies: + "@expo/metro-runtime": ^56.0.13 + expo: "*" + expo-constants: ^56.0.16 + expo-font: ^56.0.5 + expo-router: "*" + expo-server: ^56.0.4 + 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: 10/5340b8372c5096183597a2fbe74fee8ff71f798f548be6410defa0a7172a644f1ce4699b05ddb447a226e57aced0de94650c485aac105a0ea2cf78e24160625b + languageName: node + linkType: hard + "@expo/schema-utils@npm:^0.1.8": version: 0.1.8 resolution: "@expo/schema-utils@npm:0.1.8" @@ -3152,6 +3372,13 @@ __metadata: languageName: node linkType: hard +"@expo/schema-utils@npm:^56.0.0": + version: 56.0.1 + resolution: "@expo/schema-utils@npm:56.0.1" + checksum: 10/c4361cd3ad9839dcff59376efd1dcd5fbe8b16b18c98301fcd2b6592f32dd52d8d5c7f2c2e759bfbafb3b19bff972e219e57d63165e4d0718e690f59bf795b16 + languageName: node + linkType: hard + "@expo/sdk-runtime-versions@npm:^1.0.0": version: 1.0.0 resolution: "@expo/sdk-runtime-versions@npm:1.0.0" @@ -3168,6 +3395,15 @@ __metadata: languageName: node linkType: hard +"@expo/spawn-async@npm:^1.8.0": + version: 1.8.0 + resolution: "@expo/spawn-async@npm:1.8.0" + dependencies: + cross-spawn: "npm:^7.0.6" + checksum: 10/ec29273d56db9731e7d744557eed5be6ae6dadd0b95b1fad6a4400579dd4aeedfcde55e0f936ff0f8df237aec45e36dabcf9fb086b1521f294b16a1c5e391a38 + languageName: node + linkType: hard + "@expo/sudo-prompt@npm:^9.3.1": version: 9.3.2 resolution: "@expo/sudo-prompt@npm:9.3.2" @@ -3175,7 +3411,7 @@ __metadata: languageName: node linkType: hard -"@expo/vector-icons@npm:^15.0.2, @expo/vector-icons@npm:^15.0.3": +"@expo/vector-icons@npm:^15.0.2": version: 15.1.1 resolution: "@expo/vector-icons@npm:15.1.1" peerDependencies: @@ -3193,29 +3429,29 @@ __metadata: languageName: node linkType: hard -"@expo/xcpretty@npm:^4.3.0": - version: 4.4.1 - resolution: "@expo/xcpretty@npm:4.4.1" +"@expo/xcpretty@npm:^4.4.0": + version: 4.4.3 + resolution: "@expo/xcpretty@npm:4.4.3" dependencies: "@babel/code-frame": "npm:^7.20.0" chalk: "npm:^4.1.0" js-yaml: "npm:^4.1.0" bin: excpretty: build/cli.js - checksum: 10/56d4c7d54f2b2d4a04d24f77c8e6926c0760c2983c5ac54018a35b754e261d3f31b7cd509342ff161dfbe852c03d5d62096927130069e6020db29c33ca3fa580 + checksum: 10/2cde7f76b5ddb690260491412da8deea4b6c36ab0fb14e2739477a1ccd8cdc0c437f78fbae2ed1d5bffe2c00969a25eb49d69c0e44448fe0cc7f3c0c4bb56701 languageName: node linkType: hard -"@expo/xcpretty@npm:^4.4.0": - version: 4.4.3 - resolution: "@expo/xcpretty@npm:4.4.3" +"@expo/xcpretty@npm:^4.4.4": + version: 4.4.4 + resolution: "@expo/xcpretty@npm:4.4.4" dependencies: "@babel/code-frame": "npm:^7.20.0" chalk: "npm:^4.1.0" js-yaml: "npm:^4.1.0" bin: excpretty: build/cli.js - checksum: 10/2cde7f76b5ddb690260491412da8deea4b6c36ab0fb14e2739477a1ccd8cdc0c437f78fbae2ed1d5bffe2c00969a25eb49d69c0e44448fe0cc7f3c0c4bb56701 + checksum: 10/b8ba0f0acc099c4efb5dfae7a18e0f3ace04744f1a75c4e8d79e42e9f54a0b6579027340226cea4f0a39a3d20360a83f1577682a790f4deaf4c42e6df4ca388d languageName: node linkType: hard @@ -3831,7 +4067,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.13, @jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.13 resolution: "@jridgewell/gen-mapping@npm:0.3.13" dependencies: @@ -3868,7 +4104,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0, @jridgewell/sourcemap-codec@npm:^1.5.5": version: 1.5.5 resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" checksum: 10/5d9d207b462c11e322d71911e55e21a4e2772f71ffe8d6f1221b8eb5ae6774458c1d242f897fb0814e8714ca9a6b498abfa74dfe4f434493342902b1a48b33a5 @@ -3894,6 +4130,48 @@ __metadata: languageName: node linkType: hard +"@msgpackr-extract/msgpackr-extract-darwin-arm64@npm:3.0.4": + version: 3.0.4 + resolution: "@msgpackr-extract/msgpackr-extract-darwin-arm64@npm:3.0.4" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@msgpackr-extract/msgpackr-extract-darwin-x64@npm:3.0.4": + version: 3.0.4 + resolution: "@msgpackr-extract/msgpackr-extract-darwin-x64@npm:3.0.4" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@msgpackr-extract/msgpackr-extract-linux-arm64@npm:3.0.4": + version: 3.0.4 + resolution: "@msgpackr-extract/msgpackr-extract-linux-arm64@npm:3.0.4" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@msgpackr-extract/msgpackr-extract-linux-arm@npm:3.0.4": + version: 3.0.4 + resolution: "@msgpackr-extract/msgpackr-extract-linux-arm@npm:3.0.4" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@msgpackr-extract/msgpackr-extract-linux-x64@npm:3.0.4": + version: 3.0.4 + resolution: "@msgpackr-extract/msgpackr-extract-linux-x64@npm:3.0.4" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@msgpackr-extract/msgpackr-extract-win32-x64@npm:3.0.4": + version: 3.0.4 + resolution: "@msgpackr-extract/msgpackr-extract-win32-x64@npm:3.0.4" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@napi-rs/wasm-runtime@npm:^0.2.11": version: 0.2.12 resolution: "@napi-rs/wasm-runtime@npm:0.2.12" @@ -4756,6 +5034,13 @@ __metadata: languageName: node linkType: hard +"@react-native/assets-registry@npm:0.85.3": + version: 0.85.3 + resolution: "@react-native/assets-registry@npm:0.85.3" + checksum: 10/614892869515ec035b5e64c4ef310c6bd531bcd623941a40db08255e2b2ba7d988801092b5014a558af2e899388b63d1a818cf42dcb5d014bc87ec72dcc8d336 + languageName: node + linkType: hard + "@react-native/babel-plugin-codegen@npm:0.81.5": version: 0.81.5 resolution: "@react-native/babel-plugin-codegen@npm:0.81.5" @@ -4786,6 +5071,16 @@ __metadata: languageName: node linkType: hard +"@react-native/babel-plugin-codegen@npm:0.85.3": + version: 0.85.3 + resolution: "@react-native/babel-plugin-codegen@npm:0.85.3" + dependencies: + "@babel/traverse": "npm:^7.29.0" + "@react-native/codegen": "npm:0.85.3" + checksum: 10/195a6ba599a61b94e34e6db98dae540289c2aa9a577da5288b908a82e595b80e8859b9684c4b6a3b9d897a70a609bf3ceaf3f37694bec70d9876753c2875f3d4 + languageName: node + linkType: hard + "@react-native/babel-preset@npm:0.81.5": version: 0.81.5 resolution: "@react-native/babel-preset@npm:0.81.5" @@ -5019,6 +5314,23 @@ __metadata: languageName: node linkType: hard +"@react-native/codegen@npm:0.85.3": + version: 0.85.3 + resolution: "@react-native/codegen@npm:0.85.3" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/parser": "npm:^7.29.0" + hermes-parser: "npm:0.33.3" + invariant: "npm:^2.2.4" + nullthrows: "npm:^1.1.1" + tinyglobby: "npm:^0.2.15" + yargs: "npm:^17.6.2" + peerDependencies: + "@babel/core": "*" + checksum: 10/71986731526148205e43d624b4d02348a55da03d05c302cad3a314c7f216bad4703abc8280dfb77c17c787bce1e1c980f1ea516b404a238ae858b1307717a1c9 + languageName: node + linkType: hard + "@react-native/community-cli-plugin@npm:0.81.5": version: 0.81.5 resolution: "@react-native/community-cli-plugin@npm:0.81.5" @@ -5065,6 +5377,29 @@ __metadata: languageName: node linkType: hard +"@react-native/community-cli-plugin@npm:0.85.3": + version: 0.85.3 + resolution: "@react-native/community-cli-plugin@npm:0.85.3" + dependencies: + "@react-native/dev-middleware": "npm:0.85.3" + debug: "npm:^4.4.0" + invariant: "npm:^2.2.4" + metro: "npm:^0.84.3" + metro-config: "npm:^0.84.3" + metro-core: "npm:^0.84.3" + semver: "npm:^7.1.3" + peerDependencies: + "@react-native-community/cli": "*" + "@react-native/metro-config": 0.85.3 + peerDependenciesMeta: + "@react-native-community/cli": + optional: true + "@react-native/metro-config": + optional: true + checksum: 10/e2a108d09d323208a7879cda0a622bb4e41d2960302cbea12c46e91cf40a861cc56bb83534354182e9149c2ff5ed8d8609a576da1f77220b4a2e6a859d447f54 + languageName: node + linkType: hard + "@react-native/debugger-frontend@npm:0.81.5": version: 0.81.5 resolution: "@react-native/debugger-frontend@npm:0.81.5" @@ -5086,6 +5421,13 @@ __metadata: languageName: node linkType: hard +"@react-native/debugger-frontend@npm:0.85.3": + version: 0.85.3 + resolution: "@react-native/debugger-frontend@npm:0.85.3" + checksum: 10/c778ae789b23102c74113b08914f213b1da66327b1840bdb2d21600a6916c6d062f53d95bfea7001772a10be279a0038a577b5e4945d1159183658d5b1614668 + languageName: node + linkType: hard + "@react-native/debugger-shell@npm:0.83.4": version: 0.83.4 resolution: "@react-native/debugger-shell@npm:0.83.4" @@ -5106,6 +5448,17 @@ __metadata: languageName: node linkType: hard +"@react-native/debugger-shell@npm:0.85.3": + version: 0.85.3 + resolution: "@react-native/debugger-shell@npm:0.85.3" + dependencies: + cross-spawn: "npm:^7.0.6" + debug: "npm:^4.4.0" + fb-dotslash: "npm:0.5.8" + checksum: 10/5c6871ff071a1ad030d6791892d55e7003d67656a7e26bf30ea5a1d23cb71b9c81e55768a754e1fbab19e3ec5ed9b246f9409e84963b0877a61d73f6d193b9e1 + languageName: node + linkType: hard + "@react-native/dev-middleware@npm:0.81.5": version: 0.81.5 resolution: "@react-native/dev-middleware@npm:0.81.5" @@ -5165,6 +5518,26 @@ __metadata: languageName: node linkType: hard +"@react-native/dev-middleware@npm:0.85.3": + version: 0.85.3 + resolution: "@react-native/dev-middleware@npm:0.85.3" + dependencies: + "@isaacs/ttlcache": "npm:^1.4.1" + "@react-native/debugger-frontend": "npm:0.85.3" + "@react-native/debugger-shell": "npm:0.85.3" + chrome-launcher: "npm:^0.15.2" + chromium-edge-launcher: "npm:^0.3.0" + connect: "npm:^3.6.5" + 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:^7.5.10" + checksum: 10/ff4d698edda3e205dc1de64961628a358f2f2cecbc3c50f4351761fff3eef87608f998ebaa3454b41b1ef6a1bfd5307cd1676fccd5eca348c7b54dac16f2fabc + languageName: node + linkType: hard + "@react-native/eslint-config@npm:0.81.5": version: 0.81.5 resolution: "@react-native/eslint-config@npm:0.81.5" @@ -5239,6 +5612,13 @@ __metadata: languageName: node linkType: hard +"@react-native/gradle-plugin@npm:0.85.3": + version: 0.85.3 + resolution: "@react-native/gradle-plugin@npm:0.85.3" + checksum: 10/c838736286d27a13d90fd14cf81cf2165360da01e43d1f95b0ea4fb5c7716b02153e1b2604a168a39dead6f77a66eaba155ea997b9db46f4887669fbf78f18df + languageName: node + linkType: hard + "@react-native/js-polyfills@npm:0.81.5": version: 0.81.5 resolution: "@react-native/js-polyfills@npm:0.81.5" @@ -5260,6 +5640,13 @@ __metadata: languageName: node linkType: hard +"@react-native/js-polyfills@npm:0.85.3": + version: 0.85.3 + resolution: "@react-native/js-polyfills@npm:0.85.3" + checksum: 10/17eedd2497c128f5c575f3804e2f23c441285e88a64522d740809588d93d11aade5069b3f20edec43715a8aecc3b90e816847e3ff91565bd35a9b692701265a1 + languageName: node + linkType: hard + "@react-native/metro-babel-transformer@npm:0.81.5": version: 0.81.5 resolution: "@react-native/metro-babel-transformer@npm:0.81.5" @@ -5333,6 +5720,13 @@ __metadata: languageName: node linkType: hard +"@react-native/normalize-colors@npm:0.85.3": + version: 0.85.3 + resolution: "@react-native/normalize-colors@npm:0.85.3" + checksum: 10/6ed3f85bf2405c72809ddc4c320910d4afaa399b9eb50ffa0ddd2e5ff478649abaa890517d6b7aeb431dd7d2e1a6412ac4df9da36acc74a8d470ffee44aeaed8 + languageName: node + linkType: hard + "@react-native/typescript-config@npm:0.81.5": version: 0.81.5 resolution: "@react-native/typescript-config@npm:0.81.5" @@ -5374,6 +5768,23 @@ __metadata: languageName: node linkType: hard +"@react-native/virtualized-lists@npm:0.85.3": + version: 0.85.3 + resolution: "@react-native/virtualized-lists@npm:0.85.3" + dependencies: + invariant: "npm:^2.2.4" + nullthrows: "npm:^1.1.1" + peerDependencies: + "@types/react": ^19.2.0 + react: "*" + react-native: 0.85.3 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10/a1ec317056cca51978c7947c89bf60ceb5c86e75a55b52035f4604281796ab4858b4cdb2a9350dd1eab161ab356c53094dde6448ebe5921e739de8f5c707e145 + languageName: node + linkType: hard + "@react-navigation/bottom-tabs@npm:^7.15.5": version: 7.15.10 resolution: "@react-navigation/bottom-tabs@npm:7.15.10" @@ -6397,28 +6808,6 @@ __metadata: languageName: node linkType: hard -"@urql/core@npm:^5.0.6, @urql/core@npm:^5.1.2": - version: 5.2.0 - resolution: "@urql/core@npm:5.2.0" - dependencies: - "@0no-co/graphql.web": "npm:^1.0.13" - wonka: "npm:^6.3.2" - checksum: 10/b49378550b7581e223f96c3abff33952e0409cebdef6f233250275b9548244ae99e793c9f5791b0ce707955f85c27fed5031719ea1f1279a190ffa0f9299231a - languageName: node - linkType: hard - -"@urql/exchange-retry@npm:^1.3.0": - version: 1.3.2 - resolution: "@urql/exchange-retry@npm:1.3.2" - dependencies: - "@urql/core": "npm:^5.1.2" - wonka: "npm:^6.3.2" - peerDependencies: - "@urql/core": ^5.0.0 - checksum: 10/766b8866735188f42d7371d73babd40ec166fb0adb1e9c133f6ab419f3b9e4d2aa4df4660992e12f8ccda803584e46b0104e108079e204d7d49d82dfcc93cdae - languageName: node - linkType: hard - "@vscode/sudo-prompt@npm:^9.0.0": version: 9.3.2 resolution: "@vscode/sudo-prompt@npm:9.3.2" @@ -6456,7 +6845,7 @@ __metadata: languageName: node linkType: hard -"accepts@npm:^1.3.7, accepts@npm:^1.3.8, accepts@npm:~1.3.8": +"accepts@npm:^1.3.8, accepts@npm:~1.3.8": version: 1.3.8 resolution: "accepts@npm:1.3.8" dependencies: @@ -6603,13 +6992,6 @@ __metadata: languageName: node linkType: hard -"any-promise@npm:^1.0.0": - version: 1.3.0 - resolution: "any-promise@npm:1.3.0" - checksum: 10/6737469ba353b5becf29e4dc3680736b9caa06d300bda6548812a8fee63ae7d336d756f88572fa6b5219aed36698d808fa55f62af3e7e6845c7a1dc77d240edb - languageName: node - linkType: hard - "anymatch@npm:^3.0.3, anymatch@npm:^3.1.3": version: 3.1.3 resolution: "anymatch@npm:3.1.3" @@ -6981,7 +7363,7 @@ __metadata: languageName: node linkType: hard -"babel-plugin-syntax-hermes-parser@npm:0.29.1, babel-plugin-syntax-hermes-parser@npm:^0.29.1": +"babel-plugin-syntax-hermes-parser@npm:0.29.1": version: 0.29.1 resolution: "babel-plugin-syntax-hermes-parser@npm:0.29.1" dependencies: @@ -6999,6 +7381,15 @@ __metadata: languageName: node linkType: hard +"babel-plugin-syntax-hermes-parser@npm:0.33.3, babel-plugin-syntax-hermes-parser@npm:^0.33.3": + version: 0.33.3 + resolution: "babel-plugin-syntax-hermes-parser@npm:0.33.3" + dependencies: + hermes-parser: "npm:0.33.3" + checksum: 10/250394dbe9fc7b6b2235ed7d0eaed287c811fbb79ab122a6d1a74f212dd85307273a06ae72e0b7f164f908f57d93f45f06183236f51d9fc704083cc67bce78c6 + languageName: node + linkType: hard + "babel-plugin-syntax-hermes-parser@npm:^0.28.0": version: 0.28.1 resolution: "babel-plugin-syntax-hermes-parser@npm:0.28.1" @@ -7051,10 +7442,11 @@ __metadata: languageName: node linkType: hard -"babel-preset-expo@npm:~54.0.10": - version: 54.0.10 - resolution: "babel-preset-expo@npm:54.0.10" +"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" @@ -7070,57 +7462,79 @@ __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.81.5" + "@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.29.1" + 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 - checksum: 10/210493e87fb2566fbf774a2bf20a0cfd552eb83f7d3fb71aa4b576ebeed6d367a1d7eda64cec8d166859efde6594789946676bae0d26176a45e4be9fac2fd6a4 + expo-widgets: + optional: true + checksum: 10/c490e19bbda57cd2364de25162a456f5d4940b5613ce7b3e67c233aec73b6a4a49a3adf8371ed256959360727900763b15a294e96fe447d9e886a95c09938843 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" +"babel-preset-expo@npm:~56.0.14": + version: 56.0.14 + resolution: "babel-preset-expo@npm:56.0.14" 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-dynamic-import": "npm:^7.8.3" "@babel/plugin-syntax-export-default-from": "npm:^7.24.7" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/plugin-transform-async-generator-functions": "npm:^7.25.4" + "@babel/plugin-transform-async-to-generator": "npm:^7.24.7" + "@babel/plugin-transform-block-scoping": "npm:^7.25.0" + "@babel/plugin-transform-class-properties": "npm:^7.25.4" "@babel/plugin-transform-class-static-block": "npm:^7.27.1" + "@babel/plugin-transform-classes": "npm:^7.25.4" + "@babel/plugin-transform-destructuring": "npm:^7.24.8" "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9" "@babel/plugin-transform-flow-strip-types": "npm:^7.25.2" + "@babel/plugin-transform-for-of": "npm:^7.24.7" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.7" "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.7" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.7" "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.7" + "@babel/plugin-transform-optional-chaining": "npm:^7.24.8" "@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-react-display-name": "npm:^7.24.7" + "@babel/plugin-transform-react-jsx": "npm:^7.28.6" + "@babel/plugin-transform-react-jsx-development": "npm:^7.27.1" + "@babel/plugin-transform-react-pure-annotations": "npm:^7.27.1" "@babel/plugin-transform-runtime": "npm:^7.24.7" - "@babel/preset-react": "npm:^7.22.15" + "@babel/plugin-transform-typescript": "npm:^7.25.2" + "@babel/plugin-transform-unicode-regex": "npm:^7.24.7" "@babel/preset-typescript": "npm:^7.23.0" - "@react-native/babel-preset": "npm:0.83.6" + "@react-native/babel-plugin-codegen": "npm:0.85.3" 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-syntax-hermes-parser: "npm:^0.33.3" 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 + expo-widgets: ^56.0.16 react-refresh: ">=0.14.0 <1.0.0" peerDependenciesMeta: "@babel/runtime": @@ -7129,7 +7543,7 @@ __metadata: optional: true expo-widgets: optional: true - checksum: 10/c490e19bbda57cd2364de25162a456f5d4940b5613ce7b3e67c233aec73b6a4a49a3adf8371ed256959360727900763b15a294e96fe447d9e886a95c09938843 + checksum: 10/52e952ad82ad5cb192019049e91efcc05984c20fe5c234c45df9655a0f505acb05831d27222af81089591f18466d5bf99388ab1051396459b5ec7361ff63ec6e languageName: node linkType: hard @@ -7204,7 +7618,7 @@ __metadata: languageName: unknown linkType: soft -"base64-js@npm:^1.2.3, base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": +"base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": version: 1.5.1 resolution: "base64-js@npm:1.5.1" checksum: 10/669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 @@ -7393,7 +7807,7 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^5.4.3, buffer@npm:^5.5.0": +"buffer@npm:^5.5.0": version: 5.7.1 resolution: "buffer@npm:5.7.1" dependencies: @@ -7622,6 +8036,19 @@ __metadata: languageName: node linkType: hard +"chromium-edge-launcher@npm:^0.3.0": + version: 0.3.0 + resolution: "chromium-edge-launcher@npm:0.3.0" + dependencies: + "@types/node": "npm:*" + escape-string-regexp: "npm:^4.0.0" + is-wsl: "npm:^2.2.0" + lighthouse-logger: "npm:^1.0.0" + mkdirp: "npm:^1.0.4" + checksum: 10/1df5a42cb8bbcc01486b8ab4739341d493075e09715c2039fb2646056d6a6e533048a4274e53b7c4dcd477f205133e3dd4d8d095e0caaf08cefc2dc2627af9dc + languageName: node + linkType: hard + "ci-info@npm:^2.0.0": version: 2.0.0 resolution: "ci-info@npm:2.0.0" @@ -7836,13 +8263,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^4.0.0": - version: 4.1.1 - resolution: "commander@npm:4.1.1" - checksum: 10/3b2dc4125f387dab73b3294dbcb0ab2a862f9c0ad748ee2b27e3544d25325b7a8cdfbcc228d103a98a716960b14478114a5206b5415bd48cdafa38797891562c - languageName: node - linkType: hard - "commander@npm:^7.2.0": version: 7.2.0 resolution: "commander@npm:7.2.0" @@ -8400,13 +8820,6 @@ __metadata: languageName: node linkType: hard -"deep-extend@npm:^0.6.0": - version: 0.6.0 - resolution: "deep-extend@npm:0.6.0" - checksum: 10/7be7e5a8d468d6b10e6a67c3de828f55001b6eb515d014f7aeb9066ce36bd5717161eb47d6a0f7bed8a9083935b465bc163ee2581c8b128d29bf61092fdf57a7 - languageName: node - linkType: hard - "deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" @@ -8496,7 +8909,7 @@ __metadata: languageName: node linkType: hard -"detect-libc@npm:^2.0.3": +"detect-libc@npm:^2.0.1, detect-libc@npm:^2.0.3": version: 2.1.2 resolution: "detect-libc@npm:2.1.2" checksum: 10/b736c8d97d5d46164c0d1bed53eb4e6a3b1d8530d460211e2d52f1c552875e706c58a5376854e4e54f8b828c9cada58c855288c968522eb93ac7696d65970766 @@ -8615,29 +9028,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: 10/1cd981e2b925e746919e9fca16fa5e953955d021b5d5fea0a4ae96dc61fcc76bc95874e7730f8ceca22f5e3df5a47eb1fc626c3f45e98019ceba54fd58521971 - languageName: node - linkType: hard - -"dotenv@npm:^16.4.5": - version: 16.6.1 - resolution: "dotenv@npm:16.6.1" - checksum: 10/1d1897144344447ffe62aa1a6d664f4cd2e0784e0aff787eeeec1940ded32f8e4b5b506d665134fc87157baa086fce07ec6383970a2b6d2e7985beaed6a4cc14 - languageName: node - linkType: hard - -"dotenv@npm:~16.4.5": - version: 16.4.7 - resolution: "dotenv@npm:16.4.7" - checksum: 10/f13bfe97db88f0df4ec505eeffb8925ec51f2d56a3d0b6d916964d8b4af494e6fb1633ba5d09089b552e77ab2a25de58d70259b2c5ed45ec148221835fc99a0c - 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" @@ -8728,13 +9118,6 @@ __metadata: languageName: node linkType: hard -"env-editor@npm:^0.4.1": - version: 0.4.2 - resolution: "env-editor@npm:0.4.2" - checksum: 10/d162e161d9a1bddaf63f68428c587b1d823afe7d56cde039ce403cc68706c68350c92b9db44692f4ecea1d67ec80de9ba01ca70568299ed929d3fa056c40aebf - languageName: node - linkType: hard - "env-paths@npm:^2.2.0, env-paths@npm:^2.2.1": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -9391,45 +9774,31 @@ __metadata: languageName: node linkType: hard -"expo-asset@npm:12.0.11": - version: 12.0.11 - resolution: "expo-asset@npm:12.0.11" - dependencies: - "@expo/image-utils": "npm:^0.8.8" - expo-constants: "npm:~18.0.11" - peerDependencies: - expo: "*" - react: "*" - react-native: "*" - checksum: 10/9e278a6127efae6c2d2d8faf213db760d18d901e8c7969d4a185b746f4b0264d7c4eac48d49674e1e5fc33fdf86c59c26d3903abee3bd23788c5cd3715614f3c - languageName: node - linkType: hard - -"expo-asset@npm:~12.0.12": - version: 12.0.12 - resolution: "expo-asset@npm:12.0.12" +"expo-asset@npm:~55.0.16": + version: 55.0.16 + resolution: "expo-asset@npm:55.0.16" dependencies: - "@expo/image-utils": "npm:^0.8.8" - expo-constants: "npm:~18.0.12" + "@expo/image-utils": "npm:^0.8.13" + expo-constants: "npm:~55.0.15" peerDependencies: expo: "*" react: "*" react-native: "*" - checksum: 10/7034316d820837c92ac70274be56a8e59181f1513805f8a4c85e16f12e1dd75ac6d6ae0b231bd8a76adbb71be6163c05b31b1d437f15b14745c70cc1f255c8a1 + checksum: 10/c23f4970806df2d758e9092b85682ced0a302edb45614dfa136dbba767aa6480075849fae6781c412b9b005cc216e026046f6af383485a2a3ad816ab16cba791 languageName: node linkType: hard -"expo-asset@npm:~55.0.16": - version: 55.0.16 - resolution: "expo-asset@npm:55.0.16" +"expo-asset@npm:~56.0.15": + version: 56.0.15 + resolution: "expo-asset@npm:56.0.15" dependencies: - "@expo/image-utils": "npm:^0.8.13" - expo-constants: "npm:~55.0.15" + "@expo/image-utils": "npm:^0.10.1" + expo-constants: "npm:~56.0.16" peerDependencies: expo: "*" react: "*" react-native: "*" - checksum: 10/c23f4970806df2d758e9092b85682ced0a302edb45614dfa136dbba767aa6480075849fae6781c412b9b005cc216e026046f6af383485a2a3ad816ab16cba791 + checksum: 10/b678dab167b1786fa3a107eb9cd1cf4a86c9a04ad4c344c865383759fa7867c5ad31402826df20bb85884186b118425b3778f93bcb50da7d86efeb9f758fa4d6 languageName: node linkType: hard @@ -9478,28 +9847,27 @@ __metadata: languageName: node linkType: hard -"expo-constants@npm:~18.0.11, expo-constants@npm:~18.0.12, expo-constants@npm:~18.0.13": - version: 18.0.13 - resolution: "expo-constants@npm:18.0.13" +"expo-constants@npm:~55.0.15": + version: 55.0.15 + resolution: "expo-constants@npm:55.0.15" dependencies: - "@expo/config": "npm:~12.0.13" - "@expo/env": "npm:~2.0.8" + "@expo/env": "npm:~2.1.1" peerDependencies: expo: "*" react-native: "*" - checksum: 10/f29c72b6f5798bd37550aafcc89c3f1a630c4910a5b69c1e19d03544f6ebf0cb65adf39db600ccbeb6e60545b2b231d244373ef3139e3c75991b380940065c6b + checksum: 10/b0992b543ef9258168932deeddf48754ba007b2950bbf2564c9407119fee6e644fa0e63ad5979e739e7e86cdc40f72fa9b785786ebbf2e39c0aa020d085cb027 languageName: node linkType: hard -"expo-constants@npm:~55.0.15": - version: 55.0.15 - resolution: "expo-constants@npm:55.0.15" +"expo-constants@npm:~56.0.16": + version: 56.0.16 + resolution: "expo-constants@npm:56.0.16" dependencies: - "@expo/env": "npm:~2.1.1" + "@expo/env": "npm:~2.3.0" peerDependencies: expo: "*" react-native: "*" - checksum: 10/b0992b543ef9258168932deeddf48754ba007b2950bbf2564c9407119fee6e644fa0e63ad5979e739e7e86cdc40f72fa9b785786ebbf2e39c0aa020d085cb027 + checksum: 10/d13b86c1b0f18ff657686d75f0a3bd4a8e253cc5ae362ec38477322809f191cdcb9f3ae05446ac1b432d9726f2dda2c466ef093d47e542eed76dd0c714e9ad80 languageName: node linkType: hard @@ -9512,49 +9880,49 @@ __metadata: languageName: node linkType: hard -"expo-file-system@npm:^19.0.20, expo-file-system@npm:~19.0.21": - version: 19.0.21 - resolution: "expo-file-system@npm:19.0.21" +"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/00a2f13f8139724016f8b811303dd4a4070a315f80ee9e1877bcfd00773b38caafe4f1d3d7d4a87777e4ff53ba645aae0b4430e875f9ee5f277b88372b507811 + checksum: 10/0569b4fe65666ececd41ac7d3c8d3fd2c0bda2ce73125be7ee784c686807c6604fe16292614f3f654104922566ecb79cce48bf4cda4980af170fb2572ae57dd3 languageName: node linkType: hard -"expo-file-system@npm:~55.0.17": - version: 55.0.17 - resolution: "expo-file-system@npm:55.0.17" +"expo-file-system@npm:~56.0.7": + version: 56.0.7 + resolution: "expo-file-system@npm:56.0.7" peerDependencies: expo: "*" react-native: "*" - checksum: 10/0569b4fe65666ececd41ac7d3c8d3fd2c0bda2ce73125be7ee784c686807c6604fe16292614f3f654104922566ecb79cce48bf4cda4980af170fb2572ae57dd3 + checksum: 10/c8074d7f7bd8c1c542eb4e3af20151f153d3ee684b80952402c3aef9a1a1f7c02b10f0b822e9ab6383217c90ec3beebaa02d567817126c31a79a5595f2cc1d96 languageName: node linkType: hard -"expo-font@npm:~14.0.11": - version: 14.0.11 - resolution: "expo-font@npm:14.0.11" +"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/80acffecdbd49a2ba1d7ecd8727f355bf47c39873d92f5959ff3bf7fd1de3e6ac10ebe2a77b8238287c3f2b7d033df40b562505fec370f82d9444400e19d7518 + checksum: 10/8063423abd4d2c06a6b7e06507d1dd119c98b37903cb494a2e5cb84fb9f83dbc5b4b9dd8dbe9f2b7c76b0554b97c2106e28fa9f277bcbfd50b70132643ed4de6 languageName: node linkType: hard -"expo-font@npm:~55.0.6": - version: 55.0.6 - resolution: "expo-font@npm:55.0.6" +"expo-font@npm:~56.0.5": + version: 56.0.5 + resolution: "expo-font@npm:56.0.5" dependencies: fontfaceobserver: "npm:^2.1.0" peerDependencies: expo: "*" react: "*" react-native: "*" - checksum: 10/8063423abd4d2c06a6b7e06507d1dd119c98b37903cb494a2e5cb84fb9f83dbc5b4b9dd8dbe9f2b7c76b0554b97c2106e28fa9f277bcbfd50b70132643ed4de6 + checksum: 10/d4802a16b2fa647a558dd83ef860c5d68b552e4c3d33fa6b73930b9e71aee8ea1776f4d7a08f32cdff086fab46f5de782873b7a2efc494fb3260112ae0f8b210 languageName: node linkType: hard @@ -9586,23 +9954,23 @@ __metadata: languageName: node linkType: hard -"expo-keep-awake@npm:~15.0.8": - version: 15.0.8 - resolution: "expo-keep-awake@npm:15.0.8" +"expo-keep-awake@npm:~55.0.6": + version: 55.0.6 + resolution: "expo-keep-awake@npm:55.0.6" peerDependencies: expo: "*" react: "*" - checksum: 10/d15c4ec6f033ed89db55c3c4d338db0e012dba10c471d3cca7978e38036e1c4e44c5a4970fa0d87e64c7f1d78c1320910331485bc5caf53acbbfd6277b414353 + checksum: 10/f4d52bf8c5499c7c8df4398b0ebe78c835361d15b488350340b410c57ac9794c2781cda605ce6cce968e37adab126fec455ceb3b5b97128186cc7e18571c414c languageName: node linkType: hard -"expo-keep-awake@npm:~55.0.6": - version: 55.0.6 - resolution: "expo-keep-awake@npm:55.0.6" +"expo-keep-awake@npm:~56.0.3": + version: 56.0.3 + resolution: "expo-keep-awake@npm:56.0.3" peerDependencies: expo: "*" react: "*" - checksum: 10/f4d52bf8c5499c7c8df4398b0ebe78c835361d15b488350340b410c57ac9794c2781cda605ce6cce968e37adab126fec455ceb3b5b97128186cc7e18571c414c + checksum: 10/6a3704ba20ce54b97745ea16627669b0b3d09cd4ee9dd546bd4973af3cb0caa93f5ad33643a16504ef90b3231f4012f3702e40de4c0b10f9e16b07d185229946 languageName: node linkType: hard @@ -9619,51 +9987,56 @@ __metadata: languageName: node linkType: hard -"expo-modules-autolinking@npm:3.0.24": - version: 3.0.24 - resolution: "expo-modules-autolinking@npm:3.0.24" +"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" - require-from-string: "npm:^2.0.2" - resolve-from: "npm:^5.0.0" bin: expo-modules-autolinking: bin/expo-modules-autolinking.js - checksum: 10/e3b77d2fa84b77e53dca2ef608b48c4db196957c76ac7cc1aba4eb2cca44b5082a16f7af8a3549a342c7a1362f069a76fb9ebdab4be6b467e3791ad48387e15a + checksum: 10/d4976bf99b49c8f1e5d4885b11f47d8852f878da19e88c3a4e879e42498ed4d22185ed4ee56496583ee83bb6ba15fbdc1d82788b7403a12392d0640e1c56f914 languageName: node linkType: hard -"expo-modules-autolinking@npm:55.0.18": - version: 55.0.18 - resolution: "expo-modules-autolinking@npm:55.0.18" +"expo-modules-autolinking@npm:~56.0.14": + version: 56.0.14 + resolution: "expo-modules-autolinking@npm:56.0.14" dependencies: - "@expo/require-utils": "npm:^55.0.4" - "@expo/spawn-async": "npm:^1.7.2" + "@expo/require-utils": "npm:^56.1.3" + "@expo/spawn-async": "npm:^1.8.0" chalk: "npm:^4.1.0" commander: "npm:^7.2.0" bin: expo-modules-autolinking: bin/expo-modules-autolinking.js - checksum: 10/d4976bf99b49c8f1e5d4885b11f47d8852f878da19e88c3a4e879e42498ed4d22185ed4ee56496583ee83bb6ba15fbdc1d82788b7403a12392d0640e1c56f914 + checksum: 10/8cdeb26c8b8e562d9c12fe1a60ab7615d762eb92612551dc18ae9be8e0c2a94fcd384ce863dee9f185844a9327d46589b961c32d95bfa9bcda83a116d473698b languageName: node linkType: hard -"expo-modules-core@npm:3.0.29": - version: 3.0.29 - resolution: "expo-modules-core@npm:3.0.29" +"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: "*" - checksum: 10/db23a1c7321db54f40f0bcb9c18e7239d798fb7fb5d8ceedf09879f7ff4d90a85e375851796008006441326ed61c00ba00950b06bc7ea74f6ba648a9dac9d053 + react-native-worklets: ^0.7.4 || ^0.8.0 + peerDependenciesMeta: + react-native-worklets: + optional: true + checksum: 10/b442000958f95b250d1d5b9ccc5fd4b3064e4a4261ff5e45e1d73833ec8ab3df0e7d6f36c6a0f487b85f90ca4c124bab61da4a45e074fbda5e93c77bd5c36995 languageName: node linkType: hard -"expo-modules-core@npm:55.0.23": - version: 55.0.23 - resolution: "expo-modules-core@npm:55.0.23" +"expo-modules-core@npm:~56.0.14": + version: 56.0.14 + resolution: "expo-modules-core@npm:56.0.14" dependencies: + "@expo/expo-modules-macros-plugin": "npm:~0.0.9" + expo-modules-jsi: "npm:~56.0.7" invariant: "npm:^2.2.4" peerDependencies: react: "*" @@ -9672,7 +10045,16 @@ __metadata: peerDependenciesMeta: react-native-worklets: optional: true - checksum: 10/b442000958f95b250d1d5b9ccc5fd4b3064e4a4261ff5e45e1d73833ec8ab3df0e7d6f36c6a0f487b85f90ca4c124bab61da4a45e074fbda5e93c77bd5c36995 + checksum: 10/edd8d81b1ed579719d28d900da039e9badcd199954557ab6ee108300c6ea91a5b90939bf9aa9ab74b3aae560f350be69add28da9a24913c8a8447cf3ec2cf32c + languageName: node + linkType: hard + +"expo-modules-jsi@npm:~56.0.7": + version: 56.0.7 + resolution: "expo-modules-jsi@npm:56.0.7" + peerDependencies: + react-native: "*" + checksum: 10/0992e27ef7f57ba17dd26dcefd07b7c5ae94ac7d6c43f1884074be9214b01d4bbe6b8cc4540205a16f26d47454f44687be0e3e5e1492b1e5f86c46c908598eda languageName: node linkType: hard @@ -9818,6 +10200,13 @@ __metadata: languageName: node linkType: hard +"expo-server@npm:^56.0.4": + version: 56.0.4 + resolution: "expo-server@npm:56.0.4" + checksum: 10/dfb8677ef4a70098cbe98137cecc18c3f9ca2a1249cd6bd911a8e97bd6ee7715aa2be99a39566f30cd3e0b63d42ef6a96be04e1a3c6ec4eece11ed0b00ec2452 + languageName: node + linkType: hard + "expo-status-bar@npm:~55.0.5": version: 55.0.5 resolution: "expo-status-bar@npm:55.0.5" @@ -9845,31 +10234,33 @@ __metadata: languageName: node linkType: hard -"expo@npm:^54.0.0": - version: 54.0.33 - resolution: "expo@npm:54.0.33" +"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:54.0.23" - "@expo/config": "npm:~12.0.13" - "@expo/config-plugins": "npm:~54.0.4" - "@expo/devtools": "npm:0.1.8" - "@expo/fingerprint": "npm:0.15.4" - "@expo/metro": "npm:~54.2.0" - "@expo/metro-config": "npm:54.0.14" - "@expo/vector-icons": "npm:^15.0.3" + "@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:~54.0.10" - expo-asset: "npm:~12.0.12" - expo-constants: "npm:~18.0.13" - expo-file-system: "npm:~19.0.21" - expo-font: "npm:~14.0.11" - expo-keep-awake: "npm:~15.0.8" - expo-modules-autolinking: "npm:3.0.24" - expo-modules-core: "npm:3.0.29" + 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-without-unicode: "npm:8.0.0-3" + whatwg-url-minimum: "npm:^0.1.1" peerDependencies: "@expo/dom-webview": "*" "@expo/metro-runtime": "*" @@ -9887,55 +10278,61 @@ __metadata: expo: bin/cli expo-modules-autolinking: bin/autolinking fingerprint: bin/fingerprint - checksum: 10/ed672f78333cf50545ea1cca8181506604150cca01a8aae782da30ddcba185d68f2d48f2ca10dee575a7abbc7913cca3f4c3d34d98373b0e9706b344030fa929 + checksum: 10/1633ed03547fcddf6ddb077b098049cb959f83f40b7529344a3b8b407e011708ba85f043198a2d1ebf42c9c8fbdf4a44b5bee65686c28375a9545e674001c6af languageName: node linkType: hard -"expo@npm:^55.0.13": - version: 55.0.17 - resolution: "expo@npm:55.0.17" +"expo@npm:^56.0.8": + version: 56.0.8 + resolution: "expo@npm:56.0.8" 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" + "@expo/cli": "npm:^56.1.13" + "@expo/config": "npm:~56.0.9" + "@expo/config-plugins": "npm:~56.0.8" + "@expo/devtools": "npm:~56.0.2" + "@expo/dom-webview": "npm:~56.0.5" + "@expo/fingerprint": "npm:^0.19.3" + "@expo/local-build-cache-provider": "npm:^56.0.8" + "@expo/log-box": "npm:^56.0.12" + "@expo/metro": "npm:~56.0.0" + "@expo/metro-config": "npm:~56.0.13" "@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" + babel-preset-expo: "npm:~56.0.14" + expo-asset: "npm:~56.0.15" + expo-constants: "npm:~56.0.16" + expo-file-system: "npm:~56.0.7" + expo-font: "npm:~56.0.5" + expo-keep-awake: "npm:~56.0.3" + expo-modules-autolinking: "npm:~56.0.14" + expo-modules-core: "npm:~56.0.14" pretty-format: "npm:^29.7.0" react-refresh: "npm:^0.14.2" - whatwg-url-minimum: "npm:^0.1.1" + whatwg-url-minimum: "npm:^0.1.2" peerDependencies: "@expo/dom-webview": "*" "@expo/metro-runtime": "*" react: "*" + react-dom: "*" react-native: "*" + react-native-web: "*" react-native-webview: "*" peerDependenciesMeta: "@expo/dom-webview": optional: true "@expo/metro-runtime": optional: true + react-dom: + optional: true + react-native-web: + optional: true react-native-webview: optional: true bin: expo: bin/cli expo-modules-autolinking: bin/autolinking fingerprint: bin/fingerprint - checksum: 10/1633ed03547fcddf6ddb077b098049cb959f83f40b7529344a3b8b407e011708ba85f043198a2d1ebf42c9c8fbdf4a44b5bee65686c28375a9545e674001c6af + checksum: 10/261d085d97f445df8bdafb3ea00b6e105ff7cc38d5504f11c12b94096a1a07096110cbbbe66f8994906acc1242ef1298df43cef75ffb09990c0c8b12deb5050b languageName: node linkType: hard @@ -10206,13 +10603,6 @@ __metadata: languageName: node linkType: hard -"freeport-async@npm:^2.0.0": - version: 2.0.0 - resolution: "freeport-async@npm:2.0.0" - checksum: 10/c0bc71eb48a9b60277e55f1b4c7b0c14d385e9a6b3f0870a1d8b1ae441504afd481380fe7923506364d6fb765546a5cef821dcc5fe7ec2ae17bb8902c94d49b9 - languageName: node - linkType: hard - "fresh@npm:~0.5.2": version: 0.5.2 resolution: "fresh@npm:0.5.2" @@ -10605,6 +10995,13 @@ __metadata: languageName: node linkType: hard +"hermes-compiler@npm:250829098.0.10": + version: 250829098.0.10 + resolution: "hermes-compiler@npm:250829098.0.10" + checksum: 10/7687ad73483d6f25e9056da647ade37e434dbb7f85700f0900f902078c106c9b0498a064446191347d16c20cf29c083f560805179caf49af21b12b8b6be1f16b + languageName: node + linkType: hard + "hermes-estree@npm:0.28.1": version: 0.28.1 resolution: "hermes-estree@npm:0.28.1" @@ -10656,7 +11053,7 @@ __metadata: languageName: node linkType: hard -"hermes-parser@npm:0.29.1, hermes-parser@npm:^0.29.1": +"hermes-parser@npm:0.29.1": version: 0.29.1 resolution: "hermes-parser@npm:0.29.1" dependencies: @@ -10683,7 +11080,7 @@ __metadata: languageName: node linkType: hard -"hermes-parser@npm:0.33.3": +"hermes-parser@npm:0.33.3, hermes-parser@npm:^0.33.3": version: 0.33.3 resolution: "hermes-parser@npm:0.33.3" dependencies: @@ -10904,13 +11301,6 @@ __metadata: languageName: node linkType: hard -"ini@npm:~1.3.0": - version: 1.3.8 - resolution: "ini@npm:1.3.8" - checksum: 10/314ae176e8d4deb3def56106da8002b462221c174ddb7ce0c49ee72c8cd1f9044f7b10cc555a7d8850982c3b9ca96fc212122749f5234bc2b6fb05fb942ed566 - languageName: node - linkType: hard - "internal-slot@npm:^1.1.0": version: 1.1.0 resolution: "internal-slot@npm:1.1.0" @@ -12527,15 +12917,6 @@ __metadata: languageName: node linkType: hard -"lan-network@npm:^0.1.6": - version: 0.1.7 - resolution: "lan-network@npm:0.1.7" - bin: - lan-network: dist/lan-network-cli.js - checksum: 10/005b6a30c114b7caa69922756cf5d5dd07679dab254127823255525b426c979388db0f1f74d7c364d96fb2c4dabcbe29bed8ed97a96c290431f3c6127a592f46 - languageName: node - linkType: hard - "lan-network@npm:^0.2.1": version: 0.2.1 resolution: "lan-network@npm:0.2.1" @@ -13060,18 +13441,6 @@ __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: 10/dd178409d1718dae12dfffb6572ebc5bb78f1e0d7e93dce829c945957f8a686cb1b4c466c69585d7b982b3937fbea28d5c53a80691f2fc66717a0bcc800bc5b8 - languageName: node - linkType: hard - "metro-babel-transformer@npm:0.83.4": version: 0.83.4 resolution: "metro-babel-transformer@npm:0.83.4" @@ -13097,12 +13466,16 @@ __metadata: languageName: node linkType: hard -"metro-cache-key@npm:0.83.3": - version: 0.83.3 - resolution: "metro-cache-key@npm:0.83.3" +"metro-babel-transformer@npm:0.84.4": + version: 0.84.4 + resolution: "metro-babel-transformer@npm:0.84.4" dependencies: + "@babel/core": "npm:^7.25.2" flow-enums-runtime: "npm:^0.0.6" - checksum: 10/a6f9d2bf8b810f57d330d6f8f1ebf029e1224f426c5895f73d9bc1007482684048bfc7513a855626ee7f3ae72ca46e1b08cf983aefbfa84321bb7c0cef4ba4ae + hermes-parser: "npm:0.35.0" + metro-cache-key: "npm:0.84.4" + nullthrows: "npm:^1.1.1" + checksum: 10/5e3c1b49d88db6e6219f3c47a1fa61dd6cf38def566d9f24a430a8117853009fb0e3f975c7fa5aa20c7af7f142b37ef37b4a22838f0d18324a92002237630fad languageName: node linkType: hard @@ -13124,15 +13497,12 @@ __metadata: languageName: node linkType: hard -"metro-cache@npm:0.83.3": - version: 0.83.3 - resolution: "metro-cache@npm:0.83.3" +"metro-cache-key@npm:0.84.4": + version: 0.84.4 + resolution: "metro-cache-key@npm:0.84.4" 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: 10/4bc263ac92f176451710ebd330d156675e40f028be02eb9659a9b024db9897f3ad8510809d699969cb6f06dc0f06d85c38ca7162fb9a70be44510fa03270e089 + checksum: 10/381f330ec25ad3823ae843e5c21ed75aa5e34f4c92231aead526f4936f4280e1a73977a8d10fecc2b1ef8f11fc884323a76b650a93c699d6b02c706c17eea7ca languageName: node linkType: hard @@ -13160,19 +13530,15 @@ __metadata: languageName: node linkType: hard -"metro-config@npm:0.83.3": - version: 0.83.3 - resolution: "metro-config@npm:0.83.3" +"metro-cache@npm:0.84.4": + version: 0.84.4 + resolution: "metro-cache@npm:0.84.4" dependencies: - connect: "npm:^3.6.5" + exponential-backoff: "npm:^3.1.1" 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: 10/e377c375a48afc85a4d742f80a17fc178f9af7f5b007375e65bb49472ad78bc8e1f0ba4399411310ee8b856fb767bd81bd6dae19bec6ef6a44f0ece4d8457b30 + https-proxy-agent: "npm:^7.0.5" + metro-core: "npm:0.84.4" + checksum: 10/e59dcc3c691b545ce574383ef22576e8d3e5b8e5e7ea9fbe9e0070d8d36406705c01458c30b4a31ca3b810e43082cd3a1948d389cbb13552f170c336dc651b7e languageName: node linkType: hard @@ -13208,14 +13574,19 @@ __metadata: languageName: node linkType: hard -"metro-core@npm:0.83.3": - version: 0.83.3 - resolution: "metro-core@npm:0.83.3" +"metro-config@npm:0.84.4, metro-config@npm:^0.84.3": + version: 0.84.4 + resolution: "metro-config@npm:0.84.4" dependencies: + connect: "npm:^3.6.5" flow-enums-runtime: "npm:^0.0.6" - lodash.throttle: "npm:^4.1.1" - metro-resolver: "npm:0.83.3" - checksum: 10/6ef06214faa1d727396d986f989a8150f699d73c5764c66e06e61b08017e462141a7b4c9ca63f67becee58ea1394b41aabfff441e644fc1e945c715e07c60612 + jest-validate: "npm:^29.7.0" + metro: "npm:0.84.4" + metro-cache: "npm:0.84.4" + metro-core: "npm:0.84.4" + metro-runtime: "npm:0.84.4" + yaml: "npm:^2.6.1" + checksum: 10/54c61d4794dcbe5444e65ef3bb28325449f143afd9972e1093d13871472ee9086094c38daf3735fc688448ab13b60e7800623f3cf5685063f7983956a5f55fcd languageName: node linkType: hard @@ -13241,20 +13612,14 @@ __metadata: languageName: node linkType: hard -"metro-file-map@npm:0.83.3": - version: 0.83.3 - resolution: "metro-file-map@npm:0.83.3" +"metro-core@npm:0.84.4, metro-core@npm:^0.84.3": + version: 0.84.4 + resolution: "metro-core@npm:0.84.4" 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: 10/be621b144168b6a35567d4313557596df68ee61c1b9a067fbf8272ec3db7c2d9d76849c9b8d2331716d6839c3f8e243e2b715ca2551d7ffebbd206a34c19591a + lodash.throttle: "npm:^4.1.1" + metro-resolver: "npm:0.84.4" + checksum: 10/9ee8513522277c5fe00a8d1ef6b698763b9fd2bd2cdc90786617eef36896d3e1e778a0fd8aadd42027d5ca222a54056e734a51f5adb321195878f06341692713 languageName: node linkType: hard @@ -13292,13 +13657,20 @@ __metadata: languageName: node linkType: hard -"metro-minify-terser@npm:0.83.3": - version: 0.83.3 - resolution: "metro-minify-terser@npm:0.83.3" +"metro-file-map@npm:0.84.4": + version: 0.84.4 + resolution: "metro-file-map@npm:0.84.4" 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/1de88b70b7c903147807baa46497491a87600594fd0868b6538bbb9d7785242cabfbe8bccf36cc2285d0e17be72445b512d00c496952a159572545f3e6bcb199 + 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/ab4d01e5ab78cc78682603b8eaf68e45ccc00fe5e440e4e69d7e6102f79a13e126da3692ae6f3d4b379a8b05b284498fa18d10b1f9447046068e1aa1b658b2db languageName: node linkType: hard @@ -13322,6 +13694,16 @@ __metadata: languageName: node linkType: hard +"metro-minify-terser@npm:0.84.4": + version: 0.84.4 + resolution: "metro-minify-terser@npm:0.84.4" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + terser: "npm:^5.15.0" + checksum: 10/e0893b5672a4ad2bc6e2c492f9994a3eae6e633e49f2e5a52738e80260e37bb5143219ce2c337c22dd16cee850e68b99d1ba4bc378d7cc8e9cd60d636aa051b5 + 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" @@ -13371,15 +13753,6 @@ __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: 10/a425376447505a088a365fc1fbe2753d452c0353a189f2c74833f2b30d6401de7ed90e36a927d355fa454d6c439a156eb66bcfcedfbbe8a78d313cf49acfbb4c - languageName: node - linkType: hard - "metro-resolver@npm:0.83.4": version: 0.83.4 resolution: "metro-resolver@npm:0.83.4" @@ -13398,13 +13771,12 @@ __metadata: languageName: node linkType: hard -"metro-runtime@npm:0.83.3": - version: 0.83.3 - resolution: "metro-runtime@npm:0.83.3" +"metro-resolver@npm:0.84.4": + version: 0.84.4 + resolution: "metro-resolver@npm:0.84.4" dependencies: - "@babel/runtime": "npm:^7.25.0" flow-enums-runtime: "npm:^0.0.6" - checksum: 10/bf916759a7178e1d12e131c64ac67d6015ba35ead7a178e6efedd23f12ec65de99f450fe7da0ffb6c6edbfeb3cd186d2006b979a1c1c588377ae54f5f5d7921d + checksum: 10/2234b8820ebebc70ae9688e3f4e4ec031f59bfefe51cd6171f7ce2063d97308663021292dccb2f34d80806d685f7f2583834eb718c8d5465a0385687f14b3996 languageName: node linkType: hard @@ -13428,21 +13800,13 @@ __metadata: languageName: node linkType: hard -"metro-source-map@npm:0.83.3": - version: 0.83.3 - resolution: "metro-source-map@npm:0.83.3" +"metro-runtime@npm:0.84.4, metro-runtime@npm:^0.84.3": + version: 0.84.4 + resolution: "metro-runtime@npm:0.84.4" 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.83.3" - nullthrows: "npm:^1.1.1" - ob1: "npm:0.83.3" - source-map: "npm:^0.5.6" - vlq: "npm:^1.0.0" - checksum: 10/1dcfce503628275f97dd85945ca575c71e5654fd8872b7d86449f3352cfc84ea7a59889b2aad012361245b5497e1e097db73390245952dcfb63258ba32fa90bf + checksum: 10/8c5818fdc67bd8ece9fc16bdcc848e115c76289f41b397efe30e401590dc04e36a4ea5af126682648f3b689ffbee27da20ba27ed261021aa4d222b75a40f353f languageName: node linkType: hard @@ -13480,19 +13844,20 @@ __metadata: languageName: node linkType: hard -"metro-symbolicate@npm:0.83.3": - version: 0.83.3 - resolution: "metro-symbolicate@npm:0.83.3" +"metro-source-map@npm:0.84.4, metro-source-map@npm:^0.84.3": + version: 0.84.4 + resolution: "metro-source-map@npm:0.84.4" 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.83.3" + metro-symbolicate: "npm:0.84.4" nullthrows: "npm:^1.1.1" + ob1: "npm:0.84.4" source-map: "npm:^0.5.6" vlq: "npm:^1.0.0" - bin: - metro-symbolicate: src/index.js - checksum: 10/f3be0740655732044e92728a3bccd5f4a73ab2f9e4423ca05faee02446e9b2efd9400cc7bcd761fad9bc2a1b92855ce5b03bf13e0421a203fe179be40dcc9381 + checksum: 10/675a4df8a85ef411a58cb334932bda6f8bd87a8e031f73ac1dfd76cfe89ebbe994c167fc36b66fc550c09e7bef1cfe405c5693ae4c20198db9753b6a7acae4fd languageName: node linkType: hard @@ -13528,17 +13893,19 @@ __metadata: languageName: node linkType: hard -"metro-transform-plugins@npm:0.83.3": - version: 0.83.3 - resolution: "metro-transform-plugins@npm:0.83.3" +"metro-symbolicate@npm:0.84.4": + version: 0.84.4 + resolution: "metro-symbolicate@npm:0.84.4" 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.84.4" nullthrows: "npm:^1.1.1" - checksum: 10/fa7efe6ab4f2ce5f66e1cb302f71341cf7fd55319cf360a269b187d2f507cecce8db8069f92585cf43517aee63e18cf6e66dd124db95c293902ab27c68ac43b1 + source-map: "npm:^0.5.6" + vlq: "npm:^1.0.0" + bin: + metro-symbolicate: src/index.js + checksum: 10/a6aebc3a604aebd1c83dc090249c4f91f2bad25bcdd48c05c5f0cfc56ad223ac2c1ba558123b68ba6c3e97de7515d81b6ba9b048012746395f3eb68a9e90a189 languageName: node linkType: hard @@ -13570,24 +13937,17 @@ __metadata: languageName: node linkType: hard -"metro-transform-worker@npm:0.83.3": - version: 0.83.3 - resolution: "metro-transform-worker@npm:0.83.3" +"metro-transform-plugins@npm:0.84.4": + version: 0.84.4 + resolution: "metro-transform-plugins@npm:0.84.4" 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.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: 10/e6db9b54a9b21f4b06fc665321a7aebc6206dbac3976bda74bdf4d101dbd50f91b2e49163581ca1c27b684a4eecc2db988f0fc7aaeb200d2d947cb05d3e89f18 + checksum: 10/ae83306fbb640392205e571ddfb69629ec6d2878d664de85da2150d23458949dba833feef03759d9b15a13c0a50b4191ede41c685d12554c16fb8d56609292d6 languageName: node linkType: hard @@ -13633,53 +13993,24 @@ __metadata: languageName: node linkType: hard -"metro@npm:0.83.3": - version: 0.83.3 - resolution: "metro@npm:0.83.3" +"metro-transform-worker@npm:0.84.4": + version: 0.84.4 + resolution: "metro-transform-worker@npm:0.84.4" 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" + "@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.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" + metro: "npm:0.84.4" + metro-babel-transformer: "npm:0.84.4" + metro-cache: "npm:0.84.4" + metro-cache-key: "npm:0.84.4" + metro-minify-terser: "npm:0.84.4" + metro-source-map: "npm:0.84.4" + metro-transform-plugins: "npm:0.84.4" 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/c989031710f02e51d3030660f1913870885647c5a216068333f7b4c43363f9ede03a9efb3b068b6750c6decab40f541376c3d81b32389d24932a46e10d19ebe1 + checksum: 10/bacccf7a3a051a2216490b221c63f16db97f35845232c0bd32edd211f82befa93b319fd6eb00df47595c24b6d7c3ec1851849773ff532de96c76b931709faa2b languageName: node linkType: hard @@ -13783,6 +14114,55 @@ __metadata: languageName: node linkType: hard +"metro@npm:0.84.4, metro@npm:^0.84.3": + version: 0.84.4 + resolution: "metro@npm:0.84.4" + 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" + 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.84.4" + metro-cache: "npm:0.84.4" + metro-cache-key: "npm:0.84.4" + metro-config: "npm:0.84.4" + metro-core: "npm:0.84.4" + metro-file-map: "npm:0.84.4" + metro-resolver: "npm:0.84.4" + metro-runtime: "npm:0.84.4" + metro-source-map: "npm:0.84.4" + metro-symbolicate: "npm:0.84.4" + metro-transform-plugins: "npm:0.84.4" + metro-transform-worker: "npm:0.84.4" + 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/22369963a965398add8e79939852b6a8906565d81bcb2a764255526fc8548417aed2976e315ec44cc432e104ea03afc616879449a0a9e4c292cfe0e9f252649d + languageName: node + linkType: hard + "micromark-core-commonmark@npm:^2.0.0": version: 2.0.3 resolution: "micromark-core-commonmark@npm:2.0.3" @@ -14053,15 +14433,6 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.27, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": - version: 2.1.35 - resolution: "mime-types@npm:2.1.35" - dependencies: - mime-db: "npm:1.52.0" - checksum: 10/89aa9651b67644035de2784a6e665fc685d79aba61857e02b9c8758da874a754aed4a9aced9265f5ed1171fd934331e5516b84a7f0218031b6fa0270eca1e51a - 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" @@ -14071,6 +14442,15 @@ __metadata: languageName: node linkType: hard +"mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10/89aa9651b67644035de2784a6e665fc685d79aba61857e02b9c8758da874a754aed4a9aced9265f5ed1171fd934331e5516b84a7f0218031b6fa0270eca1e51a + languageName: node + linkType: hard + "mime@npm:1.6.0": version: 1.6.0 resolution: "mime@npm:1.6.0" @@ -14121,7 +14501,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.0, minimatch@npm:^9.0.4": +"minimatch@npm:^9.0.4": version: 9.0.8 resolution: "minimatch@npm:9.0.8" dependencies: @@ -14130,13 +14510,6 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 10/908491b6cc15a6c440ba5b22780a0ba89b9810e1aea684e253e43c4e3b8d56ec1dcdd7ea96dde119c29df59c936cde16062159eae4225c691e19c70b432b6e6f - languageName: node - linkType: hard - "minipass-collect@npm:^2.0.1": version: 2.0.1 resolution: "minipass-collect@npm:2.0.1" @@ -14236,21 +14609,53 @@ __metadata: languageName: node linkType: hard -"multitars@npm:^1.0.0": - version: 1.0.0 - resolution: "multitars@npm:1.0.0" - checksum: 10/acb10b29e81f2eba51f98c2296277c5b8be58fbfb0fdd833b5497c09f000b1d7d27504c00a96ba603d0a1d3bf3f34b8aa55bb70c45bfd923b6eb223bfb65b21d +"msgpackr-extract@npm:^3.0.4": + version: 3.0.4 + resolution: "msgpackr-extract@npm:3.0.4" + dependencies: + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "npm:3.0.4" + "@msgpackr-extract/msgpackr-extract-darwin-x64": "npm:3.0.4" + "@msgpackr-extract/msgpackr-extract-linux-arm": "npm:3.0.4" + "@msgpackr-extract/msgpackr-extract-linux-arm64": "npm:3.0.4" + "@msgpackr-extract/msgpackr-extract-linux-x64": "npm:3.0.4" + "@msgpackr-extract/msgpackr-extract-win32-x64": "npm:3.0.4" + node-gyp: "npm:latest" + node-gyp-build-optional-packages: "npm:5.2.2" + dependenciesMeta: + "@msgpackr-extract/msgpackr-extract-darwin-arm64": + optional: true + "@msgpackr-extract/msgpackr-extract-darwin-x64": + optional: true + "@msgpackr-extract/msgpackr-extract-linux-arm": + optional: true + "@msgpackr-extract/msgpackr-extract-linux-arm64": + optional: true + "@msgpackr-extract/msgpackr-extract-linux-x64": + optional: true + "@msgpackr-extract/msgpackr-extract-win32-x64": + optional: true + bin: + download-msgpackr-prebuilds: bin/download-prebuilds.js + checksum: 10/05a66482eca3c7932afef4300abc0cccfbb002185506d85d77fd2cff63870d58ef6903fef879ea09ff76ed0c18c9282a0dceb0d621a58e3c02adc9e0bfb8eb33 languageName: node linkType: hard -"mz@npm:^2.7.0": - version: 2.7.0 - resolution: "mz@npm:2.7.0" +"msgpackr@npm:^2.0.1": + version: 2.0.2 + resolution: "msgpackr@npm:2.0.2" dependencies: - any-promise: "npm:^1.0.0" - object-assign: "npm:^4.0.1" - thenify-all: "npm:^1.0.0" - checksum: 10/8427de0ece99a07e9faed3c0c6778820d7543e3776f9a84d22cf0ec0a8eb65f6e9aee9c9d353ff9a105ff62d33a9463c6ca638974cc652ee8140cd1e35951c87 + msgpackr-extract: "npm:^3.0.4" + dependenciesMeta: + msgpackr-extract: + optional: true + checksum: 10/36e0e9480e3a6193e0e756c80454f994561790286f74d80b17471549af6c899983ebc4b2a7f172f814bde61539e7221d2e1c08833e4f4ff6cd179f611d2b1b6a + 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 @@ -14263,6 +14668,15 @@ __metadata: languageName: node linkType: hard +"nanoid@npm:^3.3.12": + version: 3.3.12 + resolution: "nanoid@npm:3.3.12" + bin: + nanoid: bin/nanoid.cjs + checksum: 10/6eec280694e2088d18fb802b1e3bfc4578e27b665b7ecfbe36c7356612fea2f814277056e671e2a1529dff551588a652efdc0bfa39f8a3185bc2247be311872e + languageName: node + linkType: hard + "napi-postinstall@npm:^0.3.0": version: 0.3.4 resolution: "napi-postinstall@npm:0.3.4" @@ -14300,13 +14714,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: 10/8430d7d80ad69b1add2992ee2992a363db6c1a26a54740963bc99a004c5acb1d2a67049397062eab2caa3a312b4da89a0b85de3bdf82d7d472a6baa166311fe6 - languageName: node - linkType: hard - "no-case@npm:^3.0.4": version: 3.0.4 resolution: "no-case@npm:3.0.4" @@ -14343,6 +14750,19 @@ __metadata: languageName: node linkType: hard +"node-gyp-build-optional-packages@npm:5.2.2": + version: 5.2.2 + resolution: "node-gyp-build-optional-packages@npm:5.2.2" + dependencies: + detect-libc: "npm:^2.0.1" + bin: + node-gyp-build-optional-packages: bin.js + node-gyp-build-optional-packages-optional: optional.js + node-gyp-build-optional-packages-test: build-test.js + checksum: 10/f448a328cf608071dc8cc4426ac5be0daec4788e4e1759e9f7ffcd286822cc799384edce17a8c79e610c4bbfc8e3aff788f3681f1d88290e0ca7aaa5342a090f + languageName: node + linkType: hard + "node-gyp@npm:latest": version: 12.2.0 resolution: "node-gyp@npm:12.2.0" @@ -14439,15 +14859,6 @@ __metadata: languageName: node linkType: hard -"ob1@npm:0.83.3": - version: 0.83.3 - resolution: "ob1@npm:0.83.3" - dependencies: - flow-enums-runtime: "npm:^0.0.6" - checksum: 10/20dfe91d48d0cadd97159cfd53f5abdca435b55d58b1f562e0687485e8f44f8a95e8ab3c835badd13d0d8c01e3d7b14d639a316aa4bf82841ac78b49611d4e5c - languageName: node - linkType: hard - "ob1@npm:0.83.4": version: 0.83.4 resolution: "ob1@npm:0.83.4" @@ -14466,7 +14877,16 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": +"ob1@npm:0.84.4": + version: 0.84.4 + resolution: "ob1@npm:0.84.4" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + checksum: 10/15621cfa2d6bb196c5046031b3f85259735a245d9d7087f41758be3c31589c464e6eef53d94ec3d680fd8286ef08944782b9112f18d790a99421fbc7e311bb32 + languageName: node + linkType: hard + +"object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: 10/fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f @@ -14859,7 +15279,7 @@ __metadata: languageName: node linkType: hard -"path-parse@npm:^1.0.5, path-parse@npm:^1.0.7": +"path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" checksum: 10/49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a @@ -14907,21 +15327,14 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^3.0.1": - version: 3.0.1 - resolution: "picomatch@npm:3.0.1" - checksum: 10/65ac837fedbd0640586f7c214f6c7481e1e12f41cdcd22a95eb6a2914d1773707ed0f0b5bd2d1e39b5ec7860b43a4c9150152332a3884cd8dd1d419b2a2fa5b5 - languageName: node - linkType: hard - -"picomatch@npm:^4.0.2, picomatch@npm:^4.0.3": +"picomatch@npm:^4.0.2, picomatch@npm:^4.0.3, picomatch@npm:^4.0.4": version: 4.0.4 resolution: "picomatch@npm:4.0.4" checksum: 10/f6ef80a3590827ce20378ae110ac78209cc4f74d39236370f1780f957b7ee41c12acde0e4651b90f39983506fd2f5e449994716f516db2e9752924aff8de93ce languageName: node linkType: hard -"pirates@npm:^4.0.1, pirates@npm:^4.0.4, pirates@npm:^4.0.7": +"pirates@npm:^4.0.4, pirates@npm:^4.0.7": version: 4.0.7 resolution: "pirates@npm:4.0.7" checksum: 10/2427f371366081ae42feb58214f04805d6b41d6b84d74480ebcc9e0ddbd7105a139f7c653daeaf83ad8a1a77214cf07f64178e76de048128fec501eab3305a96 @@ -14969,6 +15382,17 @@ __metadata: languageName: node linkType: hard +"postcss@npm:^8.5.14": + version: 8.5.15 + resolution: "postcss@npm:8.5.15" + dependencies: + nanoid: "npm:^3.3.12" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10/d02ad19eb1e0fa53a1229ee6d53807eb88f903f2b9a8cac66993367f3ac7dd3b97238c783a54ccbf4145f82f6ca9a5cbd58f089846285d759c8a3259fbea8318 + languageName: node + linkType: hard + "postcss@npm:~8.4.32": version: 8.4.49 resolution: "postcss@npm:8.4.49" @@ -15027,13 +15451,6 @@ __metadata: languageName: node linkType: hard -"pretty-bytes@npm:^5.6.0": - version: 5.6.0 - resolution: "pretty-bytes@npm:5.6.0" - checksum: 10/9c082500d1e93434b5b291bd651662936b8bd6204ec9fa17d563116a192d6d86b98f6d328526b4e8d783c07d5499e2614a807520249692da9ec81564b2f439cd - languageName: node - linkType: hard - "pretty-format@npm:30.2.0, pretty-format@npm:^30.0.0": version: 30.2.0 resolution: "pretty-format@npm:30.2.0" @@ -15117,7 +15534,7 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^2.1.0, punycode@npm:^2.1.1": +"punycode@npm:^2.1.0": version: 2.3.1 resolution: "punycode@npm:2.3.1" checksum: 10/febdc4362bead22f9e2608ff0171713230b57aff9dddc1c273aa2a651fbd366f94b7d6a71d78342a7c0819906750351ca7f2edd26ea41b626d87d6a13d1bd059 @@ -15138,15 +15555,6 @@ __metadata: 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: 10/61fe2336b954584f321f2593d7e33f5b235788d829ea982f11a388d1e80e9cafb086dd28e7bd1649859cac62a6eb5818c9de14657222e3f66ba7376d0edccefd - languageName: node - linkType: hard - "qs@npm:^6.14.1": version: 6.15.0 resolution: "qs@npm:6.15.0" @@ -15224,20 +15632,6 @@ __metadata: languageName: node linkType: hard -"rc@npm:~1.2.7": - version: 1.2.8 - resolution: "rc@npm:1.2.8" - dependencies: - deep-extend: "npm:^0.6.0" - ini: "npm:~1.3.0" - minimist: "npm:^1.2.0" - strip-json-comments: "npm:~2.0.1" - bin: - rc: ./cli.js - checksum: 10/5c4d72ae7eec44357171585938c85ce066da8ca79146b5635baf3d55d74584c92575fa4e2c9eac03efbed3b46a0b2e7c30634c012b4b4fa40d654353d3c163eb - languageName: node - linkType: hard - "react-devtools-core@npm:^6.1.5": version: 6.1.5 resolution: "react-devtools-core@npm:6.1.5" @@ -15382,12 +15776,12 @@ __metadata: version: 0.0.0-use.local resolution: "react-native-executorch-expo-resource-fetcher@workspace:packages/expo-resource-fetcher" dependencies: - "@types/react": "npm:~19.1.10" - expo: "npm:^54.0.0" - expo-asset: "npm:12.0.11" - expo-file-system: "npm:^19.0.20" - react: "npm:19.1.0" - react-native: "npm:0.81.5" + "@types/react": "npm:~19.2.0" + expo: "npm:^56.0.8" + expo-asset: "npm:~56.0.15" + expo-file-system: "npm:~56.0.7" + react: "npm:19.2.3" + react-native: "npm:0.85.3" react-native-executorch: "workspace:*" typescript: "npm:~5.9.2" peerDependencies: @@ -15816,6 +16210,57 @@ __metadata: languageName: node linkType: hard +"react-native@npm:0.85.3": + version: 0.85.3 + resolution: "react-native@npm:0.85.3" + dependencies: + "@react-native/assets-registry": "npm:0.85.3" + "@react-native/codegen": "npm:0.85.3" + "@react-native/community-cli-plugin": "npm:0.85.3" + "@react-native/gradle-plugin": "npm:0.85.3" + "@react-native/js-polyfills": "npm:0.85.3" + "@react-native/normalize-colors": "npm:0.85.3" + "@react-native/virtualized-lists": "npm:0.85.3" + abort-controller: "npm:^3.0.0" + anser: "npm:^1.4.9" + ansi-regex: "npm:^5.0.0" + babel-plugin-syntax-hermes-parser: "npm:0.33.3" + base64-js: "npm:^1.5.1" + commander: "npm:^12.0.0" + flow-enums-runtime: "npm:^0.0.6" + hermes-compiler: "npm:250829098.0.10" + invariant: "npm:^2.2.4" + memoize-one: "npm:^5.0.0" + metro-runtime: "npm:^0.84.3" + metro-source-map: "npm:^0.84.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" + tinyglobby: "npm:^0.2.15" + whatwg-fetch: "npm:^3.0.0" + ws: "npm:^7.5.10" + yargs: "npm:^17.6.2" + peerDependencies: + "@react-native/jest-preset": 0.85.3 + "@types/react": ^19.1.1 + react: ^19.2.3 + peerDependenciesMeta: + "@react-native/jest-preset": + optional: true + "@types/react": + optional: true + bin: + react-native: cli.js + checksum: 10/1141ad27311f9bc4fe1111f7132e9fef90f66e6804a8982148bf6c0efee8f9479379d6ab4938ef84c1ef86fb472004cdfd2c0910b6a8e193e4e78a4e2e186bdb + languageName: node + linkType: hard + "react-reconciler@npm:0.31.0": version: 0.31.0 resolution: "react-reconciler@npm:0.31.0" @@ -15918,6 +16363,13 @@ __metadata: languageName: node linkType: hard +"react@npm:19.2.3": + version: 19.2.3 + resolution: "react@npm:19.2.3" + checksum: 10/d16b7f35c0d35a56f63d9d1693819762e4abc479c57dd6310298920bed3820fcec7e17a99d44983416d8f5049143ea45b8005d3ab8324bae8973224400502b08 + languageName: node + linkType: hard + "react@npm:19.2.5": version: 19.2.5 resolution: "react@npm:19.2.5" @@ -16028,13 +16480,6 @@ __metadata: languageName: node linkType: hard -"require-from-string@npm:^2.0.2": - version: 2.0.2 - resolution: "require-from-string@npm:2.0.2" - checksum: 10/839a3a890102a658f4cb3e7b2aa13a1f80a3a976b512020c3d1efc418491c48a886b6e481ea56afc6c4cb5eef678f23b2a4e70575e7534eccadf5e30ed2e56eb - languageName: node - linkType: hard - "require-main-filename@npm:^2.0.0": version: 2.0.0 resolution: "require-main-filename@npm:2.0.0" @@ -16042,17 +16487,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: 10/ae3c7759448a8348307ad99f7487f4571a8e5319c5fc5e0499a8791839d1504f3baf61ca846b70731e1973a9243d9d1ef3b54f6f674a5d67d427c92a0d78b072 - languageName: node - linkType: hard - "reserved-identifiers@npm:^1.0.0": version: 1.2.0 resolution: "reserved-identifiers@npm:1.2.0" @@ -16090,14 +16524,14 @@ __metadata: languageName: node linkType: hard -"resolve.exports@npm:^2.0.0, resolve.exports@npm:^2.0.3": +"resolve.exports@npm:^2.0.0": version: 2.0.3 resolution: "resolve.exports@npm:2.0.3" checksum: 10/536efee0f30a10fac8604e6cdc7844dbc3f4313568d09f06db4f7ed8a5b8aeb8585966fe975083d1f2dfbc87cf5f8bc7ab65a5c23385c14acbb535ca79f8398a languageName: node linkType: hard -"resolve@npm:^1.20.0, resolve@npm:^1.22.11, resolve@npm:^1.22.2": +"resolve@npm:^1.20.0, resolve@npm:^1.22.11": version: 1.22.11 resolution: "resolve@npm:1.22.11" dependencies: @@ -16126,16 +16560,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: 10/76697bb674d9de34dcfb837739878ad95b3e0021a198c88eb235d812a20d4b15b587e8e14342da41e2a83b6ca2e0c4bfd114d0329cc5b80c264925db1afe0251 - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.11#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin": +"resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.11#optional!builtin": version: 1.22.11 resolution: "resolve@patch:resolve@npm%3A1.22.11#optional!builtin::version=1.22.11&hash=c3c19d" dependencies: @@ -16164,15 +16589,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: 10/3bfc4ed0768c158d320bdd1076875e2c783cba03985d6052cd5142ed971e413eb8f8a81753fc4f12f3051723356898bf9c5a24d6c988dfb9de9587f710ca692d - languageName: node - linkType: hard - "restore-cursor@npm:^2.0.0": version: 2.0.0 resolution: "restore-cursor@npm:2.0.0" @@ -16977,13 +17393,6 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:~2.0.1": - version: 2.0.1 - resolution: "strip-json-comments@npm:2.0.1" - checksum: 10/1074ccb63270d32ca28edfb0a281c96b94dc679077828135141f27d52a5a398ef5e78bcf22809d23cadc2b81dfbe345eb5fd8699b385c8b1128907dec4a7d1e1 - languageName: node - linkType: hard - "strnum@npm:^1.0.5": version: 1.1.2 resolution: "strnum@npm:1.1.2" @@ -17005,24 +17414,6 @@ __metadata: languageName: node linkType: hard -"sucrase@npm:~3.35.1": - version: 3.35.1 - resolution: "sucrase@npm:3.35.1" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.2" - commander: "npm:^4.0.0" - lines-and-columns: "npm:^1.1.6" - mz: "npm:^2.7.0" - pirates: "npm:^4.0.1" - tinyglobby: "npm:^0.2.11" - ts-interface-checker: "npm:^0.1.9" - bin: - sucrase: bin/sucrase - sucrase-node: bin/sucrase-node - checksum: 10/539f5c6ebc1ff8d449a89eb52b8c8944a730b9840ddadbd299a7d89ebcf16c3f4bc9aa59e1f2e112a502e5cf1508f7e02065f0e97c0435eb9a7058e997dfff5a - languageName: node - linkType: hard - "supports-color@npm:^5.3.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -17100,7 +17491,7 @@ __metadata: languageName: node linkType: hard -"tar@npm:^7.5.2, tar@npm:^7.5.4": +"tar@npm:^7.5.4": version: 7.5.13 resolution: "tar@npm:7.5.13" dependencies: @@ -17188,24 +17579,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: 10/dba7cc8a23a154cdcb6acb7f51d61511c37a6b077ec5ab5da6e8b874272015937788402fd271fdfc5f187f8cb0948e38d0a42dcc89d554d731652ab458f5343e - 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: 10/486e1283a867440a904e36741ff1a177faa827cf94d69506f7e3ae4187b9afdf9ec368b3d8da225c192bfe2eb943f3f0080594156bf39f21b57cd1411e2e7f6d - languageName: node - linkType: hard - "throat@npm:^5.0.0": version: 5.0.0 resolution: "throat@npm:5.0.0" @@ -17213,7 +17586,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.12, tinyglobby@npm:^0.2.13": version: 0.2.15 resolution: "tinyglobby@npm:0.2.15" dependencies: @@ -17223,6 +17596,16 @@ __metadata: languageName: node linkType: hard +"tinyglobby@npm:^0.2.15": + version: 0.2.17 + resolution: "tinyglobby@npm:0.2.17" + dependencies: + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.4" + checksum: 10/f85e8a217d675c3f78d5f0ad25ea4557e7e023ed13ddc2b014da10bd0312eea53a34cd52356af07ccdff777f1243012547656282a4ca70936f68bf5065fbaa71 + languageName: node + linkType: hard + "tmpl@npm:1.0.5": version: 1.0.5 resolution: "tmpl@npm:1.0.5" @@ -17272,13 +17655,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: 10/9f7346b9e25bade7a1050c001ec5a4f7023909c0e1644c5a96ae20703a131627f081479e6622a4ecee2177283d0069e651e507bedadd3904fc4010ab28ffce00 - languageName: node - linkType: hard - "tslib@npm:^1.8.1": version: 1.14.1 resolution: "tslib@npm:1.14.1" @@ -17468,13 +17844,6 @@ __metadata: languageName: node linkType: hard -"undici@npm:^6.18.2": - version: 6.24.1 - resolution: "undici@npm:6.24.1" - checksum: 10/4f84e6045520eef9ba8eabb96360b50c759f59905c1703b12187c2dbcc6d1584c5d7ecddeb45b0ed6cac84ca2d132b21bfd8a38f77fa30378b1ac5d2ae390fd9 - 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" @@ -17808,13 +18177,6 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^5.0.0": - version: 5.0.0 - resolution: "webidl-conversions@npm:5.0.0" - checksum: 10/cea864dd9cf1f2133d82169a446fb94427ba089e4676f5895273ea085f165649afe587ae3f19f2f0370751a724bba2d96e9956d652b3e41ac1feaaa4376e2d70 - languageName: node - linkType: hard - "whatwg-fetch@npm:^3.0.0": version: 3.6.20 resolution: "whatwg-fetch@npm:3.6.20" @@ -17829,14 +18191,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: 10/aa588b54b75304335c5e189f8572626f989364c2ac5be5a1643ac687c2501f044405e1eb5761d65a826f570befade5fe51a723d917e9ab7672bb65d14065e82f +"whatwg-url-minimum@npm:^0.1.2": + version: 0.1.2 + resolution: "whatwg-url-minimum@npm:0.1.2" + checksum: 10/190334ec6bc9e3807ff7bd89ca6e7893b8fe8633505f267e094fa9204344d601099644ac42fbf143bf92ea7d943595c4dacdd3981e24c4a4c7e1f0cb8cdb2d19 languageName: node linkType: hard @@ -17930,13 +18288,6 @@ __metadata: languageName: node linkType: hard -"wonka@npm:^6.3.2": - version: 6.3.5 - resolution: "wonka@npm:6.3.5" - checksum: 10/4f8adf1a758c7a9ccd2a98e21006537bfebfb68a241a6d703f47c5d2bac474cc476c3f24f1deee641c093d0ae31ea63f5c45ac76ecd90ea715e9c75b7e27ff91 - languageName: node - linkType: hard - "word-wrap@npm:^1.2.5": version: 1.2.5 resolution: "word-wrap@npm:1.2.5" From b2675924b31c385be1b2b59fc5904335267d51f1 Mon Sep 17 00:00:00 2001 From: chmjkb Date: Tue, 2 Jun 2026 14:12:06 +0200 Subject: [PATCH 02/15] deps: bump example apps to expo 56 --- apps/computer-vision/package.json | 27 +- apps/llm/package.json | 32 +- apps/speech/package.json | 17 +- apps/text-embeddings/package.json | 24 +- yarn.lock | 1826 +++++------------------------ 5 files changed, 345 insertions(+), 1581 deletions(-) diff --git a/apps/computer-vision/package.json b/apps/computer-vision/package.json index 794bb1effd..b6350369d1 100644 --- a/apps/computer-vision/package.json +++ b/apps/computer-vision/package.json @@ -11,21 +11,22 @@ "lint": "eslint . --ext .ts,.tsx --fix" }, "dependencies": { - "@expo/log-box": "~55.0.10", - "@react-native/metro-config": "^0.83.0", + "@expo/log-box": "~56.0.12", + "@expo/vector-icons": "^15.0.2", + "@react-native/metro-config": "^0.85.3", "@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.16", - "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", + "expo": "^56.0.8", + "expo-build-properties": "~56.0.16", + "expo-constants": "~56.0.16", + "expo-font": "~56.0.5", + "expo-linking": "~56.0.13", + "expo-router": "~56.2.8", + "expo-status-bar": "~56.0.4", + "metro-config": "^0.84.0", "react": "19.2.5", - "react-native": "0.83.4", + "react-native": "0.85.3", "react-native-device-info": "^15.0.2", "react-native-executorch": "workspace:*", "react-native-executorch-expo-resource-fetcher": "workspace:*", @@ -36,7 +37,7 @@ "react-native-nitro-modules": "0.35.4", "react-native-reanimated": "~4.3.0", "react-native-safe-area-context": "~5.7.0", - "react-native-screens": "~4.24.0", + "react-native-screens": "~4.25.2", "react-native-svg": "15.15.4", "react-native-svg-transformer": "^1.5.3", "react-native-vision-camera": "^5.0.6", @@ -47,7 +48,7 @@ "@babel/core": "^7.29.0", "@types/react": "~19.2.0", "@types/react-refresh": "^0", - "babel-preset-expo": "~55.0.16", + "babel-preset-expo": "~56.0.14", "react-refresh": "^0.18.0" }, "private": true diff --git a/apps/llm/package.json b/apps/llm/package.json index acdc2379e7..b61c3daa75 100644 --- a/apps/llm/package.json +++ b/apps/llm/package.json @@ -11,23 +11,23 @@ "lint": "eslint . --ext .ts,.tsx --fix" }, "dependencies": { - "@expo/log-box": "~55.0.10", - "@react-native/metro-config": "^0.83.0", + "@expo/log-box": "~56.0.12", + "@react-native/metro-config": "^0.85.3", "@react-navigation/drawer": "^7.9.4", "@react-navigation/native": "^7.2.2", - "expo": "^55.0.13", - "expo-brightness": "~55.0.13", - "expo-build-properties": "~55.0.13", - "expo-calendar": "~55.0.14", - "expo-constants": "^55.0.16", - "expo-document-picker": "~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", + "expo": "^56.0.8", + "expo-brightness": "~56.0.5", + "expo-build-properties": "~56.0.16", + "expo-calendar": "~56.0.8", + "expo-constants": "~56.0.16", + "expo-document-picker": "~56.0.4", + "expo-font": "~56.0.5", + "expo-linking": "~56.0.13", + "expo-router": "~56.2.8", + "expo-status-bar": "~56.0.4", + "metro-config": "^0.84.0", "react": "19.2.5", - "react-native": "0.83.4", + "react-native": "0.85.3", "react-native-audio-api": "0.12.2", "react-native-device-info": "^15.0.2", "react-native-executorch": "workspace:*", @@ -38,7 +38,7 @@ "react-native-markdown-display": "^7.0.2", "react-native-reanimated": "~4.3.0", "react-native-safe-area-context": "~5.7.0", - "react-native-screens": "~4.24.0", + "react-native-screens": "~4.25.2", "react-native-svg": "15.15.4", "react-native-svg-transformer": "^1.5.3", "react-native-worklets": "0.8.1" @@ -47,7 +47,7 @@ "@babel/core": "^7.29.0", "@types/react": "~19.2.14", "@types/react-refresh": "^0", - "babel-preset-expo": "~55.0.16", + "babel-preset-expo": "~56.0.14", "react-refresh": "^0.18.0" }, "private": true diff --git a/apps/speech/package.json b/apps/speech/package.json index f941a7cfed..fe0a93bb58 100644 --- a/apps/speech/package.json +++ b/apps/speech/package.json @@ -11,15 +11,16 @@ "lint": "eslint . --ext .ts,.tsx --fix" }, "dependencies": { - "@react-native/metro-config": "^0.83.0", + "@expo/vector-icons": "^15.0.2", + "@react-native/metro-config": "^0.85.3", "buffer": "^6.0.3", - "expo": "^55.0.13", - "expo-build-properties": "~55.0.13", - "expo-font": "~55.0.6", - "expo-status-bar": "~55.0.5", - "metro-config": "^0.83.0", + "expo": "^56.0.8", + "expo-build-properties": "~56.0.16", + "expo-font": "~56.0.5", + "expo-status-bar": "~56.0.4", + "metro-config": "^0.84.0", "react": "19.2.5", - "react-native": "0.83.4", + "react-native": "0.85.3", "react-native-audio-api": "0.12.2", "react-native-device-info": "^15.0.2", "react-native-executorch": "workspace:*", @@ -34,7 +35,7 @@ "@babel/core": "^7.29.0", "@types/react": "~19.2.14", "@types/react-refresh": "^0", - "babel-preset-expo": "~55.0.16", + "babel-preset-expo": "~56.0.14", "react-refresh": "^0.18.0" }, "private": true diff --git a/apps/text-embeddings/package.json b/apps/text-embeddings/package.json index 41590d1e68..b08236713a 100644 --- a/apps/text-embeddings/package.json +++ b/apps/text-embeddings/package.json @@ -11,25 +11,27 @@ "lint": "eslint . --ext .ts,.tsx --fix" }, "dependencies": { - "@expo/log-box": "~55.0.10", - "@react-native/metro-config": "^0.83.0", + "@expo/log-box": "~56.0.12", + "@expo/vector-icons": "^15.0.2", + "@react-native/metro-config": "^0.85.3", "@react-navigation/drawer": "^7.9.4", "@react-navigation/native": "^7.2.2", - "expo": "^55.0.13", - "expo-build-properties": "~55.0.13", - "expo-constants": "^55.0.16", - "expo-linking": "~55.0.12", - "expo-router": "~55.0.11", - "expo-status-bar": "~55.0.5", + "expo": "^56.0.8", + "expo-build-properties": "~56.0.16", + "expo-constants": "~56.0.16", + "expo-font": "~56.0.5", + "expo-linking": "~56.0.13", + "expo-router": "~56.2.8", + "expo-status-bar": "~56.0.4", "react": "19.2.5", - "react-native": "0.83.4", + "react-native": "0.85.3", "react-native-executorch": "workspace:*", "react-native-executorch-expo-resource-fetcher": "workspace:*", "react-native-gesture-handler": "~2.31.1", "react-native-image-picker": "^8.2.1", "react-native-reanimated": "~4.3.0", "react-native-safe-area-context": "~5.7.0", - "react-native-screens": "~4.24.0", + "react-native-screens": "~4.25.2", "react-native-svg": "15.15.4", "react-native-worklets": "0.8.1" }, @@ -37,7 +39,7 @@ "@babel/core": "^7.29.0", "@types/react": "~19.2.14", "@types/react-refresh": "^0", - "babel-preset-expo": "~55.0.16", + "babel-preset-expo": "~56.0.14", "react-refresh": "^0.18.0" }, "private": true diff --git a/yarn.lock b/yarn.lock index 2fd51f8fb6..24d44f9d96 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,6 +5,13 @@ __metadata: version: 8 cacheKey: 10 +"@adobe/css-tools@npm:^4.4.0": + version: 4.5.0 + resolution: "@adobe/css-tools@npm:4.5.0" + checksum: 10/a332050614f7e08928aba518ac65534621672590bdfc2079886e9ead90da78c7fe2498152c5083318e93ee909260ec13854c21ac77c24053f7d30c5d2d2adcc1 + languageName: node + linkType: hard + "@ark/schema@npm:0.56.0": version: 0.56.0 resolution: "@ark/schema@npm:0.56.0" @@ -1673,7 +1680,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-react@npm:^7.22.15, @babel/preset-react@npm:^7.24.7": +"@babel/preset-react@npm:^7.24.7": version: 7.28.5 resolution: "@babel/preset-react@npm:7.28.5" dependencies: @@ -2484,82 +2491,6 @@ __metadata: languageName: node linkType: hard -"@expo/cli@npm:55.0.26": - version: 55.0.26 - resolution: "@expo/cli@npm:55.0.26" - dependencies: - "@expo/code-signing-certificates": "npm:^0.0.6" - "@expo/config": "npm:~55.0.15" - "@expo/config-plugins": "npm:~55.0.8" - "@expo/devcert": "npm:^1.2.1" - "@expo/env": "npm:~2.1.1" - "@expo/image-utils": "npm:^0.8.13" - "@expo/json-file": "npm:^10.0.13" - "@expo/log-box": "npm:55.0.11" - "@expo/metro": "npm:~55.1.0" - "@expo/metro-config": "npm:~55.0.17" - "@expo/osascript": "npm:^2.4.2" - "@expo/package-manager": "npm:^1.10.4" - "@expo/plist": "npm:^0.5.2" - "@expo/prebuild-config": "npm:^55.0.16" - "@expo/require-utils": "npm:^55.0.4" - "@expo/router-server": "npm:^55.0.15" - "@expo/schema-utils": "npm:^55.0.3" - "@expo/spawn-async": "npm:^1.7.2" - "@expo/ws-tunnel": "npm:^1.0.1" - "@expo/xcpretty": "npm:^4.4.0" - "@react-native/dev-middleware": "npm:0.83.6" - accepts: "npm:^1.3.8" - arg: "npm:^5.0.2" - better-opn: "npm:~3.0.2" - bplist-creator: "npm:0.1.0" - bplist-parser: "npm:^0.3.1" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.3.0" - compression: "npm:^1.7.4" - connect: "npm:^3.7.0" - debug: "npm:^4.3.4" - dnssd-advertise: "npm:^1.1.4" - expo-server: "npm:^55.0.8" - fetch-nodeshim: "npm:^0.4.10" - getenv: "npm:^2.0.0" - glob: "npm:^13.0.0" - lan-network: "npm:^0.2.1" - multitars: "npm:^1.0.0" - node-forge: "npm:^1.3.3" - npm-package-arg: "npm:^11.0.0" - ora: "npm:^3.4.0" - picomatch: "npm:^4.0.3" - pretty-format: "npm:^29.7.0" - progress: "npm:^2.0.3" - prompts: "npm:^2.3.2" - resolve-from: "npm:^5.0.0" - 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" - terminal-link: "npm:^2.1.1" - 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: 10/7038f77ae092ec0514e0c5f8a32917a1cf0a6e6088e6f4c26dbef56996a765bbc7b7688258a55b100942eb511fad0c05695342605857bd8ce4d3809a55d62197 - languageName: node - linkType: hard - "@expo/cli@npm:^56.1.13": version: 56.1.13 resolution: "@expo/cli@npm:56.1.13" @@ -2645,27 +2576,6 @@ __metadata: languageName: node linkType: hard -"@expo/config-plugins@npm:~55.0.8": - version: 55.0.8 - resolution: "@expo/config-plugins@npm:55.0.8" - dependencies: - "@expo/config-types": "npm:^55.0.5" - "@expo/json-file": "npm:~10.0.13" - "@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:^13.0.0" - resolve-from: "npm:^5.0.0" - semver: "npm:^7.5.4" - slugify: "npm:^1.6.6" - xcode: "npm:^3.0.1" - xml2js: "npm:0.6.0" - checksum: 10/41ad533f83a01ffec8ca580fcf282a5aa61cd0494a8e29ce68ba11d929091c96dfeac49521e03144e2eb8551525096065e8c2e36bebd2bb2d1fddf89380312c4 - languageName: node - linkType: hard - "@expo/config-plugins@npm:~56.0.8": version: 56.0.8 resolution: "@expo/config-plugins@npm:56.0.8" @@ -2687,13 +2597,6 @@ __metadata: languageName: node linkType: hard -"@expo/config-types@npm:^55.0.5": - version: 55.0.5 - resolution: "@expo/config-types@npm:55.0.5" - checksum: 10/9a7b5a025218618b6810d720663ef973b5497baedb194ed29ed60f4aa3d4b012676e57c71807a96aa78f099d562030b3246ae403776b46e0db56db68c6f3ac82 - languageName: node - linkType: hard - "@expo/config-types@npm:^56.0.5": version: 56.0.5 resolution: "@expo/config-types@npm:56.0.5" @@ -2701,24 +2604,6 @@ __metadata: languageName: node linkType: hard -"@expo/config@npm:~55.0.15": - version: 55.0.15 - resolution: "@expo/config@npm:55.0.15" - dependencies: - "@expo/config-plugins": "npm:~55.0.8" - "@expo/config-types": "npm:^55.0.5" - "@expo/json-file": "npm:^10.0.13" - "@expo/require-utils": "npm:^55.0.4" - deepmerge: "npm:^4.3.1" - getenv: "npm:^2.0.0" - glob: "npm:^13.0.0" - resolve-workspace-root: "npm:^2.0.0" - semver: "npm:^7.6.0" - slugify: "npm:^1.3.4" - checksum: 10/34958a61e25746fc8baf242e682dc6c12148f624469256852dbaaf72c0a27262e2a2d9f383db5b76eb0a1cf47ecf30328df8eca9b707470753526af89a56af1b - languageName: node - linkType: hard - "@expo/config@npm:~56.0.9": version: 56.0.9 resolution: "@expo/config@npm:56.0.9" @@ -2747,23 +2632,6 @@ __metadata: languageName: node linkType: hard -"@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: 10/0a43121fb5a7993dfe0c112e287e292358c099c4f02dbd1f80e67fe8bb7cff21be77cf389fefcc84f86e2955066e4b0e70e447cf48ca8772de47c6eef114ecdd - languageName: node - linkType: hard - "@expo/devtools@npm:~56.0.2": version: 56.0.2 resolution: "@expo/devtools@npm:56.0.2" @@ -2781,17 +2649,6 @@ __metadata: languageName: node linkType: hard -"@expo/dom-webview@npm:^55.0.5": - version: 55.0.5 - resolution: "@expo/dom-webview@npm:55.0.5" - peerDependencies: - expo: "*" - react: "*" - react-native: "*" - checksum: 10/ccce1491f2ade58bcaf79158a99a978748f9666d5cb2af946fd33a686e005fc250ee27456f4d7ec63098049d034eb15a538172eb53ec3dfc07673555b77a8517 - languageName: node - linkType: hard - "@expo/dom-webview@npm:^56.0.5, @expo/dom-webview@npm:~56.0.5": version: 56.0.5 resolution: "@expo/dom-webview@npm:56.0.5" @@ -2803,17 +2660,6 @@ __metadata: 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" - getenv: "npm:^2.0.0" - checksum: 10/19be4c7131b1d718a456018dfe3133b6c021b71b8689b11b208d03aae947c0f0848ce21996adf9010c1b87d765b46b14484f1d1f30f73db466b9500024bfac53 - languageName: node - linkType: hard - "@expo/env@npm:^2.3.0, @expo/env@npm:~2.3.0": version: 2.3.0 resolution: "@expo/env@npm:2.3.0" @@ -2825,17 +2671,6 @@ __metadata: languageName: node linkType: hard -"@expo/env@npm:~2.1.2": - version: 2.1.2 - resolution: "@expo/env@npm:2.1.2" - dependencies: - chalk: "npm:^4.0.0" - debug: "npm:^4.3.4" - getenv: "npm:^2.0.0" - checksum: 10/e127ae2449de94afc52e41c8a4254b21eb6df047ba24da8b0a3baa245840338dc1eb00c8447fed6059ead13dae8dddef4ce8ce44c44f4154a886007967f473af - languageName: node - linkType: hard - "@expo/expo-modules-macros-plugin@npm:~0.0.9": version: 0.0.9 resolution: "@expo/expo-modules-macros-plugin@npm:0.0.9" @@ -2843,27 +2678,6 @@ __metadata: languageName: node linkType: hard -"@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" - getenv: "npm:^2.0.0" - glob: "npm:^13.0.0" - ignore: "npm:^5.3.1" - minimatch: "npm:^10.2.2" - resolve-from: "npm:^5.0.0" - semver: "npm:^7.6.0" - bin: - fingerprint: bin/cli.js - checksum: 10/2bf59bd6964c17c7bbcf66f963684909345f7b0b5da459be5cc34f27eae4860cd18e8644db30a2cec1553f67b81dce26983d00e34dbafa59f2e0bfa5783fc787 - languageName: node - linkType: hard - "@expo/fingerprint@npm:^0.19.3": version: 0.19.3 resolution: "@expo/fingerprint@npm:0.19.3" @@ -2900,21 +2714,6 @@ __metadata: languageName: node linkType: hard -"@expo/image-utils@npm:^0.8.13": - version: 0.8.13 - resolution: "@expo/image-utils@npm:0.8.13" - dependencies: - "@expo/require-utils": "npm:^55.0.4" - "@expo/spawn-async": "npm:^1.7.2" - chalk: "npm:^4.0.0" - getenv: "npm:^2.0.0" - jimp-compact: "npm:0.16.1" - parse-png: "npm:^2.1.0" - semver: "npm:^7.6.0" - checksum: 10/4204905938152de0a35fe6796e967b577e7a62785cd3df5c6710ad7669bc95a1314b96276c4da880230a4a182b35c88dea946b4a9edcb31f12ddc26bfbc965e7 - languageName: node - linkType: hard - "@expo/inline-modules@npm:^0.0.10": version: 0.0.10 resolution: "@expo/inline-modules@npm:0.0.10" @@ -2924,16 +2723,6 @@ __metadata: languageName: node linkType: hard -"@expo/json-file@npm:^10.0.13, @expo/json-file@npm:~10.0.13": - version: 10.0.13 - resolution: "@expo/json-file@npm:10.0.13" - dependencies: - "@babel/code-frame": "npm:^7.20.0" - json5: "npm:^2.2.3" - checksum: 10/9df812a1fb2e095f53a3ca83c8fcc800245918e195e3d879efc5ff360ac32f649756dabc6b44e351a4526815b98e6c3ff82accf46afa09eab8f09e1582fb9fa0 - languageName: node - linkType: hard - "@expo/json-file@npm:^10.2.0, @expo/json-file@npm:~10.2.0": version: 10.2.0 resolution: "@expo/json-file@npm:10.2.0" @@ -2944,16 +2733,6 @@ __metadata: languageName: node linkType: hard -"@expo/local-build-cache-provider@npm:55.0.11": - version: 55.0.11 - resolution: "@expo/local-build-cache-provider@npm:55.0.11" - dependencies: - "@expo/config": "npm:~55.0.15" - chalk: "npm:^4.1.2" - checksum: 10/83ed17f776329ce6a0ac5cbec457e5bc0736793c2468054afe2420d183e10acec9e10d4915853586f6242c22d662f8bd6c73561b0a1b562014da108a4cd2ef02 - languageName: node - linkType: hard - "@expo/local-build-cache-provider@npm:^56.0.8": version: 56.0.8 resolution: "@expo/local-build-cache-provider@npm:56.0.8" @@ -2964,23 +2743,7 @@ __metadata: languageName: node linkType: hard -"@expo/log-box@npm:55.0.11, @expo/log-box@npm:~55.0.10": - version: 55.0.11 - resolution: "@expo/log-box@npm:55.0.11" - dependencies: - "@expo/dom-webview": "npm:^55.0.5" - anser: "npm:^1.4.9" - stacktrace-parser: "npm:^0.1.10" - peerDependencies: - "@expo/dom-webview": ^55.0.5 - expo: "*" - react: "*" - react-native: "*" - checksum: 10/8a14f3afe4fddbc0fe36d4682b6e8d2165304370ba3acc26be131ba1db00dedf438d13d2ce4ca9630fabf747d1d5725997012815a1548380be0e9eb3ee2cac52 - languageName: node - linkType: hard - -"@expo/log-box@npm:^56.0.12": +"@expo/log-box@npm:^56.0.12, @expo/log-box@npm:~56.0.12": version: 56.0.12 resolution: "@expo/log-box@npm:56.0.12" dependencies: @@ -2996,38 +2759,6 @@ __metadata: languageName: node linkType: hard -"@expo/metro-config@npm:55.0.17, @expo/metro-config@npm:~55.0.17": - version: 55.0.17 - resolution: "@expo/metro-config@npm:55.0.17" - dependencies: - "@babel/code-frame": "npm:^7.20.0" - "@babel/core": "npm:^7.20.0" - "@babel/generator": "npm:^7.20.5" - "@expo/config": "npm:~55.0.15" - "@expo/env": "npm:~2.1.1" - "@expo/json-file": "npm:~10.0.13" - "@expo/metro": "npm:~55.1.0" - "@expo/spawn-async": "npm:^1.7.2" - browserslist: "npm:^4.25.0" - chalk: "npm:^4.1.0" - debug: "npm:^4.3.2" - getenv: "npm:^2.0.0" - glob: "npm:^13.0.0" - hermes-parser: "npm:^0.32.0" - jsc-safe-url: "npm:^0.2.4" - lightningcss: "npm:^1.30.1" - picomatch: "npm:^4.0.3" - postcss: "npm:~8.4.32" - resolve-from: "npm:^5.0.0" - peerDependencies: - expo: "*" - peerDependenciesMeta: - expo: - optional: true - checksum: 10/8df08e2d5fef6d3355952b2a9427bb0db000c9df8260663f3774f0dc6b21947e44cf350005312f83e1a624dec40fab7e4a8423ebcfda899c13ac832a9e66e1a8 - languageName: node - linkType: hard - "@expo/metro-config@npm:~56.0.13": version: 56.0.13 resolution: "@expo/metro-config@npm:56.0.13" @@ -3079,16 +2810,17 @@ __metadata: languageName: node linkType: hard -"@expo/metro-runtime@npm:^55.0.10": - version: 55.0.10 - resolution: "@expo/metro-runtime@npm:55.0.10" +"@expo/metro-runtime@npm:^56.0.13": + version: 56.0.13 + resolution: "@expo/metro-runtime@npm:56.0.13" dependencies: - "@expo/log-box": "npm:55.0.11" + "@expo/log-box": "npm:^56.0.12" 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/log-box": ^56.0.12 expo: "*" react: "*" react-dom: "*" @@ -3096,7 +2828,7 @@ __metadata: peerDependenciesMeta: react-dom: optional: true - checksum: 10/910e05df896c5a7cefe52fba55bb12e956cdcb473c32620b22262c7e5f86f78399a92ad2da8910b0315b47b72ded5788dcf2eac758e8cd1f005dfc62e4e5e257 + checksum: 10/a0b02c7a523a886e7b4e0b3d0034cd02383440e7f1f7c6d5d4f89d863f188259662feee27f54a128144bbf32fbacb6c1d7655abe18b4d8b6a7e9133abedf5474 languageName: node linkType: hard @@ -3120,28 +2852,6 @@ __metadata: languageName: node linkType: hard -"@expo/metro@npm:~55.1.0": - version: 55.1.0 - resolution: "@expo/metro@npm:55.1.0" - dependencies: - 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-config: "npm:0.83.6" - metro-core: "npm:0.83.6" - metro-file-map: "npm:0.83.6" - metro-minify-terser: "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" - checksum: 10/90ad336876b29ca9e249f606f0e358f962ef5da66d7093210cb655466812a0041622e64394a5ac50e02163758bd6e3b265a1eb5a143eb0272c18c18e4d6a3515 - languageName: node - linkType: hard - "@expo/metro@npm:~56.0.0": version: 56.0.0 resolution: "@expo/metro@npm:56.0.0" @@ -3164,15 +2874,6 @@ __metadata: languageName: node linkType: hard -"@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" - checksum: 10/5609b926bd68120b6a01edea0c7b14d4fa9fcd454bbcb49b89988f7acdb540f3b9c1c133acbbd3f9cd6a6937ce2a950c9cdde2a98ec8769d8a8b1481666a67d9 - languageName: node - linkType: hard - "@expo/osascript@npm:^2.6.0": version: 2.6.0 resolution: "@expo/osascript@npm:2.6.0" @@ -3182,20 +2883,6 @@ __metadata: languageName: node linkType: hard -"@expo/package-manager@npm:^1.10.4": - version: 1.10.4 - resolution: "@expo/package-manager@npm:1.10.4" - dependencies: - "@expo/json-file": "npm:^10.0.13" - "@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: 10/936c24a20586fee647326bce96367bf1ca6a2e37395bf210ca0538f83c6899ea949bb3db8fb06eb2acfabc9b5da7dda56f131a025c4d6c5ba036e3910bbb5a61 - languageName: node - linkType: hard - "@expo/package-manager@npm:^1.12.1": version: 1.12.1 resolution: "@expo/package-manager@npm:1.12.1" @@ -3210,17 +2897,6 @@ __metadata: languageName: node linkType: hard -"@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.5.1" - xmlbuilder: "npm:^15.1.1" - checksum: 10/ab9350226a2f651c030f9704a0c66474b616b9772e7c6209d2d8271a6e5cc5d713b3b755c2c790a3b96d6f29af35b5ef18353611dc9e6f58d1827b207036ec81 - languageName: node - linkType: hard - "@expo/plist@npm:^0.7.0": version: 0.7.0 resolution: "@expo/plist@npm:0.7.0" @@ -3232,26 +2908,6 @@ __metadata: languageName: node linkType: hard -"@expo/prebuild-config@npm:^55.0.16": - version: 55.0.16 - resolution: "@expo/prebuild-config@npm:55.0.16" - dependencies: - "@expo/config": "npm:~55.0.15" - "@expo/config-plugins": "npm:~55.0.8" - "@expo/config-types": "npm:^55.0.5" - "@expo/image-utils": "npm:^0.8.13" - "@expo/json-file": "npm:^10.0.13" - "@react-native/normalize-colors": "npm:0.83.6" - debug: "npm:^4.3.1" - resolve-from: "npm:^5.0.0" - semver: "npm:^7.6.0" - xml2js: "npm:0.6.0" - peerDependencies: - expo: "*" - checksum: 10/9d437f9f6fe8cf3a1408e250ae69c3e0f87d745f01a895a1b07affd264819e01ee1a5c934f02dcfca386d68e0d71b85a78a4f0c242030f9edfdbac0bd8941363 - languageName: node - linkType: hard - "@expo/prebuild-config@npm:^56.0.14": version: 56.0.14 resolution: "@expo/prebuild-config@npm:56.0.14" @@ -3270,22 +2926,6 @@ __metadata: languageName: node linkType: hard -"@expo/require-utils@npm:^55.0.4": - version: 55.0.4 - resolution: "@expo/require-utils@npm:55.0.4" - 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: 10/37afedd82c09775590e9974e9813526f521845a04808fa0e439f0377fc00fab134e9a3a088fcf0567b5cb7c6467be67d705995952e736bfc9a2da0fcba451220 - languageName: node - linkType: hard - "@expo/require-utils@npm:^56.1.3": version: 56.1.3 resolution: "@expo/require-utils@npm:56.1.3" @@ -3302,34 +2942,6 @@ __metadata: languageName: node linkType: hard -"@expo/router-server@npm:^55.0.15": - version: 55.0.15 - resolution: "@expo/router-server@npm:55.0.15" - dependencies: - debug: "npm:^4.3.4" - peerDependencies: - "@expo/metro-runtime": ^55.0.10 - expo: "*" - expo-constants: ^55.0.15 - expo-font: ^55.0.6 - expo-router: "*" - expo-server: ^55.0.8 - 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: 10/ecb299d9c0b02bc5976728fc075af9d56cf94a4fac227fc909388f97a9b397fc58b13310ab07a0e385cb6cf966c5344fbfafacc00fb3313c270cafdb8b14077d - languageName: node - linkType: hard - "@expo/router-server@npm:^56.0.12": version: 56.0.12 resolution: "@expo/router-server@npm:56.0.12" @@ -3365,13 +2977,6 @@ __metadata: languageName: node linkType: hard -"@expo/schema-utils@npm:^55.0.3": - version: 55.0.3 - resolution: "@expo/schema-utils@npm:55.0.3" - checksum: 10/dfbed418a68ff59b725b5bdaddccdc2e71b83ccc7f982db5a6de3020a7ce7179103db669195f2a4165e8de1da0415d4012c7a444ff576c9c8ed8f6b81dff772b - languageName: node - linkType: hard - "@expo/schema-utils@npm:^56.0.0": version: 56.0.1 resolution: "@expo/schema-utils@npm:56.0.1" @@ -3386,15 +2991,6 @@ __metadata: languageName: node linkType: hard -"@expo/spawn-async@npm:^1.7.2": - version: 1.7.2 - resolution: "@expo/spawn-async@npm:1.7.2" - dependencies: - cross-spawn: "npm:^7.0.3" - checksum: 10/009816d1722fc02603cfb4c348a609a80f41fba726d0d20208cd0d2d8a532f511a924a6681501251c851453499c4c13380a93209027a00bacc1b5282a4324cf8 - languageName: node - linkType: hard - "@expo/spawn-async@npm:^1.8.0": version: 1.8.0 resolution: "@expo/spawn-async@npm:1.8.0" @@ -3411,6 +3007,33 @@ __metadata: languageName: node linkType: hard +"@expo/ui@npm:^56.0.15": + version: 56.0.15 + resolution: "@expo/ui@npm:56.0.15" + dependencies: + sf-symbols-typescript: "npm:^2.1.0" + vaul: "npm:^1.1.2" + peerDependencies: + "@babel/core": "*" + expo: "*" + react: "*" + react-dom: "*" + react-native: "*" + react-native-reanimated: "*" + react-native-worklets: "*" + peerDependenciesMeta: + "@babel/core": + optional: true + react-dom: + optional: true + react-native-reanimated: + optional: true + react-native-worklets: + optional: true + checksum: 10/f19ba4ed5c76273d9abb4b8291fe4adba41da9423f80deb5e747554019dcf98e303f41bb598cba8d3ee6d3f4db617ced36dab85c8b931c3b190eaa917f0bc023 + languageName: node + linkType: hard + "@expo/vector-icons@npm:^15.0.2": version: 15.1.1 resolution: "@expo/vector-icons@npm:15.1.1" @@ -3429,19 +3052,6 @@ __metadata: languageName: node linkType: hard -"@expo/xcpretty@npm:^4.4.0": - version: 4.4.3 - resolution: "@expo/xcpretty@npm:4.4.3" - dependencies: - "@babel/code-frame": "npm:^7.20.0" - chalk: "npm:^4.1.0" - js-yaml: "npm:^4.1.0" - bin: - excpretty: build/cli.js - checksum: 10/2cde7f76b5ddb690260491412da8deea4b6c36ab0fb14e2739477a1ccd8cdc0c437f78fbae2ed1d5bffe2c00969a25eb49d69c0e44448fe0cc7f3c0c4bb56701 - languageName: node - linkType: hard - "@expo/xcpretty@npm:^4.4.4": version: 4.4.4 resolution: "@expo/xcpretty@npm:4.4.4" @@ -5020,6 +4630,16 @@ __metadata: languageName: node linkType: hard +"@react-native-masked-view/masked-view@npm:^0.3.2": + version: 0.3.2 + resolution: "@react-native-masked-view/masked-view@npm:0.3.2" + peerDependencies: + react: ">=16" + react-native: ">=0.57" + checksum: 10/04ffbc01083aa563ca1e2d7ef6759e7b326b8129f5bb1aa5f3142348adab06d5e321a400cf70a5434324dfa906add383f8214640697c48c9e5311b30bfea03d9 + languageName: node + linkType: hard + "@react-native/assets-registry@npm:0.81.5": version: 0.81.5 resolution: "@react-native/assets-registry@npm:0.81.5" @@ -5027,13 +4647,6 @@ __metadata: languageName: node linkType: hard -"@react-native/assets-registry@npm:0.83.4": - version: 0.83.4 - resolution: "@react-native/assets-registry@npm:0.83.4" - checksum: 10/4c6c04a089ce8d232a8eea473051bd01a2a2a6c67e077f0a155fbc59196a32bc317e97130b80e3d06472e4aff3ee3592f775a6df0db1fd2ee86f9f60b4942d68 - languageName: node - linkType: hard - "@react-native/assets-registry@npm:0.85.3": version: 0.85.3 resolution: "@react-native/assets-registry@npm:0.85.3" @@ -5051,26 +4664,6 @@ __metadata: languageName: node linkType: hard -"@react-native/babel-plugin-codegen@npm:0.83.6": - version: 0.83.6 - resolution: "@react-native/babel-plugin-codegen@npm:0.83.6" - dependencies: - "@babel/traverse": "npm:^7.25.3" - "@react-native/codegen": "npm:0.83.6" - checksum: 10/eef3f3fec061c51a7dc042da93fc6e1d9712256ea8d76fb1f1b9ad3813a3a4a3385d33f184cedf2a0adc76112024922510787067678ee52828c053ea8947a08a - languageName: node - linkType: hard - -"@react-native/babel-plugin-codegen@npm:0.83.9": - version: 0.83.9 - resolution: "@react-native/babel-plugin-codegen@npm:0.83.9" - dependencies: - "@babel/traverse": "npm:^7.25.3" - "@react-native/codegen": "npm:0.83.9" - checksum: 10/3db966fa67ea6fbbee982f23a8d47f885a3495fc8c3c09047a1a84660c226feb632034232cae887a58fd4917737c1f06f4c6c357321a649c596bbcf94f23cea5 - languageName: node - linkType: hard - "@react-native/babel-plugin-codegen@npm:0.85.3": version: 0.85.3 resolution: "@react-native/babel-plugin-codegen@npm:0.85.3" @@ -5136,64 +4729,9 @@ __metadata: languageName: node linkType: hard -"@react-native/babel-preset@npm:0.83.6": - version: 0.83.6 - resolution: "@react-native/babel-preset@npm:0.83.6" - dependencies: - "@babel/core": "npm:^7.25.2" - "@babel/plugin-proposal-export-default-from": "npm:^7.24.7" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" - "@babel/plugin-syntax-export-default-from": "npm:^7.24.7" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-transform-arrow-functions": "npm:^7.24.7" - "@babel/plugin-transform-async-generator-functions": "npm:^7.25.4" - "@babel/plugin-transform-async-to-generator": "npm:^7.24.7" - "@babel/plugin-transform-block-scoping": "npm:^7.25.0" - "@babel/plugin-transform-class-properties": "npm:^7.25.4" - "@babel/plugin-transform-classes": "npm:^7.25.4" - "@babel/plugin-transform-computed-properties": "npm:^7.24.7" - "@babel/plugin-transform-destructuring": "npm:^7.24.8" - "@babel/plugin-transform-flow-strip-types": "npm:^7.25.2" - "@babel/plugin-transform-for-of": "npm:^7.24.7" - "@babel/plugin-transform-function-name": "npm:^7.25.1" - "@babel/plugin-transform-literals": "npm:^7.25.2" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.7" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.7" - "@babel/plugin-transform-numeric-separator": "npm:^7.24.7" - "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.7" - "@babel/plugin-transform-optional-chaining": "npm:^7.24.8" - "@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-react-display-name": "npm:^7.24.7" - "@babel/plugin-transform-react-jsx": "npm:^7.25.2" - "@babel/plugin-transform-react-jsx-self": "npm:^7.24.7" - "@babel/plugin-transform-react-jsx-source": "npm:^7.24.7" - "@babel/plugin-transform-regenerator": "npm:^7.24.7" - "@babel/plugin-transform-runtime": "npm:^7.24.7" - "@babel/plugin-transform-shorthand-properties": "npm:^7.24.7" - "@babel/plugin-transform-spread": "npm:^7.24.7" - "@babel/plugin-transform-sticky-regex": "npm:^7.24.7" - "@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.83.6" - 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: 10/204cf777078649203c18b5ed5765577641312ab47dbaa4415bb3805ec928c0ef36177e3036984d4d44dc986477e3bf68a0b59642e67b2a121831acf25b286a30 - languageName: node - linkType: hard - -"@react-native/babel-preset@npm:0.83.9": - version: 0.83.9 - resolution: "@react-native/babel-preset@npm:0.83.9" +"@react-native/babel-preset@npm:0.85.3": + version: 0.85.3 + resolution: "@react-native/babel-preset@npm:0.85.3" dependencies: "@babel/core": "npm:^7.25.2" "@babel/plugin-proposal-export-default-from": "npm:^7.24.7" @@ -5201,27 +4739,19 @@ __metadata: "@babel/plugin-syntax-export-default-from": "npm:^7.24.7" "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-transform-arrow-functions": "npm:^7.24.7" "@babel/plugin-transform-async-generator-functions": "npm:^7.25.4" "@babel/plugin-transform-async-to-generator": "npm:^7.24.7" "@babel/plugin-transform-block-scoping": "npm:^7.25.0" "@babel/plugin-transform-class-properties": "npm:^7.25.4" "@babel/plugin-transform-classes": "npm:^7.25.4" - "@babel/plugin-transform-computed-properties": "npm:^7.24.7" "@babel/plugin-transform-destructuring": "npm:^7.24.8" "@babel/plugin-transform-flow-strip-types": "npm:^7.25.2" "@babel/plugin-transform-for-of": "npm:^7.24.7" - "@babel/plugin-transform-function-name": "npm:^7.25.1" - "@babel/plugin-transform-literals": "npm:^7.25.2" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.7" "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.7" "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.7" - "@babel/plugin-transform-numeric-separator": "npm:^7.24.7" - "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7" "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.7" "@babel/plugin-transform-optional-chaining": "npm:^7.24.8" - "@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-react-display-name": "npm:^7.24.7" @@ -5230,19 +4760,15 @@ __metadata: "@babel/plugin-transform-react-jsx-source": "npm:^7.24.7" "@babel/plugin-transform-regenerator": "npm:^7.24.7" "@babel/plugin-transform-runtime": "npm:^7.24.7" - "@babel/plugin-transform-shorthand-properties": "npm:^7.24.7" - "@babel/plugin-transform-spread": "npm:^7.24.7" - "@babel/plugin-transform-sticky-regex": "npm:^7.24.7" "@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.83.9" - babel-plugin-syntax-hermes-parser: "npm:0.32.0" + "@react-native/babel-plugin-codegen": "npm:0.85.3" + babel-plugin-syntax-hermes-parser: "npm:0.33.3" babel-plugin-transform-flow-enums: "npm:^0.0.2" react-refresh: "npm:^0.14.0" peerDependencies: "@babel/core": "*" - checksum: 10/89f3163fcdcdac09d2c57236c6e615ae6db2cbdb0789d90f7390116f0b54cbee6151788de72b9f9b84b10885c2f3f18e9d9983f7687451c9534d48b20bfb2196 + checksum: 10/0750392facf3e1e1439accb030d04a9dc3e0242a25b5a3938f31f2a4db1cfbc7e527c11e2673c21d52d993c54e6438044db623dabf1d0a40ded065b748677220 languageName: node linkType: hard @@ -5263,57 +4789,6 @@ __metadata: languageName: node linkType: hard -"@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.32.0" - invariant: "npm:^2.2.4" - nullthrows: "npm:^1.1.1" - yargs: "npm:^17.6.2" - peerDependencies: - "@babel/core": "*" - checksum: 10/04cb29351cab076377e034f036a43be0a491c1fc2f39ff5637ce778483f59232d1efc179ab940e60d9e30c788717b7fd2616c4c22ae4743a86d1585fbf8b6005 - languageName: node - linkType: hard - -"@react-native/codegen@npm:0.83.6": - version: 0.83.6 - resolution: "@react-native/codegen@npm:0.83.6" - dependencies: - "@babel/core": "npm:^7.25.2" - "@babel/parser": "npm:^7.25.3" - glob: "npm:^7.1.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: 10/5f819725e455953b387ae098ab05da0950f790ab5337f1131c779895f0de576c4b491f1017b7ce10c3530e55566859d398386e0e65baaa19089c5c5edb430e37 - languageName: node - linkType: hard - -"@react-native/codegen@npm:0.83.9": - version: 0.83.9 - resolution: "@react-native/codegen@npm:0.83.9" - dependencies: - "@babel/core": "npm:^7.25.2" - "@babel/parser": "npm:^7.25.3" - glob: "npm:^7.1.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: 10/cd704d84bd90491b5bec632554dacde46e4a5712d7e4da0df6f9bcf4d780aa3002b4e68df65de32330aa47a953bead462546b7132aabed2c5fc727efd20fed5b - languageName: node - linkType: hard - "@react-native/codegen@npm:0.85.3": version: 0.85.3 resolution: "@react-native/codegen@npm:0.85.3" @@ -5354,29 +4829,6 @@ __metadata: languageName: node linkType: hard -"@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.83.4" - debug: "npm:^4.4.0" - invariant: "npm:^2.2.4" - 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 - "@react-native/metro-config": - optional: true - checksum: 10/91bec32c6bafd75753401f02188e10875ed364a4a51411634ea2d84d1e9ae5597c5a46d5c2065a5a0fb033a40c6812268aa42f25b554d8efb772358b3490c25b - languageName: node - linkType: hard - "@react-native/community-cli-plugin@npm:0.85.3": version: 0.85.3 resolution: "@react-native/community-cli-plugin@npm:0.85.3" @@ -5407,20 +4859,6 @@ __metadata: languageName: node linkType: hard -"@react-native/debugger-frontend@npm:0.83.4": - version: 0.83.4 - resolution: "@react-native/debugger-frontend@npm:0.83.4" - checksum: 10/c664a7686d7d7da26c2622861f2e4ba948f71099fc7c52034cb9a8862760b9b05704a13c5f6235665d5397ce191df84a287634351c398239038b4f133ad5eb45 - languageName: node - linkType: hard - -"@react-native/debugger-frontend@npm:0.83.6": - version: 0.83.6 - resolution: "@react-native/debugger-frontend@npm:0.83.6" - checksum: 10/d9f40d58e88f80fefca26cccd7e44637fe61a7f8bd68727b1b3a6f8070ef030c54f805fdc34dd67e6e214a1def8c835bed7e7b2d2e1b0d19c342fb733e0f9460 - languageName: node - linkType: hard - "@react-native/debugger-frontend@npm:0.85.3": version: 0.85.3 resolution: "@react-native/debugger-frontend@npm:0.85.3" @@ -5428,26 +4866,6 @@ __metadata: languageName: node linkType: hard -"@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: 10/b47d13946cc9effc094962ab4fbfb2f024ebe51f8cd530ede338475f2cc1030448dd3134a73ea96410cede9512540922b56dab0a49fc94c8dbf8854d116b9780 - languageName: node - linkType: hard - -"@react-native/debugger-shell@npm:0.83.6": - version: 0.83.6 - resolution: "@react-native/debugger-shell@npm:0.83.6" - dependencies: - cross-spawn: "npm:^7.0.6" - fb-dotslash: "npm:0.5.8" - checksum: 10/d4f2c3096b7a976f1881db60a6a8e66d7951662f311cb4b9cc368bc753cb3e15c29cfdb1d6bf0f975a102eba78c94994d62dea5fdb37ef1d04f50f865af57a0a - languageName: node - linkType: hard - "@react-native/debugger-shell@npm:0.85.3": version: 0.85.3 resolution: "@react-native/debugger-shell@npm:0.85.3" @@ -5478,46 +4896,6 @@ __metadata: languageName: node linkType: hard -"@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.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:^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:^7.5.10" - checksum: 10/c0313ffdf9d5ea48cd31e5404574ae33195530aae0ce21e6017165325e2e4359163a5dd33807f0d0d0408b263361621f91a9254b3b12b900129ccc7bb7bdb92c - languageName: node - linkType: hard - -"@react-native/dev-middleware@npm:0.83.6": - version: 0.83.6 - resolution: "@react-native/dev-middleware@npm:0.83.6" - dependencies: - "@isaacs/ttlcache": "npm:^1.4.1" - "@react-native/debugger-frontend": "npm:0.83.6" - "@react-native/debugger-shell": "npm:0.83.6" - chrome-launcher: "npm:^0.15.2" - chromium-edge-launcher: "npm:^0.2.0" - connect: "npm:^3.6.5" - 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:^7.5.10" - checksum: 10/16b9bd3f6219ca9584408d436a6d837ee81496ee2919a39b112820a145d237e143123a2ed0b810aa3004d62fdf9aad291ece7a31f282a95098ad5a0a76df4af2 - languageName: node - linkType: hard - "@react-native/dev-middleware@npm:0.85.3": version: 0.85.3 resolution: "@react-native/dev-middleware@npm:0.85.3" @@ -5605,13 +4983,6 @@ __metadata: languageName: node linkType: hard -"@react-native/gradle-plugin@npm:0.83.4": - version: 0.83.4 - resolution: "@react-native/gradle-plugin@npm:0.83.4" - checksum: 10/df7bfa8d298a1cd3e465f724a11741c934855d3c255264464e63c3807028bceb912c1f014554b5413b7ac9230d76dfe1cfcc73901ef7f987af75d7a2b9fba963 - languageName: node - linkType: hard - "@react-native/gradle-plugin@npm:0.85.3": version: 0.85.3 resolution: "@react-native/gradle-plugin@npm:0.85.3" @@ -5626,20 +4997,6 @@ __metadata: languageName: node linkType: hard -"@react-native/js-polyfills@npm:0.83.4": - version: 0.83.4 - resolution: "@react-native/js-polyfills@npm:0.83.4" - checksum: 10/cf9a0985979cb7da7fa4be6a002d0e0ef8fc10efcc6c9f0d98dd0683bbe253240fd642b471dc68b9c376935ca027d01649eb3b2e08b45301b9a030a49c3e7f8c - languageName: node - linkType: hard - -"@react-native/js-polyfills@npm:0.83.9": - version: 0.83.9 - resolution: "@react-native/js-polyfills@npm:0.83.9" - checksum: 10/e33f58a1a024e1203a979587e98eba7c18ec0e0b1013e8b554bd7487b7de74a5739e2bd438f3b29169fcaa43c3bc355268b2cb89ad9e8a71c2c6a890d0d7eb19 - languageName: node - linkType: hard - "@react-native/js-polyfills@npm:0.85.3": version: 0.85.3 resolution: "@react-native/js-polyfills@npm:0.85.3" @@ -5661,17 +5018,17 @@ __metadata: languageName: node linkType: hard -"@react-native/metro-babel-transformer@npm:0.83.9": - version: 0.83.9 - resolution: "@react-native/metro-babel-transformer@npm:0.83.9" +"@react-native/metro-babel-transformer@npm:0.85.3": + version: 0.85.3 + resolution: "@react-native/metro-babel-transformer@npm:0.85.3" dependencies: "@babel/core": "npm:^7.25.2" - "@react-native/babel-preset": "npm:0.83.9" - hermes-parser: "npm:0.32.0" + "@react-native/babel-preset": "npm:0.85.3" + hermes-parser: "npm:0.33.3" nullthrows: "npm:^1.1.1" peerDependencies: "@babel/core": "*" - checksum: 10/cbb4ae2691f153cf7b37bce1acf0221d208b19b47df962cef3df63e198968a0de2d392ca12545428e6b30240a26d94744eb18fb97758518a924a2cb360ea16d1 + checksum: 10/114fe0708f01903956ad8684e7bbad717a8ea46f083e09f8eb3a67fada2f09dc0b56da5f7401bd31cf0d3bb8c007f7334396d049b80d3a3895d6e32a99ac32fe languageName: node linkType: hard @@ -5687,15 +5044,15 @@ __metadata: languageName: node linkType: hard -"@react-native/metro-config@npm:^0.83.0": - version: 0.83.9 - resolution: "@react-native/metro-config@npm:0.83.9" +"@react-native/metro-config@npm:^0.85.3": + version: 0.85.3 + resolution: "@react-native/metro-config@npm:0.85.3" dependencies: - "@react-native/js-polyfills": "npm:0.83.9" - "@react-native/metro-babel-transformer": "npm:0.83.9" - metro-config: "npm:^0.83.6" - metro-runtime: "npm:^0.83.6" - checksum: 10/d77b800ab8ba29a5c8ca36a86965e692c7edce991323f8ce95a74e1b18b569a29cecca6c3cb38f876c7cf6a1b1ccb33e4a974b67b3c3ce8b8528e5d65a1c559a + "@react-native/js-polyfills": "npm:0.85.3" + "@react-native/metro-babel-transformer": "npm:0.85.3" + metro-config: "npm:^0.84.3" + metro-runtime: "npm:^0.84.3" + checksum: 10/9a0af6d190df911b5e1b5b346b82e2dffeb6a703c832391e3f7b8bd1ac13751d5a2d7a0ef852cdae8b8474fee07783f49b9daa2a9e8b55c9539bd59f4dd609fc languageName: node linkType: hard @@ -5706,20 +5063,6 @@ __metadata: languageName: node linkType: hard -"@react-native/normalize-colors@npm:0.83.4": - version: 0.83.4 - resolution: "@react-native/normalize-colors@npm:0.83.4" - checksum: 10/3283dfa32db801adf91268701f934254a50a4146ffb8ab0ef125e75564e98a8cc545981980c3afcf383bd58b07b56eba814e6630d3b03a6155482dce4f1fb9e6 - languageName: node - linkType: hard - -"@react-native/normalize-colors@npm:0.83.6": - version: 0.83.6 - resolution: "@react-native/normalize-colors@npm:0.83.6" - checksum: 10/b59b27a7889293f1dce5fcfb12151e0927099c3446f0f603e1f2d5e90cb91634cbf5d0d4dc6d67ee7ada4680f3533e96845ec64084cc97944280faf94caa209c - languageName: node - linkType: hard - "@react-native/normalize-colors@npm:0.85.3": version: 0.85.3 resolution: "@react-native/normalize-colors@npm:0.85.3" @@ -5751,54 +5094,20 @@ __metadata: languageName: node linkType: hard -"@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.2.0 - react: "*" - react-native: "*" - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10/44798853aeed19b06fd1267cd2f85dab0be07919aa8124ec106474c49aeb02849f78eb134efccd1e5443367d431e3bd2511c142ce961a37dbdfa0a6843a8369d - languageName: node - linkType: hard - "@react-native/virtualized-lists@npm:0.85.3": version: 0.85.3 resolution: "@react-native/virtualized-lists@npm:0.85.3" dependencies: invariant: "npm:^2.2.4" - nullthrows: "npm:^1.1.1" - peerDependencies: - "@types/react": ^19.2.0 - react: "*" - react-native: 0.85.3 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10/a1ec317056cca51978c7947c89bf60ceb5c86e75a55b52035f4604281796ab4858b4cdb2a9350dd1eab161ab356c53094dde6448ebe5921e739de8f5c707e145 - languageName: node - linkType: hard - -"@react-navigation/bottom-tabs@npm:^7.15.5": - version: 7.15.10 - resolution: "@react-navigation/bottom-tabs@npm:7.15.10" - dependencies: - "@react-navigation/elements": "npm:^2.9.15" - color: "npm:^4.2.3" - sf-symbols-typescript: "npm:^2.1.0" - 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/92301d3eb053ec4dab545a705dd4cb812d4d2d617cca354aff9fec5f8379750112b0070fe2bffe334cabc300e40bf5119e72970e2c5710a9ae1eb70ea6e37d86 + nullthrows: "npm:^1.1.1" + peerDependencies: + "@types/react": ^19.2.0 + react: "*" + react-native: 0.85.3 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10/a1ec317056cca51978c7947c89bf60ceb5c86e75a55b52035f4604281796ab4858b4cdb2a9350dd1eab161ab356c53094dde6448ebe5921e739de8f5c707e145 languageName: node linkType: hard @@ -5915,24 +5224,6 @@ __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" @@ -5951,11 +5242,11 @@ __metadata: languageName: node linkType: hard -"@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" +"@react-navigation/native@npm:^7.1.8": + version: 7.1.31 + resolution: "@react-navigation/native@npm:7.1.31" dependencies: - "@react-navigation/core": "npm:^7.17.2" + "@react-navigation/core": "npm:^7.15.1" escape-string-regexp: "npm:^4.0.0" fast-deep-equal: "npm:^3.1.3" nanoid: "npm:^3.3.11" @@ -5963,15 +5254,15 @@ __metadata: peerDependencies: react: ">= 18.2.0" react-native: "*" - checksum: 10/83e8c4f9979378a932c7cce8106e2fde1774b5ff902e9da9b96e0a188183706a9e24bcfbd0f3e63fb5a5211617e66d69c8c0ee89696f93c12c1c4ed4998e9d00 + checksum: 10/b76efac7073055968e7c3300c6812932c0cdec6c9de1bdae0a80ecbee217c2817b0fa5012cd0817d3f6abe9c198032787bfcee4f4ec080b5827510c11c894cc0 languageName: node linkType: hard -"@react-navigation/native@npm:^7.1.8": - version: 7.1.31 - resolution: "@react-navigation/native@npm:7.1.31" +"@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.15.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" @@ -5979,7 +5270,7 @@ __metadata: peerDependencies: react: ">= 18.2.0" react-native: "*" - checksum: 10/b76efac7073055968e7c3300c6812932c0cdec6c9de1bdae0a80ecbee217c2817b0fa5012cd0817d3f6abe9c198032787bfcee4f4ec080b5827510c11c894cc0 + checksum: 10/83e8c4f9979378a932c7cce8106e2fde1774b5ff902e9da9b96e0a188183706a9e24bcfbd0f3e63fb5a5211617e66d69c8c0ee89696f93c12c1c4ed4998e9d00 languageName: node linkType: hard @@ -6229,6 +5520,29 @@ __metadata: languageName: node linkType: hard +"@testing-library/jest-dom@npm:^6.9.1": + version: 6.9.1 + resolution: "@testing-library/jest-dom@npm:6.9.1" + dependencies: + "@adobe/css-tools": "npm:^4.4.0" + aria-query: "npm:^5.0.0" + css.escape: "npm:^1.5.1" + dom-accessibility-api: "npm:^0.6.3" + picocolors: "npm:^1.1.1" + redent: "npm:^3.0.0" + checksum: 10/409b4f519e4c68f4d31e3b0317338cc19098b9029513fca61aa2af8270086ae3956a1eaedd19bbce2d2c9e2cf9ff27a616c06556be7a26e101c0d529a0062233 + languageName: node + linkType: hard + +"@testing-library/user-event@npm:^14.6.1": + version: 14.6.1 + resolution: "@testing-library/user-event@npm:14.6.1" + peerDependencies: + "@testing-library/dom": ">=7.21.4" + checksum: 10/34b74fff56a0447731a94b40d4cf246deb8dbc1c1e3aec93acd1c3377a760bb062e979f1572bb34ec164ad28ee2a391744b42d0d6d6cc16c4ce527e5e09610e1 + languageName: node + linkType: hard + "@tybys/wasm-util@npm:^0.10.0": version: 0.10.1 resolution: "@tybys/wasm-util@npm:0.10.1" @@ -7048,6 +6362,13 @@ __metadata: languageName: node linkType: hard +"aria-query@npm:^5.0.0": + version: 5.3.2 + resolution: "aria-query@npm:5.3.2" + checksum: 10/b2fe9bc98bd401bc322ccb99717c1ae2aaf53ea0d468d6e7aebdc02fac736e4a99b46971ee05b783b08ade23c675b2d8b60e4a1222a95f6e27bc4d2a0bfdcc03 + languageName: node + linkType: hard + "arkregex@npm:0.0.5": version: 0.0.5 resolution: "arkregex@npm:0.0.5" @@ -7372,15 +6693,6 @@ __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: 10/ec76abeefabf940e2d571db3b47d022a9be7602286133291e8e047d4855af6a8afc079e4631bc9a56209d751fad54b5199932a55753b1e2b56a719d20e2d5065 - languageName: node - linkType: hard - "babel-plugin-syntax-hermes-parser@npm:0.33.3, babel-plugin-syntax-hermes-parser@npm:^0.33.3": version: 0.33.3 resolution: "babel-plugin-syntax-hermes-parser@npm:0.33.3" @@ -7399,15 +6711,6 @@ __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" @@ -7442,49 +6745,6 @@ __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-expo@npm:~56.0.14": version: 56.0.14 resolution: "babel-preset-expo@npm:56.0.14" @@ -7634,15 +6894,6 @@ __metadata: languageName: node linkType: hard -"better-opn@npm:~3.0.2": - version: 3.0.2 - resolution: "better-opn@npm:3.0.2" - dependencies: - open: "npm:^8.0.4" - checksum: 10/24668e5a837d0d2c0edf17ad5ebcfeb00a8a5578a5eb09f7a409e1a60617cdfea40b8ebfc95e5f12d9568157930d033e6805788fcf0780413ac982c95d3745d1 - languageName: node - linkType: hard - "big-integer@npm:1.6.x": version: 1.6.52 resolution: "big-integer@npm:1.6.52" @@ -8324,24 +7575,25 @@ __metadata: resolution: "computer-vision@workspace:apps/computer-vision" dependencies: "@babel/core": "npm:^7.29.0" - "@expo/log-box": "npm:~55.0.10" - "@react-native/metro-config": "npm:^0.83.0" + "@expo/log-box": "npm:~56.0.12" + "@expo/vector-icons": "npm:^15.0.2" + "@react-native/metro-config": "npm:^0.85.3" "@react-navigation/drawer": "npm:^7.9.4" "@react-navigation/native": "npm:^7.2.2" "@shopify/react-native-skia": "npm:2.6.2" "@types/react": "npm:~19.2.0" "@types/react-refresh": "npm:^0" - babel-preset-expo: "npm:~55.0.16" - expo: "npm:^55.0.13" - expo-build-properties: "npm:~55.0.13" - expo-constants: "npm:^55.0.16" - 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" + babel-preset-expo: "npm:~56.0.14" + expo: "npm:^56.0.8" + expo-build-properties: "npm:~56.0.16" + expo-constants: "npm:~56.0.16" + expo-font: "npm:~56.0.5" + expo-linking: "npm:~56.0.13" + expo-router: "npm:~56.2.8" + expo-status-bar: "npm:~56.0.4" + metro-config: "npm:^0.84.0" react: "npm:19.2.5" - react-native: "npm:0.83.4" + react-native: "npm:0.85.3" react-native-device-info: "npm:^15.0.2" react-native-executorch: "workspace:*" react-native-executorch-expo-resource-fetcher: "workspace:*" @@ -8352,7 +7604,7 @@ __metadata: react-native-nitro-modules: "npm:0.35.4" 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-screens: "npm:~4.25.2" react-native-svg: "npm:15.15.4" react-native-svg-transformer: "npm:^1.5.3" react-native-vision-camera: "npm:^5.0.6" @@ -8680,6 +7932,13 @@ __metadata: languageName: node linkType: hard +"css.escape@npm:^1.5.1": + version: 1.5.1 + resolution: "css.escape@npm:1.5.1" + checksum: 10/f6d38088d870a961794a2580b2b2af1027731bb43261cfdce14f19238a88664b351cc8978abc20f06cc6bbde725699dec8deb6fe9816b139fc3f2af28719e774 + languageName: node + linkType: hard + "csso@npm:^5.0.5": version: 5.0.5 resolution: "csso@npm:5.0.5" @@ -8854,13 +8113,6 @@ __metadata: languageName: node linkType: hard -"define-lazy-prop@npm:^2.0.0": - version: 2.0.0 - resolution: "define-lazy-prop@npm:2.0.0" - checksum: 10/0115fdb065e0490918ba271d7339c42453d209d4cb619dfe635870d906731eff3e1ade8028bb461ea27ce8264ec5e22c6980612d332895977e89c1bbc80fcee2 - languageName: node - linkType: hard - "define-properties@npm:^1.1.3, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" @@ -8980,6 +8232,13 @@ __metadata: languageName: node linkType: hard +"dom-accessibility-api@npm:^0.6.3": + version: 0.6.3 + resolution: "dom-accessibility-api@npm:0.6.3" + checksum: 10/83d3371f8226487fbad36e160d44f1d9017fb26d46faba6a06fcad15f34633fc827b8c3e99d49f71d5f3253d866e2131826866fd0a3c86626f8eccfc361881ff + languageName: node + linkType: hard + "dom-serializer@npm:^2.0.0": version: 2.0.0 resolution: "dom-serializer@npm:2.0.0" @@ -9774,20 +9033,6 @@ __metadata: languageName: node linkType: hard -"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-asset@npm:~56.0.15": version: 56.0.15 resolution: "expo-asset@npm:56.0.15" @@ -9802,60 +9047,36 @@ __metadata: languageName: node linkType: hard -"expo-brightness@npm:~55.0.13": - version: 55.0.13 - resolution: "expo-brightness@npm:55.0.13" +"expo-brightness@npm:~56.0.5": + version: 56.0.5 + resolution: "expo-brightness@npm:56.0.5" peerDependencies: expo: "*" react-native: "*" - checksum: 10/25ebc5e97d8962cf3b1d3e355a1194ea76b51e55688c9fc7b17f9c1dbfc27900aedabf5e6b9eedcb980e0578598c28e07452ad528556bd59a61c09c3988dc10f + checksum: 10/10c1d0ab238f7752de521d191f9774c40d2a2f17111229d6cc9d2f316355baf1f7530925de100984bf85ef80e4f380733dcaa18a2152123124180a58122df939 languageName: node linkType: hard -"expo-build-properties@npm:~55.0.13": - version: 55.0.13 - resolution: "expo-build-properties@npm:55.0.13" +"expo-build-properties@npm:~56.0.16": + version: 56.0.16 + resolution: "expo-build-properties@npm:56.0.16" dependencies: - "@expo/schema-utils": "npm:^55.0.3" + "@expo/schema-utils": "npm:^56.0.0" resolve-from: "npm:^5.0.0" semver: "npm:^7.6.0" peerDependencies: expo: "*" - checksum: 10/b3de6f308c61d1b24f085d2e5e246cfcadd253791dd802aa5440a0894f775801a6ca1dbb8b0b2f64f42c037d5811d930a32bef693a2f61e336f830734140b2bf - languageName: node - linkType: hard - -"expo-calendar@npm:~55.0.14": - version: 55.0.14 - resolution: "expo-calendar@npm:55.0.14" - peerDependencies: - expo: "*" - react-native: "*" - checksum: 10/c12a173e3f3c5c77f124927890b48bdf07a35fa268c3a6c4659e7b2c46a58c292f8518f0ae85b4b2f5b231dda0f4128a8b8bd0c1c6d65e66f0457714dade1ff2 - languageName: node - linkType: hard - -"expo-constants@npm:^55.0.16": - version: 55.0.16 - resolution: "expo-constants@npm:55.0.16" - dependencies: - "@expo/env": "npm:~2.1.2" - peerDependencies: - expo: "*" - react-native: "*" - checksum: 10/80caf27dc74972b4a0245e2268be51748eb403622f30b9129c6838fa80740a88f31e4941f2f9c493fdd1cd0c8512b440dfc9cf78a26eb7ca92826c54cd4641b2 + checksum: 10/a45c4a0b68e5eb3ac4bdb524ac4927d3dde80d2b0a983078b5cf6ba9b41d6c0b16a67adf5a675ff0b9a441fd9906a77a635db83aa331db5214cb77273bd70d46 languageName: node linkType: hard -"expo-constants@npm:~55.0.15": - version: 55.0.15 - resolution: "expo-constants@npm:55.0.15" - dependencies: - "@expo/env": "npm:~2.1.1" +"expo-calendar@npm:~56.0.8": + version: 56.0.8 + resolution: "expo-calendar@npm:56.0.8" peerDependencies: expo: "*" react-native: "*" - checksum: 10/b0992b543ef9258168932deeddf48754ba007b2950bbf2564c9407119fee6e644fa0e63ad5979e739e7e86cdc40f72fa9b785786ebbf2e39c0aa020d085cb027 + checksum: 10/360d778e417b734b038e3c585d9c17e48c2370157752bdfde82486a34a2d137ceed9697d69c3698e757f991ba9cc55c17bb31bb5a956c646efa4e237acae0fcd languageName: node linkType: hard @@ -9871,22 +9092,12 @@ __metadata: 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/bcf4a9e6cbc8a0cc61012b2143d231b210a93134b48f45f2a3f85057fc8504b5a79592fbbbae7e67aa8e36891ba64a49b3e3d0f859170b174b8df2c7cdbd3065 - languageName: node - linkType: hard - -"expo-file-system@npm:~55.0.17": - version: 55.0.17 - resolution: "expo-file-system@npm:55.0.17" +"expo-document-picker@npm:~56.0.4": + version: 56.0.4 + resolution: "expo-document-picker@npm:56.0.4" peerDependencies: expo: "*" - react-native: "*" - checksum: 10/0569b4fe65666ececd41ac7d3c8d3fd2c0bda2ce73125be7ee784c686807c6604fe16292614f3f654104922566ecb79cce48bf4cda4980af170fb2572ae57dd3 + checksum: 10/b5aa1f8bf53fad7475e4c75e269ec0f7945df049a9b15a06b7772141d1e31565823905a0f826ae55ed61d89908812ddfd7f1652b82269520df465a1e958343b0 languageName: node linkType: hard @@ -9900,19 +9111,6 @@ __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-font@npm:~56.0.5": version: 56.0.5 resolution: "expo-font@npm:56.0.5" @@ -9926,41 +9124,14 @@ __metadata: 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" +"expo-glass-effect@npm:^56.0.4": + version: 56.0.4 + resolution: "expo-glass-effect@npm:56.0.4" 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:~55.0.6": - version: 55.0.6 - resolution: "expo-keep-awake@npm:55.0.6" - peerDependencies: - expo: "*" - react: "*" - checksum: 10/f4d52bf8c5499c7c8df4398b0ebe78c835361d15b488350340b410c57ac9794c2781cda605ce6cce968e37adab126fec455ceb3b5b97128186cc7e18571c414c + checksum: 10/ca3142258a62e312d2a879c0cbf379de0bb40c7b99964e16937b197cd691337b99b91a4f79e08fe60b0f4f7dddc8ba74e415dc8b2a6ad53820d13f403ad4c83b languageName: node linkType: hard @@ -9974,30 +9145,16 @@ __metadata: languageName: node linkType: hard -"expo-linking@npm:~55.0.12": - version: 55.0.14 - resolution: "expo-linking@npm:55.0.14" +"expo-linking@npm:~56.0.13": + version: 56.0.13 + resolution: "expo-linking@npm:56.0.13" dependencies: - expo-constants: "npm:~55.0.15" + expo-constants: "npm:~56.0.16" invariant: "npm:^2.2.4" peerDependencies: react: "*" react-native: "*" - checksum: 10/a8b5ddf1457834a77ed1ed877530fec22f5c3f8f84c460699b21ae0872adea864589a38f7dd4379fc65b0f4da9c753d7314892c88a6f6a476854b19fd84cebff - 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 + checksum: 10/1d60735de1fe63b465be8c2212d9fa0076f82d6e5665e2e5493579b4033584d2fc1518085ec06a51b8f73931135dad4edd80ff68d46027764610f1aa9b748836 languageName: node linkType: hard @@ -10015,22 +9172,6 @@ __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-modules-core@npm:~56.0.14": version: 56.0.14 resolution: "expo-modules-core@npm:56.0.14" @@ -10058,56 +9199,55 @@ __metadata: languageName: node linkType: hard -"expo-router@npm:~55.0.11": - version: 55.0.13 - resolution: "expo-router@npm:55.0.13" +"expo-router@npm:~56.2.8": + version: 56.2.8 + resolution: "expo-router@npm:56.2.8" dependencies: - "@expo/metro-runtime": "npm:^55.0.10" - "@expo/schema-utils": "npm:^55.0.3" + "@expo/log-box": "npm:^56.0.12" + "@expo/metro-runtime": "npm:^56.0.13" + "@expo/schema-utils": "npm:^56.0.0" + "@expo/ui": "npm:^56.0.15" "@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" + "@react-native-masked-view/masked-view": "npm:^0.3.2" + "@testing-library/jest-dom": "npm:^6.9.1" + "@testing-library/user-event": "npm:^14.6.1" client-only: "npm:^0.0.1" + color: "npm:^4.2.3" 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" + expo-glass-effect: "npm:^56.0.4" + expo-server: "npm:^56.0.4" + expo-symbols: "npm:^56.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.2.1" - semver: "npm:~7.6.3" + react-is: "npm:^19.1.0" + react-native-drawer-layout: "npm:^4.2.2" + react-native-screens: "npm:^4.25.2" 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 + "@expo/log-box": ^56.0.12 + "@expo/metro-runtime": ^56.0.13 "@testing-library/react-native": ">= 13.2.0" expo: "*" - expo-constants: ^55.0.15 - expo-linking: ^55.0.14 + expo-constants: ^56.0.16 + expo-linking: ^56.0.13 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-screens: ^4.25.2 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: @@ -10120,7 +9260,7 @@ __metadata: optional: true react-server-dom-webpack: optional: true - checksum: 10/7b8fee93aea16c3c19d645b47560eb994a695306212831f31d02f94b231157bd2adaf050b1393b830bcd318706898f383cd5fe29cae895091440095900654185 + checksum: 10/b78b7576040d0fba4e949e20b31e7751d6b48c9dde5b13d75496fcbaf17e2270f9d90cb90b6cb4399fec47b6d28cd9e9ab0ac459604ef3e442bedc4a688acbba languageName: node linkType: hard @@ -10193,13 +9333,6 @@ __metadata: languageName: node linkType: hard -"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-server@npm:^56.0.4": version: 56.0.4 resolution: "expo-server@npm:56.0.4" @@ -10207,78 +9340,29 @@ __metadata: 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/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" +"expo-status-bar@npm:~56.0.4": + version: 56.0.4 + resolution: "expo-status-bar@npm:56.0.4" peerDependencies: expo: "*" - expo-font: "*" react: "*" react-native: "*" - checksum: 10/1a7fb4cdd8db819aea70d845f8f4f3023fd7a050819e8c6431d57bbfb9dd693c9c7303bb83bddd9a4898b3310d11d12a1fc331e2f4b9ed678cf59baaf380245c + checksum: 10/a43556df4b7b57f2bdb46ce36c8d468b52d01f968ac4aa105e0e22a78e09921ec507637f9e4187a07f8bc78291a5765fd962a51575aa6dbe4c7f177d437dc869 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 + linkType: hard + +"expo-symbols@npm:^56.0.5": + version: 56.0.5 + resolution: "expo-symbols@npm:56.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: 10/2b4dc0b78956a9738e0e4d7e35e5888e1b188e3318028f7bd44d0f13c5aab0b2ec756cf33dccffbacd4ddfa7bdde8761836db59873b601a4312be401c8819d79 languageName: node linkType: hard @@ -10988,13 +10072,6 @@ __metadata: languageName: node linkType: hard -"hermes-compiler@npm:0.14.1": - version: 0.14.1 - resolution: "hermes-compiler@npm:0.14.1" - checksum: 10/dbb0f4886532b26262721fa34de5947502b265cea8574f6094915abf59d31c757da6a41730cb6f6d088ec7607d659e8b4036782d227dcf072e9a49152bbef756 - languageName: node - linkType: hard - "hermes-compiler@npm:250829098.0.10": version: 250829098.0.10 resolution: "hermes-compiler@npm:250829098.0.10" @@ -11016,20 +10093,6 @@ __metadata: languageName: node linkType: hard -"hermes-estree@npm:0.32.0": - version: 0.32.0 - resolution: "hermes-estree@npm:0.32.0" - checksum: 10/65a30a86a5a560152a2de1842c7bc7ecdadebd62e9cdd7d1809a824de7bc19e8d6a42907d3caff91d9f823862405d4b200447aa0bc25ba16072937e93d0acbd5 - 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" @@ -11062,24 +10125,6 @@ __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: 10/496210490cb45e97df14796d94aec6c817c4cefa20f1dbe3ba1df323cc58c930033cfec93f3ecfad6b90e09166fc9ffc4f665843d25b4862523aa70dacbae81f - 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, hermes-parser@npm:^0.33.3": version: 0.33.3 resolution: "hermes-parser@npm:0.33.3" @@ -11456,7 +10501,7 @@ __metadata: languageName: node linkType: hard -"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": +"is-docker@npm:^2.0.0": version: 2.2.1 resolution: "is-docker@npm:2.2.1" bin: @@ -13104,26 +12149,26 @@ __metadata: resolution: "llm@workspace:apps/llm" dependencies: "@babel/core": "npm:^7.29.0" - "@expo/log-box": "npm:~55.0.10" - "@react-native/metro-config": "npm:^0.83.0" + "@expo/log-box": "npm:~56.0.12" + "@react-native/metro-config": "npm:^0.85.3" "@react-navigation/drawer": "npm:^7.9.4" "@react-navigation/native": "npm:^7.2.2" "@types/react": "npm:~19.2.14" "@types/react-refresh": "npm:^0" - 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.16" - 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" + babel-preset-expo: "npm:~56.0.14" + expo: "npm:^56.0.8" + expo-brightness: "npm:~56.0.5" + expo-build-properties: "npm:~56.0.16" + expo-calendar: "npm:~56.0.8" + expo-constants: "npm:~56.0.16" + expo-document-picker: "npm:~56.0.4" + expo-font: "npm:~56.0.5" + expo-linking: "npm:~56.0.13" + expo-router: "npm:~56.2.8" + expo-status-bar: "npm:~56.0.4" + metro-config: "npm:^0.84.0" react: "npm:19.2.5" - react-native: "npm:0.83.4" + react-native: "npm:0.85.3" react-native-audio-api: "npm:0.12.2" react-native-device-info: "npm:^15.0.2" react-native-executorch: "workspace:*" @@ -13134,7 +12179,7 @@ __metadata: react-native-markdown-display: "npm:^7.0.2" 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-screens: "npm:~4.25.2" react-native-svg: "npm:15.15.4" react-native-svg-transformer: "npm:^1.5.3" react-native-worklets: "npm:0.8.1" @@ -13453,19 +12498,6 @@ __metadata: languageName: node linkType: hard -"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" - 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 - "metro-babel-transformer@npm:0.84.4": version: 0.84.4 resolution: "metro-babel-transformer@npm:0.84.4" @@ -13488,15 +12520,6 @@ __metadata: languageName: node linkType: hard -"metro-cache-key@npm:0.83.6": - version: 0.83.6 - resolution: "metro-cache-key@npm:0.83.6" - dependencies: - flow-enums-runtime: "npm:^0.0.6" - checksum: 10/8d1f285d6987b4e57b708272c06d30ba12bc74137c7bf8c0fbcfb61ed7855e8cd3fe7a0c4890fa6c50e63719b28bc03c1c2098a33ac8d4817687feed1521133d - languageName: node - linkType: hard - "metro-cache-key@npm:0.84.4": version: 0.84.4 resolution: "metro-cache-key@npm:0.84.4" @@ -13518,18 +12541,6 @@ __metadata: languageName: node linkType: hard -"metro-cache@npm:0.83.6": - version: 0.83.6 - resolution: "metro-cache@npm:0.83.6" - 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.6" - checksum: 10/1e2ea06528a841d478419e780fbd5eca46f1633e7b04dba59f72afa706ad74160da97d665273d6c2365eb73f3b95049b4cd1068a5594e26728941490ac13e9cf - languageName: node - linkType: hard - "metro-cache@npm:0.84.4": version: 0.84.4 resolution: "metro-cache@npm:0.84.4" @@ -13542,7 +12553,7 @@ __metadata: languageName: node linkType: hard -"metro-config@npm:0.83.4, metro-config@npm:^0.83.1, metro-config@npm:^0.83.3": +"metro-config@npm:0.83.4, metro-config@npm:^0.83.1": version: 0.83.4 resolution: "metro-config@npm:0.83.4" dependencies: @@ -13558,23 +12569,7 @@ __metadata: languageName: node linkType: hard -"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" - 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 - -"metro-config@npm:0.84.4, metro-config@npm:^0.84.3": +"metro-config@npm:0.84.4, metro-config@npm:^0.84.0, metro-config@npm:^0.84.3": version: 0.84.4 resolution: "metro-config@npm:0.84.4" dependencies: @@ -13601,17 +12596,6 @@ __metadata: languageName: node linkType: hard -"metro-core@npm:0.83.6, metro-core@npm:^0.83.3": - version: 0.83.6 - resolution: "metro-core@npm:0.83.6" - dependencies: - flow-enums-runtime: "npm:^0.0.6" - lodash.throttle: "npm:^4.1.1" - metro-resolver: "npm:0.83.6" - checksum: 10/6ea03c09f7f894dab0f316c2238e3aa6022c2b88b84c8e6f96c66713ebf1ff02f75c2468db08bb39a7e68701e71a2c2fbd1a74600009be48d6e826202a710820 - languageName: node - linkType: hard - "metro-core@npm:0.84.4, metro-core@npm:^0.84.3": version: 0.84.4 resolution: "metro-core@npm:0.84.4" @@ -13640,23 +12624,6 @@ __metadata: languageName: node linkType: hard -"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" - 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 - "metro-file-map@npm:0.84.4": version: 0.84.4 resolution: "metro-file-map@npm:0.84.4" @@ -13684,16 +12651,6 @@ __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-minify-terser@npm:0.84.4": version: 0.84.4 resolution: "metro-minify-terser@npm:0.84.4" @@ -13762,15 +12719,6 @@ __metadata: languageName: node linkType: hard -"metro-resolver@npm:0.83.6": - version: 0.83.6 - resolution: "metro-resolver@npm:0.83.6" - dependencies: - flow-enums-runtime: "npm:^0.0.6" - checksum: 10/fad9c8d851d529dd6520727278283e725e4ad35570beb98679481d1b1ede6d10a48c1f79aa403690f321ff8ba12399e7b1b2ebe7862d07d159e5204375a62aa0 - languageName: node - linkType: hard - "metro-resolver@npm:0.84.4": version: 0.84.4 resolution: "metro-resolver@npm:0.84.4" @@ -13780,7 +12728,7 @@ __metadata: languageName: node linkType: hard -"metro-runtime@npm:0.83.4, metro-runtime@npm:^0.83.1, metro-runtime@npm:^0.83.3": +"metro-runtime@npm:0.83.4, metro-runtime@npm:^0.83.1": version: 0.83.4 resolution: "metro-runtime@npm:0.83.4" dependencies: @@ -13790,16 +12738,6 @@ __metadata: languageName: node linkType: hard -"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/runtime": "npm:^7.25.0" - flow-enums-runtime: "npm:^0.0.6" - checksum: 10/1a9fde73df3d8d52e7c015011a9c74fbf27aa67ebca44cce1bf12fb56b9af2d29fc8b6d5030de6a58bbb1a2797fbe1c7c8426020ac6787a273aef56ce55d6ff2 - languageName: node - linkType: hard - "metro-runtime@npm:0.84.4, metro-runtime@npm:^0.84.3": version: 0.84.4 resolution: "metro-runtime@npm:0.84.4" @@ -13827,23 +12765,6 @@ __metadata: languageName: node linkType: hard -"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-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" - checksum: 10/983219848f04083f10a4374400d76a124aa364056f7b7e428ffae4ebda8c3867614c9866309d633ef67e1fba92f52f866de1cfe86b8e9cc29873f92186a4f58f - languageName: node - linkType: hard - "metro-source-map@npm:0.84.4, metro-source-map@npm:^0.84.3": version: 0.84.4 resolution: "metro-source-map@npm:0.84.4" @@ -13877,22 +12798,6 @@ __metadata: languageName: node linkType: hard -"metro-symbolicate@npm:0.83.6": - version: 0.83.6 - resolution: "metro-symbolicate@npm:0.83.6" - dependencies: - flow-enums-runtime: "npm:^0.0.6" - invariant: "npm:^2.2.4" - metro-source-map: "npm:0.83.6" - nullthrows: "npm:^1.1.1" - source-map: "npm:^0.5.6" - vlq: "npm:^1.0.0" - bin: - metro-symbolicate: src/index.js - checksum: 10/a94325c1893312671091eac90ea4419d4b555d0a5f163524c8a7f7eabf4219508944dee5107ae4c519ef8266525632a54e9557c0142d94b2097378c7580a9108 - languageName: node - linkType: hard - "metro-symbolicate@npm:0.84.4": version: 0.84.4 resolution: "metro-symbolicate@npm:0.84.4" @@ -13923,20 +12828,6 @@ __metadata: languageName: node linkType: hard -"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.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: 10/257f6fffa63e2d436033fb4d0f17e7200b43bad1dcc8da7ff7a5fed6cd00a60a14e5687a6330522773ffbc5c90f81c038e57105ee80313100fbcd6945275a687 - languageName: node - linkType: hard - "metro-transform-plugins@npm:0.84.4": version: 0.84.4 resolution: "metro-transform-plugins@npm:0.84.4" @@ -13972,27 +12863,6 @@ __metadata: languageName: node linkType: hard -"metro-transform-worker@npm:0.83.6": - version: 0.83.6 - resolution: "metro-transform-worker@npm:0.83.6" - 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.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" - checksum: 10/0d8c59fef2a880f060b59fbda0568214bc3290c5e1795a759404e53e97b1ec7b71e55b89a2e25e44337ee49a4e7f0ed1a7c7d788a203ecad48b77fabd8023331 - languageName: node - linkType: hard - "metro-transform-worker@npm:0.84.4": version: 0.84.4 resolution: "metro-transform-worker@npm:0.84.4" @@ -14064,56 +12934,6 @@ __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 - "metro@npm:0.84.4, metro@npm:^0.84.3": version: 0.84.4 resolution: "metro@npm:0.84.4" @@ -14483,6 +13303,13 @@ __metadata: languageName: node linkType: hard +"min-indent@npm:^1.0.0": + version: 1.0.1 + resolution: "min-indent@npm:1.0.1" + checksum: 10/bfc6dd03c5eaf623a4963ebd94d087f6f4bbbfd8c41329a7f09706b0cb66969c4ddd336abeb587bc44bc6f08e13bf90f0b374f9d71f9f01e04adc2cd6f083ef1 + languageName: node + linkType: hard + "minimatch@npm:^10.2.2": version: 10.2.5 resolution: "minimatch@npm:10.2.5" @@ -14659,7 +13486,7 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.3.11, nanoid@npm:^3.3.7, nanoid@npm:^3.3.8": +"nanoid@npm:^3.3.11, nanoid@npm:^3.3.8": version: 3.3.11 resolution: "nanoid@npm:3.3.11" bin: @@ -14868,15 +13695,6 @@ __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 - "ob1@npm:0.84.4": version: 0.84.4 resolution: "ob1@npm:0.84.4" @@ -15035,17 +13853,6 @@ __metadata: languageName: node linkType: hard -"open@npm:^8.0.4": - version: 8.4.2 - resolution: "open@npm:8.4.2" - dependencies: - define-lazy-prop: "npm:^2.0.0" - is-docker: "npm:^2.1.1" - is-wsl: "npm:^2.2.0" - checksum: 10/acd81a1d19879c818acb3af2d2e8e9d81d17b5367561e623248133deb7dd3aefaed527531df2677d3e6aaf0199f84df57b6b2262babff8bf46ea0029aac536c9 - languageName: node - linkType: hard - "optionator@npm:^0.9.3": version: 0.9.4 resolution: "optionator@npm:0.9.4" @@ -15393,17 +14200,6 @@ __metadata: languageName: node linkType: hard -"postcss@npm:~8.4.32": - version: 8.4.49 - resolution: "postcss@npm:8.4.49" - dependencies: - nanoid: "npm:^3.3.7" - picocolors: "npm:^1.1.1" - source-map-js: "npm:^1.2.1" - checksum: 10/28fe1005b1339870e0a5006375ba5ac1213fd69800f79e7db09c398e074421ba6e162898e94f64942fed554037fd292db3811d87835d25ab5ef7f3c9daacb6ca - languageName: node - linkType: hard - "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -15890,7 +14686,7 @@ __metadata: languageName: node linkType: hard -"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": version: 1.2.1 resolution: "react-native-is-edge-to-edge@npm:1.2.1" peerDependencies: @@ -15990,16 +14786,16 @@ __metadata: languageName: node linkType: hard -"react-native-screens@npm:~4.24.0": - version: 4.24.0 - resolution: "react-native-screens@npm:4.24.0" +"react-native-screens@npm:^4.25.2, react-native-screens@npm:~4.25.2": + version: 4.25.2 + resolution: "react-native-screens@npm:4.25.2" dependencies: react-freeze: "npm:^1.0.0" warn-once: "npm:^0.1.0" peerDependencies: react: "*" - react-native: "*" - checksum: 10/1ac705f7c0c37f62f0c29c5bf477b4a2360c37dec6b689e7fa9a768cc8a08d828ac7260d168a60638d207e0be21ae22bb3f170d55f0ae97837c2053ba8e38aff + react-native: ">=0.82.0" + checksum: 10/b0fca70d7aafbd8ff993c0e0329ee78fe453391eaff9556e87fb619d0d58b93b497e47ff5477a1028ecad35d4165f47c833ccb22049e59c5d55a1c55a13029b0 languageName: node linkType: hard @@ -16159,57 +14955,6 @@ __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-native@npm:0.85.3": version: 0.85.3 resolution: "react-native@npm:0.85.3" @@ -16388,6 +15133,16 @@ __metadata: languageName: node linkType: hard +"redent@npm:^3.0.0": + version: 3.0.0 + resolution: "redent@npm:3.0.0" + dependencies: + indent-string: "npm:^4.0.0" + strip-indent: "npm:^3.0.0" + checksum: 10/fa1ef20404a2d399235e83cc80bd55a956642e37dd197b4b612ba7327bf87fa32745aeb4a1634b2bab25467164ab4ed9c15be2c307923dd08b0fe7c52431ae6b + languageName: node + linkType: hard + "reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9": version: 1.0.10 resolution: "reflect.getprototypeof@npm:1.0.10" @@ -16851,7 +15606,7 @@ __metadata: languageName: node linkType: hard -"sf-symbols-typescript@npm:^2.0.0, sf-symbols-typescript@npm:^2.1.0, sf-symbols-typescript@npm:^2.2.0": +"sf-symbols-typescript@npm:^2.0.0, sf-symbols-typescript@npm:^2.1.0": version: 2.2.0 resolution: "sf-symbols-typescript@npm:2.2.0" checksum: 10/8623e148bf86151692d3ccb3149122c091b256162a39f4c4f78472811ffe92e3c77a83841a7381a5dc0bc6505ebb73e7ca8901cb077004872d7ee1cb4e5be9d4 @@ -17057,7 +15812,7 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:~0.5.20, source-map-support@npm:~0.5.21": +"source-map-support@npm:~0.5.20": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" dependencies: @@ -17110,18 +15865,19 @@ __metadata: resolution: "speech@workspace:apps/speech" dependencies: "@babel/core": "npm:^7.29.0" - "@react-native/metro-config": "npm:^0.83.0" + "@expo/vector-icons": "npm:^15.0.2" + "@react-native/metro-config": "npm:^0.85.3" "@types/react": "npm:~19.2.14" "@types/react-refresh": "npm:^0" - babel-preset-expo: "npm:~55.0.16" + babel-preset-expo: "npm:~56.0.14" buffer: "npm:^6.0.3" - 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" + expo: "npm:^56.0.8" + expo-build-properties: "npm:~56.0.16" + expo-font: "npm:~56.0.5" + expo-status-bar: "npm:~56.0.4" + metro-config: "npm:^0.84.0" react: "npm:19.2.5" - react-native: "npm:0.83.4" + react-native: "npm:0.85.3" react-native-audio-api: "npm:0.12.2" react-native-device-info: "npm:^15.0.2" react-native-executorch: "workspace:*" @@ -17386,6 +16142,15 @@ __metadata: languageName: node linkType: hard +"strip-indent@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-indent@npm:3.0.0" + dependencies: + min-indent: "npm:^1.0.0" + checksum: 10/18f045d57d9d0d90cd16f72b2313d6364fd2cb4bf85b9f593523ad431c8720011a4d5f08b6591c9d580f446e78855c5334a30fb91aa1560f5d9f95ed1b4a0530 + languageName: node + linkType: hard + "strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" @@ -17544,28 +16309,30 @@ __metadata: resolution: "text-embeddings@workspace:apps/text-embeddings" dependencies: "@babel/core": "npm:^7.29.0" - "@expo/log-box": "npm:~55.0.10" - "@react-native/metro-config": "npm:^0.83.0" + "@expo/log-box": "npm:~56.0.12" + "@expo/vector-icons": "npm:^15.0.2" + "@react-native/metro-config": "npm:^0.85.3" "@react-navigation/drawer": "npm:^7.9.4" "@react-navigation/native": "npm:^7.2.2" "@types/react": "npm:~19.2.14" "@types/react-refresh": "npm:^0" - babel-preset-expo: "npm:~55.0.16" - expo: "npm:^55.0.13" - expo-build-properties: "npm:~55.0.13" - expo-constants: "npm:^55.0.16" - expo-linking: "npm:~55.0.12" - expo-router: "npm:~55.0.11" - expo-status-bar: "npm:~55.0.5" + babel-preset-expo: "npm:~56.0.14" + expo: "npm:^56.0.8" + expo-build-properties: "npm:~56.0.16" + expo-constants: "npm:~56.0.16" + expo-font: "npm:~56.0.5" + expo-linking: "npm:~56.0.13" + expo-router: "npm:~56.2.8" + expo-status-bar: "npm:~56.0.4" react: "npm:19.2.5" - react-native: "npm:0.83.4" + react-native: "npm:0.85.3" react-native-executorch: "workspace:*" react-native-executorch-expo-resource-fetcher: "workspace:*" 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.24.0" + react-native-screens: "npm:~4.25.2" react-native-svg: "npm:15.15.4" react-native-worklets: "npm:0.8.1" react-refresh: "npm:^0.18.0" @@ -18184,13 +16951,6 @@ __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-minimum@npm:^0.1.2": version: 0.1.2 resolution: "whatwg-url-minimum@npm:0.1.2" From 676739cb967a0397ecb1c6d2381e47b3ddf5864a Mon Sep 17 00:00:00 2001 From: chmjkb Date: Tue, 2 Jun 2026 14:12:27 +0200 Subject: [PATCH 03/15] fix(apps): adapt example apps to SDK 56 / RN 0.85 API changes --- apps/computer-vision/app/_layout.tsx | 44 +++++++------------ .../app/text_to_image/index.tsx | 2 +- .../app/vision_camera/index.tsx | 2 +- .../components/ImageWithMasks.tsx | 2 +- .../tasks/ClassificationTask.tsx | 2 +- apps/llm/app/_layout.tsx | 44 +++++++------------ apps/llm/app/llm_tool_calling/index.tsx | 9 ++-- apps/llm/utils/tools.ts | 5 ++- apps/text-embeddings/app/_layout.tsx | 44 +++++++------------ 9 files changed, 56 insertions(+), 98 deletions(-) diff --git a/apps/computer-vision/app/_layout.tsx b/apps/computer-vision/app/_layout.tsx index a4868f92ae..5d5c67dca1 100644 --- a/apps/computer-vision/app/_layout.tsx +++ b/apps/computer-vision/app/_layout.tsx @@ -4,14 +4,20 @@ import { ExpoResourceFetcher } from 'react-native-executorch-expo-resource-fetch import ColorPalette from '../colors'; import React, { useState } from 'react'; -import { Text, StyleSheet, View, TouchableOpacity } from 'react-native'; +import { + Text, + StyleSheet, + View, + TouchableOpacity, + type ColorValue, +} from 'react-native'; import { - DrawerContentComponentProps, + type DrawerContentComponentProps, DrawerContentScrollView, DrawerItemList, -} from '@react-navigation/drawer'; -import { DrawerActions } from '@react-navigation/native'; +} from 'expo-router/build/react-navigation/drawer'; +import { DrawerActions } from 'expo-router/build/react-navigation/routers'; import { useNavigation } from 'expo-router'; import Svg, { Rect } from 'react-native-svg'; import { GeneratingContext } from '../context'; @@ -20,38 +26,18 @@ initExecutorch({ resourceFetcher: ExpoResourceFetcher, }); -function HamburgerIcon({ tintColor }: { tintColor?: string }) { +function HamburgerIcon({ tintColor }: { tintColor?: ColorValue }) { const navigation = useNavigation(); + const fill = typeof tintColor === 'string' ? tintColor : '#000'; return ( navigation.dispatch(DrawerActions.toggleDrawer())} style={styles.hamburger} > - - - + + + ); diff --git a/apps/computer-vision/app/text_to_image/index.tsx b/apps/computer-vision/app/text_to_image/index.tsx index bb54c661be..0d61ea05e6 100644 --- a/apps/computer-vision/app/text_to_image/index.tsx +++ b/apps/computer-vision/app/text_to_image/index.tsx @@ -227,7 +227,7 @@ const styles = StyleSheet.create({ width: '100%', }, overlay: { - ...StyleSheet.absoluteFillObject, + ...StyleSheet.absoluteFill, backgroundColor: 'rgba(0,0,0,0.1)', zIndex: 1, }, diff --git a/apps/computer-vision/app/vision_camera/index.tsx b/apps/computer-vision/app/vision_camera/index.tsx index 99fe0b1ac7..125efa5206 100644 --- a/apps/computer-vision/app/vision_camera/index.tsx +++ b/apps/computer-vision/app/vision_camera/index.tsx @@ -453,7 +453,7 @@ const styles = StyleSheet.create({ }, buttonText: { color: 'white', fontSize: 15, fontWeight: '600' }, loadingOverlay: { - ...StyleSheet.absoluteFillObject, + ...StyleSheet.absoluteFill, backgroundColor: 'rgba(0,0,0,0.6)', justifyContent: 'center', alignItems: 'center', diff --git a/apps/computer-vision/components/ImageWithMasks.tsx b/apps/computer-vision/components/ImageWithMasks.tsx index 8bb435f47a..53f7152100 100644 --- a/apps/computer-vision/components/ImageWithMasks.tsx +++ b/apps/computer-vision/components/ImageWithMasks.tsx @@ -238,7 +238,7 @@ const styles = StyleSheet.create({ height: '100%', }, overlay: { - ...StyleSheet.absoluteFillObject, + ...StyleSheet.absoluteFill, }, canvas: { width: '100%', diff --git a/apps/computer-vision/components/vision_camera/tasks/ClassificationTask.tsx b/apps/computer-vision/components/vision_camera/tasks/ClassificationTask.tsx index e5b2f3ad3f..f108bb4aa5 100644 --- a/apps/computer-vision/components/vision_camera/tasks/ClassificationTask.tsx +++ b/apps/computer-vision/components/vision_camera/tasks/ClassificationTask.tsx @@ -106,7 +106,7 @@ export default function ClassificationTask({ const styles = StyleSheet.create({ overlay: { - ...StyleSheet.absoluteFillObject, + ...StyleSheet.absoluteFill, justifyContent: 'center', alignItems: 'center', }, diff --git a/apps/llm/app/_layout.tsx b/apps/llm/app/_layout.tsx index 1ec4b65540..2cbf4c8c73 100644 --- a/apps/llm/app/_layout.tsx +++ b/apps/llm/app/_layout.tsx @@ -3,49 +3,35 @@ 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, TouchableOpacity } from 'react-native'; import { - DrawerContentComponentProps, + Text, + StyleSheet, + View, + TouchableOpacity, + type ColorValue, +} from 'react-native'; +import { + type DrawerContentComponentProps, DrawerContentScrollView, DrawerItemList, -} from '@react-navigation/drawer'; -import { DrawerActions } from '@react-navigation/native'; +} from 'expo-router/build/react-navigation/drawer'; +import { DrawerActions } from 'expo-router/build/react-navigation/routers'; import { useNavigation } from 'expo-router'; import Svg, { Rect } from 'react-native-svg'; import { GeneratingContext } from '../context'; -function HamburgerIcon({ tintColor }: { tintColor?: string }) { +function HamburgerIcon({ tintColor }: { tintColor?: ColorValue }) { const navigation = useNavigation(); + const fill = typeof tintColor === 'string' ? tintColor : '#000'; return ( navigation.dispatch(DrawerActions.toggleDrawer())} style={styles.hamburger} > - - - + + + ); diff --git a/apps/llm/app/llm_tool_calling/index.tsx b/apps/llm/app/llm_tool_calling/index.tsx index f059d59793..b6956a5535 100644 --- a/apps/llm/app/llm_tool_calling/index.tsx +++ b/apps/llm/app/llm_tool_calling/index.tsx @@ -25,6 +25,7 @@ import ColorPalette from '../../colors'; import Messages from '../../components/Messages'; import * as Brightness from 'expo-brightness'; import * as Calendar from 'expo-calendar'; +import { PermissionStatus } from 'expo'; import { executeTool, TOOL_DEFINITIONS_PHONE } from '../../utils/tools'; import { useIsFocused } from '@react-navigation/native'; import { GeneratingContext } from '../../context'; @@ -91,17 +92,15 @@ function LLMToolCallingScreen() { const { status, canAskAgain } = await Calendar.getCalendarPermissionsAsync(); - if (status === Calendar.PermissionStatus.GRANTED) { + if (status === PermissionStatus.GRANTED) { setHasCalendarPermission(true); return; } - if (status === Calendar.PermissionStatus.UNDETERMINED || canAskAgain) { + if (status === PermissionStatus.UNDETERMINED || canAskAgain) { const { status: nextStatus } = await Calendar.requestCalendarPermissionsAsync(); - setHasCalendarPermission( - nextStatus === Calendar.PermissionStatus.GRANTED - ); + setHasCalendarPermission(nextStatus === PermissionStatus.GRANTED); return; } diff --git a/apps/llm/utils/tools.ts b/apps/llm/utils/tools.ts index 2f7bf5f5ef..765859ef87 100644 --- a/apps/llm/utils/tools.ts +++ b/apps/llm/utils/tools.ts @@ -1,5 +1,6 @@ import * as Calendar from 'expo-calendar'; import * as Brightness from 'expo-brightness'; +import { PermissionStatus } from 'expo'; import { clamp } from 'react-native-reanimated'; import { Platform } from 'react-native'; import { ToolCall } from 'react-native-executorch'; @@ -109,7 +110,7 @@ const brightness = async (call: ToolCall) => { const readCalendar = async (call: ToolCall) => { console.log('Reading calendar!', call); const { status } = await Calendar.getCalendarPermissionsAsync(); - if (status !== Calendar.PermissionStatus.GRANTED) { + if (status !== PermissionStatus.GRANTED) { return 'Calendar permission denied. Inform the user they need to grant calendar access in the app.'; } @@ -199,7 +200,7 @@ const readCalendar = async (call: ToolCall) => { const addEventToCalendar = async (call: ToolCall) => { console.log('Adding event to calendar!', call); const { status } = await Calendar.getCalendarPermissionsAsync(); - if (status !== Calendar.PermissionStatus.GRANTED) { + if (status !== PermissionStatus.GRANTED) { return 'Calendar permission denied. Inform the user they need to grant calendar access in the app.'; } if ( diff --git a/apps/text-embeddings/app/_layout.tsx b/apps/text-embeddings/app/_layout.tsx index 3dc79b1c92..bb8e1deeb8 100644 --- a/apps/text-embeddings/app/_layout.tsx +++ b/apps/text-embeddings/app/_layout.tsx @@ -3,50 +3,36 @@ 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, TouchableOpacity } from 'react-native'; +import { + Text, + StyleSheet, + View, + TouchableOpacity, + type ColorValue, +} from 'react-native'; import { - DrawerContentComponentProps, + type DrawerContentComponentProps, DrawerContentScrollView, DrawerItemList, -} from '@react-navigation/drawer'; -import { DrawerActions } from '@react-navigation/native'; +} from 'expo-router/build/react-navigation/drawer'; +import { DrawerActions } from 'expo-router/build/react-navigation/routers'; import { useNavigation } from 'expo-router'; import Svg, { Rect } from 'react-native-svg'; import { GeneratingContext } from '../context'; -function HamburgerIcon({ tintColor }: { tintColor?: string }) { +function HamburgerIcon({ tintColor }: { tintColor?: ColorValue }) { const navigation = useNavigation(); + const fill = typeof tintColor === 'string' ? tintColor : '#000'; return ( navigation.dispatch(DrawerActions.toggleDrawer())} style={styles.hamburger} > - - - + + + ); From 17d49a22ac62dfd6979744d60ae065704ba26784 Mon Sep 17 00:00:00 2001 From: chmjkb Date: Wed, 3 Jun 2026 13:32:49 +0200 Subject: [PATCH 04/15] fix: add post-update fixes to example apps --- apps/computer-vision/ScreenWrapper.tsx | 2 +- .../app/vision_camera/index.tsx | 2 +- apps/computer-vision/babel.config.js | 2 +- apps/computer-vision/package.json | 6 +- apps/llm/app/llm/index.tsx | 2 +- apps/llm/app/llm_structured_output/index.tsx | 2 +- apps/llm/app/llm_tool_calling/index.tsx | 2 +- apps/llm/app/multimodal_llm/index.tsx | 2 +- apps/llm/app/privacy_filter/index.tsx | 2 +- apps/llm/package.json | 2 +- .../src/ResourceFetcher.ts | 58 +++++----- .../src/ResourceFetcherUtils.ts | 25 ++--- .../src/constants/directories.ts | 4 +- .../expo-resource-fetcher/src/handlers.ts | 105 +++++++----------- yarn.lock | 46 +++++++- 15 files changed, 136 insertions(+), 126 deletions(-) diff --git a/apps/computer-vision/ScreenWrapper.tsx b/apps/computer-vision/ScreenWrapper.tsx index 0d1a9dae5f..31f70e4442 100644 --- a/apps/computer-vision/ScreenWrapper.tsx +++ b/apps/computer-vision/ScreenWrapper.tsx @@ -1,4 +1,4 @@ -import { useIsFocused } from '@react-navigation/native'; +import { useIsFocused } from 'expo-router'; import { PropsWithChildren } from 'react'; export default function ScreenWrapper({ children }: PropsWithChildren) { diff --git a/apps/computer-vision/app/vision_camera/index.tsx b/apps/computer-vision/app/vision_camera/index.tsx index 125efa5206..65febb5ac8 100644 --- a/apps/computer-vision/app/vision_camera/index.tsx +++ b/apps/computer-vision/app/vision_camera/index.tsx @@ -8,7 +8,7 @@ import { View, } from 'react-native'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; -import { useIsFocused } from '@react-navigation/native'; +import { useIsFocused } from 'expo-router'; import { Camera, useCameraDevices, diff --git a/apps/computer-vision/babel.config.js b/apps/computer-vision/babel.config.js index d872de3f55..6b2006979c 100644 --- a/apps/computer-vision/babel.config.js +++ b/apps/computer-vision/babel.config.js @@ -2,6 +2,6 @@ module.exports = function (api) { api.cache(true); return { presets: ['babel-preset-expo'], - plugins: ['react-native-reanimated/plugin'], + plugins: ['react-native-worklets/plugin'], }; }; diff --git a/apps/computer-vision/package.json b/apps/computer-vision/package.json index b6350369d1..a01120e940 100644 --- a/apps/computer-vision/package.json +++ b/apps/computer-vision/package.json @@ -25,7 +25,7 @@ "expo-router": "~56.2.8", "expo-status-bar": "~56.0.4", "metro-config": "^0.84.0", - "react": "19.2.5", + "react": "19.2.3", "react-native": "0.85.3", "react-native-device-info": "^15.0.2", "react-native-executorch": "workspace:*", @@ -35,14 +35,14 @@ "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-reanimated": "4.3.1", "react-native-safe-area-context": "~5.7.0", "react-native-screens": "~4.25.2", "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", - "react-native-worklets": "0.8.1" + "react-native-worklets": "0.8.3" }, "devDependencies": { "@babel/core": "^7.29.0", diff --git a/apps/llm/app/llm/index.tsx b/apps/llm/app/llm/index.tsx index ed7d4a99c1..8bc0afb623 100644 --- a/apps/llm/app/llm/index.tsx +++ b/apps/llm/app/llm/index.tsx @@ -17,7 +17,7 @@ import { LLM_MODELS, LLMModelSources } from '../../components/llmModels'; import PauseIcon from '../../assets/icons/pause_icon.svg'; import ColorPalette from '../../colors'; import Messages from '../../components/Messages'; -import { useIsFocused } from '@react-navigation/native'; +import { useIsFocused } from 'expo-router'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { GeneratingContext } from '../../context'; import Spinner from '../../components/Spinner'; diff --git a/apps/llm/app/llm_structured_output/index.tsx b/apps/llm/app/llm_structured_output/index.tsx index 8150da4d6c..fc1474fa9c 100644 --- a/apps/llm/app/llm_structured_output/index.tsx +++ b/apps/llm/app/llm_structured_output/index.tsx @@ -34,7 +34,7 @@ import { LLM_MODELS, LLMModelSources } from '../../components/llmModels'; import PauseIcon from '../../assets/icons/pause_icon.svg'; import ColorPalette from '../../colors'; import Messages from '../../components/Messages'; -import { useIsFocused } from '@react-navigation/native'; +import { useIsFocused } from 'expo-router'; import { GeneratingContext } from '../../context'; import { Schema } from 'jsonschema'; import * as z from 'zod/v4'; diff --git a/apps/llm/app/llm_tool_calling/index.tsx b/apps/llm/app/llm_tool_calling/index.tsx index b6956a5535..7ca42d2adc 100644 --- a/apps/llm/app/llm_tool_calling/index.tsx +++ b/apps/llm/app/llm_tool_calling/index.tsx @@ -27,7 +27,7 @@ import * as Brightness from 'expo-brightness'; import * as Calendar from 'expo-calendar'; import { PermissionStatus } from 'expo'; import { executeTool, TOOL_DEFINITIONS_PHONE } from '../../utils/tools'; -import { useIsFocused } from '@react-navigation/native'; +import { useIsFocused } from 'expo-router'; import { GeneratingContext } from '../../context'; import SuggestedPrompts from '../../components/SuggestedPrompts'; diff --git a/apps/llm/app/multimodal_llm/index.tsx b/apps/llm/app/multimodal_llm/index.tsx index 0de5004849..79ac4fbade 100644 --- a/apps/llm/app/multimodal_llm/index.tsx +++ b/apps/llm/app/multimodal_llm/index.tsx @@ -12,7 +12,7 @@ import { View, } from 'react-native'; import { launchImageLibrary } from 'react-native-image-picker'; -import { useIsFocused } from '@react-navigation/native'; +import { useIsFocused } from 'expo-router'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { models, useLLM } from 'react-native-executorch'; import SendIcon from '../../assets/icons/send_icon.svg'; diff --git a/apps/llm/app/privacy_filter/index.tsx b/apps/llm/app/privacy_filter/index.tsx index 6f3e132bc1..05870921a1 100644 --- a/apps/llm/app/privacy_filter/index.tsx +++ b/apps/llm/app/privacy_filter/index.tsx @@ -7,7 +7,7 @@ import { TouchableOpacity, View, } from 'react-native'; -import { useIsFocused } from '@react-navigation/native'; +import { useIsFocused } from 'expo-router'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { models, diff --git a/apps/llm/package.json b/apps/llm/package.json index b61c3daa75..daca936e36 100644 --- a/apps/llm/package.json +++ b/apps/llm/package.json @@ -26,7 +26,7 @@ "expo-router": "~56.2.8", "expo-status-bar": "~56.0.4", "metro-config": "^0.84.0", - "react": "19.2.5", + "react": "19.2.3", "react-native": "0.85.3", "react-native-audio-api": "0.12.2", "react-native-device-info": "^15.0.2", diff --git a/packages/expo-resource-fetcher/src/ResourceFetcher.ts b/packages/expo-resource-fetcher/src/ResourceFetcher.ts index 8b128dee58..e7882a44a1 100644 --- a/packages/expo-resource-fetcher/src/ResourceFetcher.ts +++ b/packages/expo-resource-fetcher/src/ResourceFetcher.ts @@ -23,12 +23,7 @@ * - The {@link fetch} method accepts a progress callback (0-1) and returns file paths or throws if interrupted */ -import { - deleteAsync, - readDirectoryAsync, - readAsStringAsync, - moveAsync, -} from 'expo-file-system/legacy'; +import { Directory, File } from 'expo-file-system'; import { RNEDirectory } from './constants/directories'; import { ResourceSource, @@ -36,11 +31,7 @@ import { RnExecutorchError, BaseResourceFetcherClass, } from 'react-native-executorch'; -import { - ResourceFetcherUtils, - HTTP_CODE, - DownloadStatus, -} from './ResourceFetcherUtils'; +import { ResourceFetcherUtils, DownloadStatus } from './ResourceFetcherUtils'; import { type ActiveDownload, handleObject, @@ -88,7 +79,7 @@ class ExpoResourceFetcherClass extends BaseResourceFetcherClass ); } downloadHandle.status = DownloadStatus.PAUSED; - await downloadHandle.downloadResumable.pauseAsync(); + await downloadHandle.downloadTask.pauseAsync(); } protected async resume(source: ResourceSource): Promise { @@ -100,30 +91,32 @@ class ExpoResourceFetcherClass extends BaseResourceFetcherClass ); } downloadHandle.status = DownloadStatus.ONGOING; - const result = await downloadHandle.downloadResumable.resumeAsync(); - const current = this.downloads.get(source); - // Paused again or canceled during resume — resolve/reject handled elsewhere. - if (!current || current.status === DownloadStatus.PAUSED) return; - if ( - !result || - (result.status !== HTTP_CODE.OK && - result.status !== HTTP_CODE.PARTIAL_CONTENT) - ) { + let downloadedFile; + try { + downloadedFile = await downloadHandle.downloadTask.resumeAsync(); + } catch (error) { + const current = this.downloads.get(source); + // Paused again or canceled during resume — resolve/reject handled elsewhere. + if (!current || current.status === DownloadStatus.PAUSED) return; this.downloads.delete(source); downloadHandle.reject( new RnExecutorchError( RnExecutorchErrorCode.ResourceFetcherDownloadFailed, - `Failed to resume download from '${downloadHandle.uri}', status: ${result?.status}` + `Failed to resume download from '${downloadHandle.uri}'`, + error ) ); return; } - await moveAsync({ - from: downloadHandle.cacheFileUri, - to: downloadHandle.fileUri, - }); + const current = this.downloads.get(source); + if (!current || current.status === DownloadStatus.PAUSED) return; + + // null means the task was paused again before completion — pause() handles it. + if (!downloadedFile) return; + + await downloadedFile.move(new File(downloadHandle.fileUri)); this.downloads.delete(source); downloadHandle.resolve( ResourceFetcherUtils.removeFilePrefix(downloadHandle.fileUri) @@ -132,7 +125,7 @@ class ExpoResourceFetcherClass extends BaseResourceFetcherClass protected async cancel(source: ResourceSource): Promise { const downloadHandle = this.downloads.get(source)!; - await downloadHandle.downloadResumable.cancelAsync(); + downloadHandle.downloadTask.cancel(); this.downloads.delete(source); downloadHandle.reject( new RnExecutorchError( @@ -149,7 +142,7 @@ class ExpoResourceFetcherClass extends BaseResourceFetcherClass */ async readAsString(path: string): Promise { const uri = path.startsWith('file://') ? path : `file://${path}`; - return readAsStringAsync(uri); + return new File(uri).text(); } /** @@ -157,8 +150,7 @@ class ExpoResourceFetcherClass extends BaseResourceFetcherClass * @returns A promise that resolves to an array of URIs for all the downloaded files. */ async listDownloadedFiles(): Promise { - const files = await readDirectoryAsync(RNEDirectory); - return files.map((file: string) => `${RNEDirectory}${file}`); + return new Directory(RNEDirectory).list().map((entry) => entry.uri); } /** @@ -171,9 +163,9 @@ class ExpoResourceFetcherClass extends BaseResourceFetcherClass const filename = ResourceFetcherUtils.getFilenameFromUri( source as string ); - const fileUri = `${RNEDirectory}${filename}`; - if (await ResourceFetcherUtils.checkFileExists(fileUri)) { - await deleteAsync(fileUri); + const file = new File(`${RNEDirectory}${filename}`); + if (file.exists) { + file.delete(); } } } diff --git a/packages/expo-resource-fetcher/src/ResourceFetcherUtils.ts b/packages/expo-resource-fetcher/src/ResourceFetcherUtils.ts index af04736337..221ba95e03 100644 --- a/packages/expo-resource-fetcher/src/ResourceFetcherUtils.ts +++ b/packages/expo-resource-fetcher/src/ResourceFetcherUtils.ts @@ -14,7 +14,7 @@ import { Asset } from 'expo-asset'; /** * @internal */ -import { getInfoAsync, makeDirectoryAsync } from 'expo-file-system/legacy'; +import { Directory, File } from 'expo-file-system'; export { HTTP_CODE, DownloadStatus, SourceType }; @@ -92,21 +92,20 @@ export namespace ResourceFetcherUtils { } export async function createDirectoryIfNoExists() { - if (!(await checkFileExists(RNEDirectory))) { - try { - await makeDirectoryAsync(RNEDirectory, { intermediates: true }); - } catch (error) { - throw new RnExecutorchError( - RnExecutorchErrorCode.FileWriteFailed, - `Failed to create directory at ${RNEDirectory}`, - error - ); - } + const directory = new Directory(RNEDirectory); + if (directory.exists) return; + try { + directory.create({ intermediates: true, idempotent: true }); + } catch (error) { + throw new RnExecutorchError( + RnExecutorchErrorCode.FileWriteFailed, + `Failed to create directory at ${RNEDirectory}`, + error + ); } } export async function checkFileExists(fileUri: string) { - const fileInfo = await getInfoAsync(fileUri); - return fileInfo.exists; + return new File(fileUri).exists; } } diff --git a/packages/expo-resource-fetcher/src/constants/directories.ts b/packages/expo-resource-fetcher/src/constants/directories.ts index 6d70d56cb9..a0db917564 100644 --- a/packages/expo-resource-fetcher/src/constants/directories.ts +++ b/packages/expo-resource-fetcher/src/constants/directories.ts @@ -1,3 +1,3 @@ -import { documentDirectory } from 'expo-file-system/legacy'; +import { Paths } from 'expo-file-system'; -export const RNEDirectory = `${documentDirectory}react-native-executorch/`; +export const RNEDirectory = `${Paths.document.uri}react-native-executorch/`; diff --git a/packages/expo-resource-fetcher/src/handlers.ts b/packages/expo-resource-fetcher/src/handlers.ts index 8828691216..134ec3bd69 100644 --- a/packages/expo-resource-fetcher/src/handlers.ts +++ b/packages/expo-resource-fetcher/src/handlers.ts @@ -1,13 +1,4 @@ -import { - cacheDirectory, - copyAsync, - createDownloadResumable, - moveAsync, - FileSystemSessionType, - writeAsStringAsync, - EncodingType, - type DownloadResumable, -} from 'expo-file-system/legacy'; +import { File, Paths, type DownloadTask } from 'expo-file-system'; import { Asset } from 'expo-asset'; import { Platform } from 'react-native'; import { @@ -16,14 +7,10 @@ import { RnExecutorchError, } from 'react-native-executorch'; import { RNEDirectory } from './constants/directories'; -import { - ResourceFetcherUtils, - HTTP_CODE, - DownloadStatus, -} from './ResourceFetcherUtils'; +import { ResourceFetcherUtils, DownloadStatus } from './ResourceFetcherUtils'; export interface ActiveDownload { - downloadResumable: DownloadResumable; + downloadTask: DownloadTask; status: DownloadStatus; uri: string; fileUri: string; @@ -40,12 +27,14 @@ export async function handleObject(source: object): Promise { const digest = ResourceFetcherUtils.hashObject(jsonString); const path = `${RNEDirectory}${digest}.json`; - if (await ResourceFetcherUtils.checkFileExists(path)) { + const file = new File(path); + if (file.exists) { return ResourceFetcherUtils.removeFilePrefix(path); } await ResourceFetcherUtils.createDirectoryIfNoExists(); - await writeAsStringAsync(path, jsonString, { encoding: EncodingType.UTF8 }); + file.create(); + file.write(jsonString, { encoding: 'utf8' }); return ResourceFetcherUtils.removeFilePrefix(path); } @@ -75,12 +64,12 @@ export async function handleAsset( const fileUriWithType = Platform.OS === 'android' ? `${fileUri}.${asset.type}` : fileUri; - if (await ResourceFetcherUtils.checkFileExists(fileUri)) { + if (new File(fileUri).exists) { return ResourceFetcherUtils.removeFilePrefix(fileUri); } await ResourceFetcherUtils.createDirectoryIfNoExists(); - await copyAsync({ from: uri, to: fileUriWithType }); + await new File(uri).copy(new File(fileUriWithType)); return ResourceFetcherUtils.removeFilePrefix(fileUriWithType); } @@ -103,9 +92,9 @@ export async function handleRemote( const filename = ResourceFetcherUtils.getFilenameFromUri(uri); const fileUri = `${RNEDirectory}${filename}`; - const cacheFileUri = `${cacheDirectory}${filename}`; + const cacheFileUri = `${Paths.cache.uri}${filename}`; - if (await ResourceFetcherUtils.checkFileExists(fileUri)) { + if (new File(fileUri).exists) { return { path: ResourceFetcherUtils.removeFilePrefix(fileUri), wasDownloaded: false, @@ -124,27 +113,20 @@ export async function handleRemote( reject = rej; }); - const downloadResumable = createDownloadResumable( - uri, - cacheFileUri, - { sessionType: FileSystemSessionType.BACKGROUND }, - ({ - totalBytesWritten, - totalBytesExpectedToWrite, - }: { - totalBytesWritten: number; - totalBytesExpectedToWrite: number; - }) => { - if (totalBytesExpectedToWrite === -1) { - progressCallback(0); - } else { - progressCallback(totalBytesWritten / totalBytesExpectedToWrite); - } + const cacheFile = new File(cacheFileUri); + const downloadTask = File.createDownloadTask(uri, cacheFile, { + sessionType: 'background', + }); + downloadTask.addListener('progress', ({ bytesWritten, totalBytes }) => { + if (totalBytes === -1) { + progressCallback(0); + } else { + progressCallback(bytesWritten / totalBytes); } - ); + }); downloads.set(source, { - downloadResumable, + downloadTask, status: DownloadStatus.ONGOING, uri, fileUri, @@ -153,32 +135,22 @@ export async function handleRemote( reject, }); - downloadResumable + downloadTask .downloadAsync() - .then(async (result) => { - const downloadHandle = downloads.get(source); - // If paused or canceled during the download, resolve/reject will be called - // externally by resume() or cancel() — do nothing here. - if (!downloadHandle || downloadHandle.status === DownloadStatus.PAUSED) - return; - - if ( - !result || - (result.status !== HTTP_CODE.OK && - result.status !== HTTP_CODE.PARTIAL_CONTENT) - ) { - downloads.delete(source); - reject( - new RnExecutorchError( - RnExecutorchErrorCode.ResourceFetcherDownloadFailed, - `Failed to fetch resource from '${uri}', status: ${result?.status}` - ) + .then(async (downloadedFile) => { + // null means the task was paused before completion — resume() will continue it. + // missing handle means the task was canceled — cancel() already rejected. + if (!downloadedFile) { + throw new RnExecutorchError( + RnExecutorchErrorCode.DownloadInterrupted, + 'Download was paused before completion.' ); - return; } + const downloadHandle = downloads.get(source); + if (!downloadHandle) return; try { - await moveAsync({ from: cacheFileUri, to: fileUri }); + await downloadedFile.move(new File(fileUri)); } catch (error) { downloads.delete(source); reject(error); @@ -189,8 +161,17 @@ export async function handleRemote( resolve(ResourceFetcherUtils.removeFilePrefix(fileUri)); }) .catch((error) => { + // If paused, the rejection is expected — cancel/resume will resolve later. + const downloadHandle = downloads.get(source); + if (downloadHandle?.status === DownloadStatus.PAUSED) return; downloads.delete(source); - reject(error); + reject( + new RnExecutorchError( + RnExecutorchErrorCode.ResourceFetcherDownloadFailed, + `Failed to fetch resource from '${uri}'`, + error + ) + ); }); return promise.then((path) => ({ path, wasDownloaded: true })); diff --git a/yarn.lock b/yarn.lock index 24d44f9d96..b05295981d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7592,7 +7592,7 @@ __metadata: expo-router: "npm:~56.2.8" expo-status-bar: "npm:~56.0.4" metro-config: "npm:^0.84.0" - react: "npm:19.2.5" + react: "npm:19.2.3" react-native: "npm:0.85.3" react-native-device-info: "npm:^15.0.2" react-native-executorch: "workspace:*" @@ -7602,14 +7602,14 @@ __metadata: 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-reanimated: "npm:4.3.1" react-native-safe-area-context: "npm:~5.7.0" react-native-screens: "npm:~4.25.2" 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" - react-native-worklets: "npm:0.8.1" + react-native-worklets: "npm:0.8.3" react-refresh: "npm:^0.18.0" languageName: unknown linkType: soft @@ -12167,7 +12167,7 @@ __metadata: expo-router: "npm:~56.2.8" expo-status-bar: "npm:~56.0.4" metro-config: "npm:^0.84.0" - react: "npm:19.2.5" + react: "npm:19.2.3" react-native: "npm:0.85.3" react-native-audio-api: "npm:0.12.2" react-native-device-info: "npm:^15.0.2" @@ -14762,6 +14762,20 @@ __metadata: languageName: node linkType: hard +"react-native-reanimated@npm:4.3.1": + version: 4.3.1 + resolution: "react-native-reanimated@npm:4.3.1" + dependencies: + react-native-is-edge-to-edge: "npm:^1.3.1" + semver: "npm:^7.7.3" + peerDependencies: + react: "*" + react-native: 0.81 - 0.85 + react-native-worklets: 0.8.x + checksum: 10/f47d50cc35def5038e68d9013bf976849207237e238ab597e0b8c07d003b0a54d73692185f1a49dc33ab3d7a9d345660a6e70796f28545a7340649806bf17b5c + languageName: node + linkType: hard + "react-native-reanimated@npm:~4.3.0": version: 4.3.0 resolution: "react-native-reanimated@npm:4.3.0" @@ -14905,6 +14919,30 @@ __metadata: languageName: node linkType: hard +"react-native-worklets@npm:0.8.3": + version: 0.8.3 + resolution: "react-native-worklets@npm:0.8.3" + 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-native/metro-config": "*" + react: "*" + react-native: 0.81 - 0.85 + checksum: 10/7b200ec7f0a909e3fc4294721d5dc78e10beb5cb6280a3398dbd7df47db77f8130e605c475768659110b0a7355f4361ea9e85cac40176157d622b4b2060e447a + languageName: node + linkType: hard + "react-native@npm:0.81.5": version: 0.81.5 resolution: "react-native@npm:0.81.5" From 4a2504ab24ce22d9f80b8f0e3efeb4af3a7b7ccc Mon Sep 17 00:00:00 2001 From: chmjkb Date: Mon, 8 Jun 2026 13:38:05 +0200 Subject: [PATCH 05/15] chore(deps): bump expo patch version --- apps/speech/package.json | 10 +- yarn.lock | 303 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 303 insertions(+), 10 deletions(-) diff --git a/apps/speech/package.json b/apps/speech/package.json index fe0a93bb58..9a06a3e3e4 100644 --- a/apps/speech/package.json +++ b/apps/speech/package.json @@ -14,22 +14,22 @@ "@expo/vector-icons": "^15.0.2", "@react-native/metro-config": "^0.85.3", "buffer": "^6.0.3", - "expo": "^56.0.8", - "expo-build-properties": "~56.0.16", + "expo": "~56.0.9", + "expo-build-properties": "~56.0.17", "expo-font": "~56.0.5", "expo-status-bar": "~56.0.4", "metro-config": "^0.84.0", - "react": "19.2.5", + "react": "19.2.3", "react-native": "0.85.3", "react-native-audio-api": "0.12.2", "react-native-device-info": "^15.0.2", "react-native-executorch": "workspace:*", "react-native-executorch-expo-resource-fetcher": "workspace:*", - "react-native-reanimated": "~4.3.0", + "react-native-reanimated": "4.3.1", "react-native-safe-area-context": "~5.7.0", "react-native-svg": "15.15.4", "react-native-svg-transformer": "^1.5.3", - "react-native-worklets": "0.8.1" + "react-native-worklets": "0.8.3" }, "devDependencies": { "@babel/core": "^7.29.0", diff --git a/yarn.lock b/yarn.lock index b05295981d..0c9dcda739 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2567,6 +2567,82 @@ __metadata: languageName: node linkType: hard +"@expo/cli@npm:^56.1.14": + version: 56.1.14 + resolution: "@expo/cli@npm:56.1.14" + dependencies: + "@expo/code-signing-certificates": "npm:^0.0.6" + "@expo/config": "npm:~56.0.9" + "@expo/config-plugins": "npm:~56.0.8" + "@expo/devcert": "npm:^1.2.1" + "@expo/env": "npm:~2.3.0" + "@expo/image-utils": "npm:^0.10.1" + "@expo/inline-modules": "npm:^0.0.11" + "@expo/json-file": "npm:^10.2.0" + "@expo/log-box": "npm:^56.0.12" + "@expo/metro": "npm:~56.0.0" + "@expo/metro-config": "npm:~56.0.13" + "@expo/metro-file-map": "npm:^56.0.3" + "@expo/osascript": "npm:^2.6.0" + "@expo/package-manager": "npm:^1.12.1" + "@expo/plist": "npm:^0.7.0" + "@expo/prebuild-config": "npm:^56.0.15" + "@expo/require-utils": "npm:^56.1.3" + "@expo/router-server": "npm:^56.0.13" + "@expo/schema-utils": "npm:^56.0.0" + "@expo/spawn-async": "npm:^1.8.0" + "@expo/ws-tunnel": "npm:^1.0.1" + "@expo/xcpretty": "npm:^4.4.4" + "@react-native/dev-middleware": "npm:0.85.3" + accepts: "npm:^1.3.8" + arg: "npm:^5.0.2" + bplist-creator: "npm:0.1.0" + bplist-parser: "npm:^0.3.1" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.3.0" + compression: "npm:^1.7.4" + connect: "npm:^3.7.0" + debug: "npm:^4.3.4" + dnssd-advertise: "npm:^1.1.4" + expo-server: "npm:^56.0.5" + fetch-nodeshim: "npm:^0.4.10" + getenv: "npm:^2.0.0" + glob: "npm:^13.0.0" + lan-network: "npm:^0.2.1" + multitars: "npm:^1.0.0" + node-forge: "npm:^1.3.3" + npm-package-arg: "npm:^11.0.0" + ora: "npm:^3.4.0" + picomatch: "npm:^4.0.4" + pretty-format: "npm:^29.7.0" + progress: "npm:^2.0.3" + prompts: "npm:^2.3.2" + resolve-from: "npm:^5.0.0" + semver: "npm:^7.6.0" + send: "npm:^0.19.0" + slugify: "npm:^1.3.4" + stacktrace-parser: "npm:^0.1.10" + structured-headers: "npm:^0.4.1" + terminal-link: "npm:^2.1.1" + 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: main.js + checksum: 10/874b77e9036d7383d52fe020762a6c845b264180c359e26203ddf38101d08e629a0a8a2da4240ed937a70b5267f21565ddbcdb0d4e141aa542f18e608c50539f + languageName: node + linkType: hard + "@expo/code-signing-certificates@npm:^0.0.6": version: 0.0.6 resolution: "@expo/code-signing-certificates@npm:0.0.6" @@ -2699,6 +2775,27 @@ __metadata: languageName: node linkType: hard +"@expo/fingerprint@npm:^0.19.4": + version: 0.19.4 + resolution: "@expo/fingerprint@npm:0.19.4" + dependencies: + "@expo/env": "npm:^2.3.0" + "@expo/spawn-async": "npm:^1.8.0" + arg: "npm:^5.0.2" + chalk: "npm:^4.1.2" + debug: "npm:^4.3.4" + getenv: "npm:^2.0.0" + glob: "npm:^13.0.0" + ignore: "npm:^5.3.1" + minimatch: "npm:^10.2.2" + resolve-from: "npm:^5.0.0" + semver: "npm:^7.6.0" + bin: + fingerprint: bin/cli.js + checksum: 10/fa56a2fcb87267def6911a4456a3afd2c01e3f905f941f9ddb16094252f6b6a016771e7b29ea0b56f5d1cf6aefcae8c80916f36518baafafacd4ff9baf4642a8 + languageName: node + linkType: hard + "@expo/image-utils@npm:^0.10.1": version: 0.10.1 resolution: "@expo/image-utils@npm:0.10.1" @@ -2723,6 +2820,15 @@ __metadata: languageName: node linkType: hard +"@expo/inline-modules@npm:^0.0.11": + version: 0.0.11 + resolution: "@expo/inline-modules@npm:0.0.11" + dependencies: + "@expo/config-plugins": "npm:~56.0.8" + checksum: 10/bb352924ca987b3ba18452b64c4cbea908f0438fc99de7523ec2be9711009cc044fad523639bf51bc6bb9a95fbb576aafee52719f7f142b41979824811d71f10 + languageName: node + linkType: hard + "@expo/json-file@npm:^10.2.0, @expo/json-file@npm:~10.2.0": version: 10.2.0 resolution: "@expo/json-file@npm:10.2.0" @@ -2926,6 +3032,24 @@ __metadata: languageName: node linkType: hard +"@expo/prebuild-config@npm:^56.0.15": + version: 56.0.15 + resolution: "@expo/prebuild-config@npm:56.0.15" + dependencies: + "@expo/config": "npm:~56.0.9" + "@expo/config-plugins": "npm:~56.0.8" + "@expo/config-types": "npm:^56.0.5" + "@expo/image-utils": "npm:^0.10.1" + "@expo/json-file": "npm:^10.2.0" + "@react-native/normalize-colors": "npm:0.85.3" + debug: "npm:^4.3.1" + expo-modules-autolinking: "npm:~56.0.15" + resolve-from: "npm:^5.0.0" + semver: "npm:^7.6.0" + checksum: 10/1ffdcd92b0bb25579e6a44b50ab85d589c7f5ca1bca187f65b9de0228f1f048d802866b67757cced08e33b8f3cd1e974b67840ea80c0d1297ddc65c960354a8c + languageName: node + linkType: hard + "@expo/require-utils@npm:^56.1.3": version: 56.1.3 resolution: "@expo/require-utils@npm:56.1.3" @@ -2970,6 +3094,34 @@ __metadata: languageName: node linkType: hard +"@expo/router-server@npm:^56.0.13": + version: 56.0.13 + resolution: "@expo/router-server@npm:56.0.13" + dependencies: + debug: "npm:^4.3.4" + peerDependencies: + "@expo/metro-runtime": ^56.0.14 + expo: "*" + expo-constants: ^56.0.17 + expo-font: ^56.0.5 + expo-router: "*" + expo-server: ^56.0.5 + 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: 10/370caebba936bc23e8bcc4555516a8954ffbe06c09596970449069f301f363b8a475650a8efebebda29b7545adc2e7a68c01a401c3c4f75170e2c51773ad8177 + languageName: node + linkType: hard + "@expo/schema-utils@npm:^0.1.8": version: 0.1.8 resolution: "@expo/schema-utils@npm:0.1.8" @@ -9047,6 +9199,20 @@ __metadata: languageName: node linkType: hard +"expo-asset@npm:~56.0.16": + version: 56.0.16 + resolution: "expo-asset@npm:56.0.16" + dependencies: + "@expo/image-utils": "npm:^0.10.1" + expo-constants: "npm:~56.0.17" + peerDependencies: + expo: "*" + react: "*" + react-native: "*" + checksum: 10/f06bddde1788fa3b9a9f0d8143570e0bd94a6f52f439f127b1129f1836dd3b74b5b46d2df7b91e6fd38a0bb6be39538d17730f8df03156d247d472c5d5a6abfe + languageName: node + linkType: hard + "expo-brightness@npm:~56.0.5": version: 56.0.5 resolution: "expo-brightness@npm:56.0.5" @@ -9070,6 +9236,19 @@ __metadata: languageName: node linkType: hard +"expo-build-properties@npm:~56.0.17": + version: 56.0.17 + resolution: "expo-build-properties@npm:56.0.17" + dependencies: + "@expo/schema-utils": "npm:^56.0.0" + resolve-from: "npm:^5.0.0" + semver: "npm:^7.6.0" + peerDependencies: + expo: "*" + checksum: 10/6464e525bef833ac8b8db5f427b73ecc839450b15e758f51c228c5f746a2f40967fff16b4a0cbaf2051073b9b2169797c2f0c97fbcdb7a9df63e6326ed2597e4 + languageName: node + linkType: hard + "expo-calendar@npm:~56.0.8": version: 56.0.8 resolution: "expo-calendar@npm:56.0.8" @@ -9092,6 +9271,18 @@ __metadata: languageName: node linkType: hard +"expo-constants@npm:~56.0.17": + version: 56.0.17 + resolution: "expo-constants@npm:56.0.17" + dependencies: + "@expo/env": "npm:~2.3.0" + peerDependencies: + expo: "*" + react-native: "*" + checksum: 10/b1421125005e32ff07cd1fcc0a66aa570c996c805dd47d462baa0f9d1c1de77bf19ba6b2e5743747b1c071934fab321049a3d292b4cd8d9633848029ecbb2e14 + languageName: node + linkType: hard + "expo-document-picker@npm:~56.0.4": version: 56.0.4 resolution: "expo-document-picker@npm:56.0.4" @@ -9172,6 +9363,20 @@ __metadata: languageName: node linkType: hard +"expo-modules-autolinking@npm:~56.0.15": + version: 56.0.15 + resolution: "expo-modules-autolinking@npm:56.0.15" + dependencies: + "@expo/require-utils": "npm:^56.1.3" + "@expo/spawn-async": "npm:^1.8.0" + chalk: "npm:^4.1.0" + commander: "npm:^7.2.0" + bin: + expo-modules-autolinking: bin/expo-modules-autolinking.js + checksum: 10/789b10f2bb1700da265dc33961ee78941da6a0baee8e3ddf82d666546d273aba2c913c3eca106b565274ee2a26882e7c0bea26f2f8ffe506f145dafc55799fa5 + languageName: node + linkType: hard + "expo-modules-core@npm:~56.0.14": version: 56.0.14 resolution: "expo-modules-core@npm:56.0.14" @@ -9190,6 +9395,24 @@ __metadata: languageName: node linkType: hard +"expo-modules-core@npm:~56.0.15": + version: 56.0.15 + resolution: "expo-modules-core@npm:56.0.15" + dependencies: + "@expo/expo-modules-macros-plugin": "npm:~0.0.9" + expo-modules-jsi: "npm:~56.0.8" + 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/43c33619bef4ea2ea0467e6fb37b1c0fb4a9d18c8747f37cf2a8c017373b049a342b9a7c25b8262292bf07244da04609c96f2eb71048cab562d46c1c716582b3 + languageName: node + linkType: hard + "expo-modules-jsi@npm:~56.0.7": version: 56.0.7 resolution: "expo-modules-jsi@npm:56.0.7" @@ -9199,6 +9422,15 @@ __metadata: languageName: node linkType: hard +"expo-modules-jsi@npm:~56.0.8": + version: 56.0.8 + resolution: "expo-modules-jsi@npm:56.0.8" + peerDependencies: + react-native: "*" + checksum: 10/846f49adf69810afffa26e5340b74dc28984f239ed6ceb328bb0c109d3598449540e65945a297368884f50306c06a1d18e6cd30e5564ca0766bb3ad947cf37ad + languageName: node + linkType: hard + "expo-router@npm:~56.2.8": version: 56.2.8 resolution: "expo-router@npm:56.2.8" @@ -9340,6 +9572,13 @@ __metadata: languageName: node linkType: hard +"expo-server@npm:^56.0.5": + version: 56.0.5 + resolution: "expo-server@npm:56.0.5" + checksum: 10/0fa69600d65d09f100d513c431ce5152531d588db46fc56d18a9d029b0d758d061d9981afa394c0d30a01ae580050ad0c570f3a58f6a296d719dbf8812952fe1 + languageName: node + linkType: hard + "expo-status-bar@npm:~56.0.4": version: 56.0.4 resolution: "expo-status-bar@npm:56.0.4" @@ -9420,6 +9659,60 @@ __metadata: languageName: node linkType: hard +"expo@npm:~56.0.9": + version: 56.0.9 + resolution: "expo@npm:56.0.9" + dependencies: + "@babel/runtime": "npm:^7.20.0" + "@expo/cli": "npm:^56.1.14" + "@expo/config": "npm:~56.0.9" + "@expo/config-plugins": "npm:~56.0.8" + "@expo/devtools": "npm:~56.0.2" + "@expo/dom-webview": "npm:~56.0.5" + "@expo/fingerprint": "npm:^0.19.4" + "@expo/local-build-cache-provider": "npm:^56.0.8" + "@expo/log-box": "npm:^56.0.12" + "@expo/metro": "npm:~56.0.0" + "@expo/metro-config": "npm:~56.0.13" + "@ungap/structured-clone": "npm:^1.3.0" + babel-preset-expo: "npm:~56.0.14" + expo-asset: "npm:~56.0.16" + expo-constants: "npm:~56.0.17" + expo-file-system: "npm:~56.0.7" + expo-font: "npm:~56.0.5" + expo-keep-awake: "npm:~56.0.3" + expo-modules-autolinking: "npm:~56.0.15" + expo-modules-core: "npm:~56.0.15" + pretty-format: "npm:^29.7.0" + react-refresh: "npm:^0.14.2" + whatwg-url-minimum: "npm:^0.1.2" + peerDependencies: + "@expo/dom-webview": "*" + "@expo/metro-runtime": "*" + react: "*" + react-dom: "*" + react-native: "*" + react-native-web: "*" + react-native-webview: "*" + peerDependenciesMeta: + "@expo/dom-webview": + optional: true + "@expo/metro-runtime": + optional: true + react-dom: + optional: true + react-native-web: + optional: true + react-native-webview: + optional: true + bin: + expo: bin/cli + expo-modules-autolinking: bin/autolinking + fingerprint: bin/fingerprint + checksum: 10/fe25e8905e16040eef97177fc3f6993a6eb56df2f563efaeed8ac86cf1d2038b44df83a6364fe5c9bc6066e7aef1bdfa40da30fcc5692fd169f3b86eccc0a4f4 + languageName: node + linkType: hard + "exponential-backoff@npm:^3.1.1": version: 3.1.3 resolution: "exponential-backoff@npm:3.1.3" @@ -15909,22 +16202,22 @@ __metadata: "@types/react-refresh": "npm:^0" babel-preset-expo: "npm:~56.0.14" buffer: "npm:^6.0.3" - expo: "npm:^56.0.8" - expo-build-properties: "npm:~56.0.16" + expo: "npm:~56.0.9" + expo-build-properties: "npm:~56.0.17" expo-font: "npm:~56.0.5" expo-status-bar: "npm:~56.0.4" metro-config: "npm:^0.84.0" - react: "npm:19.2.5" + react: "npm:19.2.3" react-native: "npm:0.85.3" react-native-audio-api: "npm:0.12.2" react-native-device-info: "npm:^15.0.2" react-native-executorch: "workspace:*" react-native-executorch-expo-resource-fetcher: "workspace:*" - react-native-reanimated: "npm:~4.3.0" + react-native-reanimated: "npm:4.3.1" react-native-safe-area-context: "npm:~5.7.0" react-native-svg: "npm:15.15.4" react-native-svg-transformer: "npm:^1.5.3" - react-native-worklets: "npm:0.8.1" + react-native-worklets: "npm:0.8.3" react-refresh: "npm:^0.18.0" languageName: unknown linkType: soft From bc34c24948796383a4c142f1e2fe814a81ca6eb8 Mon Sep 17 00:00:00 2001 From: chmjkb Date: Mon, 8 Jun 2026 14:34:07 +0200 Subject: [PATCH 06/15] chore(deps): fix navigation issues & text-embeddings demo app problems --- .../app/clip-embeddings/index.tsx | 2 +- .../app/text-embeddings/index.tsx | 2 +- apps/text-embeddings/package.json | 14 +- yarn.lock | 150 ++++++++++++++++-- 4 files changed, 145 insertions(+), 23 deletions(-) diff --git a/apps/text-embeddings/app/clip-embeddings/index.tsx b/apps/text-embeddings/app/clip-embeddings/index.tsx index c8ef246caf..02a8a9c656 100644 --- a/apps/text-embeddings/app/clip-embeddings/index.tsx +++ b/apps/text-embeddings/app/clip-embeddings/index.tsx @@ -34,7 +34,7 @@ const IMAGE_MODELS: { label: string; value: ImageEmbeddingModel }[] = [ }, ]; import { launchImageLibrary } from 'react-native-image-picker'; -import { useIsFocused } from '@react-navigation/native'; +import { useIsFocused } from 'expo-router'; import { dotProduct } from '../../utils/math'; import { ModelPicker } from '../../components/ModelPicker'; diff --git a/apps/text-embeddings/app/text-embeddings/index.tsx b/apps/text-embeddings/app/text-embeddings/index.tsx index 24b17d7553..88e39ce063 100644 --- a/apps/text-embeddings/app/text-embeddings/index.tsx +++ b/apps/text-embeddings/app/text-embeddings/index.tsx @@ -44,7 +44,7 @@ const MODELS: { label: string; value: TextEmbeddingModel }[] = [ value: textEmbedding.paraphrase_multilingual_minilm_l12_v2(), }, ]; -import { useIsFocused } from '@react-navigation/native'; +import { useIsFocused } from 'expo-router'; import { dotProduct } from '../../utils/math'; import ErrorBanner from '../../components/ErrorBanner'; diff --git a/apps/text-embeddings/package.json b/apps/text-embeddings/package.json index b08236713a..f49ff45e3f 100644 --- a/apps/text-embeddings/package.json +++ b/apps/text-embeddings/package.json @@ -16,24 +16,24 @@ "@react-native/metro-config": "^0.85.3", "@react-navigation/drawer": "^7.9.4", "@react-navigation/native": "^7.2.2", - "expo": "^56.0.8", - "expo-build-properties": "~56.0.16", - "expo-constants": "~56.0.16", + "expo": "~56.0.9", + "expo-build-properties": "~56.0.17", + "expo-constants": "~56.0.17", "expo-font": "~56.0.5", "expo-linking": "~56.0.13", - "expo-router": "~56.2.8", + "expo-router": "~56.2.9", "expo-status-bar": "~56.0.4", - "react": "19.2.5", + "react": "19.2.3", "react-native": "0.85.3", "react-native-executorch": "workspace:*", "react-native-executorch-expo-resource-fetcher": "workspace:*", "react-native-gesture-handler": "~2.31.1", "react-native-image-picker": "^8.2.1", - "react-native-reanimated": "~4.3.0", + "react-native-reanimated": "4.3.1", "react-native-safe-area-context": "~5.7.0", "react-native-screens": "~4.25.2", "react-native-svg": "15.15.4", - "react-native-worklets": "0.8.1" + "react-native-worklets": "0.8.3" }, "devDependencies": { "@babel/core": "^7.29.0", diff --git a/yarn.lock b/yarn.lock index 0c9dcda739..e6ec0a9c45 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2938,6 +2938,28 @@ __metadata: languageName: node linkType: hard +"@expo/metro-runtime@npm:^56.0.14": + version: 56.0.14 + resolution: "@expo/metro-runtime@npm:56.0.14" + dependencies: + "@expo/log-box": "npm:^56.0.12" + 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/log-box": ^56.0.12 + expo: "*" + react: "*" + react-dom: "*" + react-native: "*" + peerDependenciesMeta: + react-dom: + optional: true + checksum: 10/28bd77689c3a9752883855fea57e047b67bc174ac7a43e43b8675f651c4e731bb6602d9c4e3a53c28cfb7387b52268897164990303a7950fe57cc64242be9a23 + languageName: node + linkType: hard + "@expo/metro-runtime@npm:^6.1.2": version: 6.1.2 resolution: "@expo/metro-runtime@npm:6.1.2" @@ -3186,6 +3208,33 @@ __metadata: languageName: node linkType: hard +"@expo/ui@npm:^56.0.16": + version: 56.0.16 + resolution: "@expo/ui@npm:56.0.16" + dependencies: + sf-symbols-typescript: "npm:^2.1.0" + vaul: "npm:^1.1.2" + peerDependencies: + "@babel/core": "*" + expo: "*" + react: "*" + react-dom: "*" + react-native: "*" + react-native-reanimated: "*" + react-native-worklets: "*" + peerDependenciesMeta: + "@babel/core": + optional: true + react-dom: + optional: true + react-native-reanimated: + optional: true + react-native-worklets: + optional: true + checksum: 10/802cd77ddf024e485060600d8bdbfb46a7bad0c68a0c2e69f11925fba797d3a07f8948c2e2e3e335e80710a2f63b354edeb1db7d24b5c0bcf7b7d94f17610384 + languageName: node + linkType: hard + "@expo/vector-icons@npm:^15.0.2": version: 15.1.1 resolution: "@expo/vector-icons@npm:15.1.1" @@ -9496,6 +9545,71 @@ __metadata: languageName: node linkType: hard +"expo-router@npm:~56.2.9": + version: 56.2.9 + resolution: "expo-router@npm:56.2.9" + dependencies: + "@expo/log-box": "npm:^56.0.12" + "@expo/metro-runtime": "npm:^56.0.14" + "@expo/schema-utils": "npm:^56.0.0" + "@expo/ui": "npm:^56.0.16" + "@radix-ui/react-slot": "npm:^1.2.0" + "@radix-ui/react-tabs": "npm:^1.1.12" + "@react-native-masked-view/masked-view": "npm:^0.3.2" + "@testing-library/jest-dom": "npm:^6.9.1" + "@testing-library/user-event": "npm:^14.6.1" + client-only: "npm:^0.0.1" + color: "npm:^4.2.3" + debug: "npm:^4.3.4" + escape-string-regexp: "npm:^4.0.0" + expo-glass-effect: "npm:^56.0.4" + expo-server: "npm:^56.0.5" + expo-symbols: "npm:^56.0.6" + 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-is: "npm:^19.1.0" + react-native-drawer-layout: "npm:^4.2.2" + react-native-screens: "npm:^4.25.2" + server-only: "npm:^0.0.1" + sf-symbols-typescript: "npm:^2.1.0" + shallowequal: "npm:^1.1.0" + vaul: "npm:^1.1.2" + peerDependencies: + "@expo/log-box": ^56.0.12 + "@expo/metro-runtime": ^56.0.14 + "@testing-library/react-native": ">= 13.2.0" + expo: "*" + expo-constants: ^56.0.17 + expo-linking: ^56.0.13 + react: "*" + react-dom: "*" + react-native: "*" + react-native-gesture-handler: "*" + react-native-reanimated: "*" + react-native-safe-area-context: ">= 5.4.0" + react-native-screens: ^4.25.2 + react-native-web: "*" + react-server-dom-webpack: ~19.0.4 || ~19.1.5 || ~19.2.4 + peerDependenciesMeta: + "@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/46d60ae1ba3a965546066f4b66cfd70e66802c37f0718a0b29c67351f4e1f1ce1ba347eb1125db2ecc7be7be79620a02417e61d680f7886c14d4d00b6c0bff7e + languageName: node + linkType: hard + "expo-router@npm:~6.0.17": version: 6.0.23 resolution: "expo-router@npm:6.0.23" @@ -9605,6 +9719,21 @@ __metadata: languageName: node linkType: hard +"expo-symbols@npm:^56.0.6": + version: 56.0.6 + resolution: "expo-symbols@npm:56.0.6" + 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/9c6c49c6019849274f57789ffc9c9e684a46459203734b0fef6271d617899325be53803a37de37083e5c46578c2b18f76acb302f717a83c3e4a4cc66cdcac0c8 + languageName: node + linkType: hard + "expo@npm:^56.0.8": version: 56.0.8 resolution: "expo@npm:56.0.8" @@ -15446,13 +15575,6 @@ __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" @@ -16648,24 +16770,24 @@ __metadata: "@types/react": "npm:~19.2.14" "@types/react-refresh": "npm:^0" babel-preset-expo: "npm:~56.0.14" - expo: "npm:^56.0.8" - expo-build-properties: "npm:~56.0.16" - expo-constants: "npm:~56.0.16" + expo: "npm:~56.0.9" + expo-build-properties: "npm:~56.0.17" + expo-constants: "npm:~56.0.17" expo-font: "npm:~56.0.5" expo-linking: "npm:~56.0.13" - expo-router: "npm:~56.2.8" + expo-router: "npm:~56.2.9" expo-status-bar: "npm:~56.0.4" - react: "npm:19.2.5" + react: "npm:19.2.3" react-native: "npm:0.85.3" react-native-executorch: "workspace:*" react-native-executorch-expo-resource-fetcher: "workspace:*" 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-reanimated: "npm:4.3.1" react-native-safe-area-context: "npm:~5.7.0" react-native-screens: "npm:~4.25.2" react-native-svg: "npm:15.15.4" - react-native-worklets: "npm:0.8.1" + react-native-worklets: "npm:0.8.3" react-refresh: "npm:^0.18.0" languageName: unknown linkType: soft From 78ba72825a7435fb3fe557d5c5701fe57988a3e3 Mon Sep 17 00:00:00 2001 From: chmjkb Date: Mon, 8 Jun 2026 15:25:02 +0200 Subject: [PATCH 07/15] chore(deps): npx expo install --fix in demo apps --- apps/computer-vision/package.json | 8 ++++---- packages/react-native-executorch/package.json | 6 +++--- yarn.lock | 14 +++++++------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/apps/computer-vision/package.json b/apps/computer-vision/package.json index a01120e940..be06efc27a 100644 --- a/apps/computer-vision/package.json +++ b/apps/computer-vision/package.json @@ -17,12 +17,12 @@ "@react-navigation/drawer": "^7.9.4", "@react-navigation/native": "^7.2.2", "@shopify/react-native-skia": "2.6.2", - "expo": "^56.0.8", - "expo-build-properties": "~56.0.16", - "expo-constants": "~56.0.16", + "expo": "~56.0.9", + "expo-build-properties": "~56.0.17", + "expo-constants": "~56.0.17", "expo-font": "~56.0.5", "expo-linking": "~56.0.13", - "expo-router": "~56.2.8", + "expo-router": "~56.2.9", "expo-status-bar": "~56.0.4", "metro-config": "^0.84.0", "react": "19.2.3", diff --git a/packages/react-native-executorch/package.json b/packages/react-native-executorch/package.json index 2aceb63d1f..f8291c8639 100644 --- a/packages/react-native-executorch/package.json +++ b/packages/react-native-executorch/package.json @@ -80,11 +80,11 @@ "devDependencies": { "@react-native-community/cli": "latest", "@types/jest": "^30.0.0", - "@types/react": "~19.1.10", + "@types/react": "~19.2.0", "jest": "^30.2.0", "metro-react-native-babel-preset": "^0.77.0", - "react": "19.1.0", - "react-native": "0.81.5", + "react": "19.2.3", + "react-native": "0.85.3", "react-native-builder-bob": "^0.40.12", "typescript": "~5.9.2" }, diff --git a/yarn.lock b/yarn.lock index e6ec0a9c45..c3721bb650 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7785,12 +7785,12 @@ __metadata: "@types/react": "npm:~19.2.0" "@types/react-refresh": "npm:^0" babel-preset-expo: "npm:~56.0.14" - expo: "npm:^56.0.8" - expo-build-properties: "npm:~56.0.16" - expo-constants: "npm:~56.0.16" + expo: "npm:~56.0.9" + expo-build-properties: "npm:~56.0.17" + expo-constants: "npm:~56.0.17" expo-font: "npm:~56.0.5" expo-linking: "npm:~56.0.13" - expo-router: "npm:~56.2.8" + expo-router: "npm:~56.2.9" expo-status-bar: "npm:~56.0.4" metro-config: "npm:^0.84.0" react: "npm:19.2.3" @@ -15058,13 +15058,13 @@ __metadata: "@huggingface/jinja": "npm:^0.5.0" "@react-native-community/cli": "npm:latest" "@types/jest": "npm:^30.0.0" - "@types/react": "npm:~19.1.10" + "@types/react": "npm:~19.2.0" jest: "npm:^30.2.0" jsonrepair: "npm:^3.12.0" jsonschema: "npm:^1.5.0" metro-react-native-babel-preset: "npm:^0.77.0" - react: "npm:19.1.0" - react-native: "npm:0.81.5" + react: "npm:19.2.3" + react-native: "npm:0.85.3" react-native-builder-bob: "npm:^0.40.12" typescript: "npm:~5.9.2" zod: "npm:^4.3.6" From f652d1a165984a0f779d191bf069fbb6c994997f Mon Sep 17 00:00:00 2001 From: chmjkb Date: Tue, 9 Jun 2026 08:37:28 +0200 Subject: [PATCH 08/15] chore: add legacy RF to /legacy --- packages/expo-resource-fetcher/package.json | 4 + .../src/legacy/ResourceFetcher.ts | 195 +++++++++++++++++ .../src/legacy/ResourceFetcherUtils.ts | 112 ++++++++++ .../src/legacy/constants/directories.ts | 3 + .../src/legacy/handlers.ts | 197 ++++++++++++++++++ .../expo-resource-fetcher/src/legacy/index.ts | 1 + 6 files changed, 512 insertions(+) create mode 100644 packages/expo-resource-fetcher/src/legacy/ResourceFetcher.ts create mode 100644 packages/expo-resource-fetcher/src/legacy/ResourceFetcherUtils.ts create mode 100644 packages/expo-resource-fetcher/src/legacy/constants/directories.ts create mode 100644 packages/expo-resource-fetcher/src/legacy/handlers.ts create mode 100644 packages/expo-resource-fetcher/src/legacy/index.ts diff --git a/packages/expo-resource-fetcher/package.json b/packages/expo-resource-fetcher/package.json index 3d03bccc27..3237e5a395 100644 --- a/packages/expo-resource-fetcher/package.json +++ b/packages/expo-resource-fetcher/package.json @@ -8,6 +8,10 @@ ".": { "import": "./lib/index.js", "types": "./lib/index.d.ts" + }, + "./legacy": { + "import": "./lib/legacy/index.js", + "types": "./lib/legacy/index.d.ts" } }, "files": [ diff --git a/packages/expo-resource-fetcher/src/legacy/ResourceFetcher.ts b/packages/expo-resource-fetcher/src/legacy/ResourceFetcher.ts new file mode 100644 index 0000000000..b6356b5f1d --- /dev/null +++ b/packages/expo-resource-fetcher/src/legacy/ResourceFetcher.ts @@ -0,0 +1,195 @@ +/** + * Resource Fetcher for Expo applications (legacy `expo-file-system` API). + * + * This module provides functions to download and manage files stored in the application's document directory + * inside the `react-native-executorch/` directory. These utilities help manage storage and clean up downloaded + * files when they are no longer needed. + * + * It is functionally equivalent to the default `ExpoResourceFetcher` export, but uses the legacy + * `expo-file-system/legacy` APIs under the hood. Prefer this build only if you cannot adopt the new + * file-system API yet. + * @category Utilities - General + * @remarks + * **Key Functionality:** + * - **Download Control**: Pause, resume, and cancel operations through: + * - {@link pauseFetching} - Pause ongoing downloads + * - {@link resumeFetching} - Resume paused downloads + * - {@link cancelFetching} - Cancel ongoing or paused downloads + * - **File Management**: + * - {@link getFilesTotalSize} - Get total size of resources + * - {@link listDownloadedFiles} - List all downloaded files + * - {@link listDownloadedModels} - List downloaded model files (.pte) + * - {@link deleteResources} - Delete downloaded resources + * + * **Important Notes:** + * - Pause/resume/cancel operations work only for remote resources + * - Most functions accept multiple `ResourceSource` arguments (string, number, or object) + * - The {@link fetch} method accepts a progress callback (0-1) and returns file paths or throws if interrupted + */ + +import { + deleteAsync, + readDirectoryAsync, + readAsStringAsync, + moveAsync, +} from 'expo-file-system/legacy'; +import { RNEDirectory } from './constants/directories'; +import { + ResourceSource, + RnExecutorchErrorCode, + RnExecutorchError, + BaseResourceFetcherClass, +} from 'react-native-executorch'; +import { + ResourceFetcherUtils, + HTTP_CODE, + DownloadStatus, +} from './ResourceFetcherUtils'; +import { + type ActiveDownload, + handleObject, + handleLocalFile, + handleAsset, + handleRemote, +} from './handlers'; + +class ExpoResourceFetcherClass extends BaseResourceFetcherClass { + protected downloads = new Map(); + + protected async getFilesSizes(sources: ResourceSource[]) { + return ResourceFetcherUtils.getFilesSizes(sources); + } + + protected async handleObject(source: object): Promise { + return handleObject(source); + } + + protected handleLocalFile(source: string): string { + return handleLocalFile(source); + } + + protected handleAsset( + source: number, + progressCallback: (progress: number) => void + ): Promise { + return handleAsset(source, progressCallback, this.downloads); + } + + protected handleRemote( + uri: string, + source: ResourceSource, + progressCallback: (progress: number) => void + ): Promise<{ path: string; wasDownloaded: boolean }> { + return handleRemote(uri, source, progressCallback, this.downloads); + } + + protected async pause(source: ResourceSource): Promise { + const downloadHandle = this.downloads.get(source)!; + if (downloadHandle.status === DownloadStatus.PAUSED) { + throw new RnExecutorchError( + RnExecutorchErrorCode.ResourceFetcherAlreadyPaused, + "The file download is currently paused. Can't pause the download of the same file twice." + ); + } + downloadHandle.status = DownloadStatus.PAUSED; + await downloadHandle.downloadResumable.pauseAsync(); + } + + protected async resume(source: ResourceSource): Promise { + const downloadHandle = this.downloads.get(source)!; + if (downloadHandle.status === DownloadStatus.ONGOING) { + throw new RnExecutorchError( + RnExecutorchErrorCode.ResourceFetcherAlreadyOngoing, + "The file download is currently ongoing. Can't resume the ongoing download." + ); + } + downloadHandle.status = DownloadStatus.ONGOING; + const result = await downloadHandle.downloadResumable.resumeAsync(); + const current = this.downloads.get(source); + // Paused again or canceled during resume — resolve/reject handled elsewhere. + if (!current || current.status === DownloadStatus.PAUSED) return; + + if ( + !result || + (result.status !== HTTP_CODE.OK && + result.status !== HTTP_CODE.PARTIAL_CONTENT) + ) { + this.downloads.delete(source); + downloadHandle.reject( + new RnExecutorchError( + RnExecutorchErrorCode.ResourceFetcherDownloadFailed, + `Failed to resume download from '${downloadHandle.uri}', status: ${result?.status}` + ) + ); + return; + } + + await moveAsync({ + from: downloadHandle.cacheFileUri, + to: downloadHandle.fileUri, + }); + this.downloads.delete(source); + downloadHandle.resolve( + ResourceFetcherUtils.removeFilePrefix(downloadHandle.fileUri) + ); + } + + protected async cancel(source: ResourceSource): Promise { + const downloadHandle = this.downloads.get(source)!; + await downloadHandle.downloadResumable.cancelAsync(); + this.downloads.delete(source); + downloadHandle.reject( + new RnExecutorchError( + RnExecutorchErrorCode.DownloadInterrupted, + 'Download was canceled.' + ) + ); + } + + /** + * Reads the contents of a file as a string. + * @param path - Absolute file path or file URI to read. + * @returns A promise that resolves to the file contents as a string. + */ + async readAsString(path: string): Promise { + const uri = path.startsWith('file://') ? path : `file://${path}`; + return readAsStringAsync(uri); + } + + /** + * Lists all the downloaded files used by React Native ExecuTorch. + * @returns A promise that resolves to an array of URIs for all the downloaded files. + */ + async listDownloadedFiles(): Promise { + const files = await readDirectoryAsync(RNEDirectory); + return files.map((file: string) => `${RNEDirectory}${file}`); + } + + /** + * Deletes downloaded resources from the local filesystem. + * @param sources - The resource identifiers used when calling `fetch`. + * @returns A promise that resolves once all specified resources have been removed. + */ + async deleteResources(...sources: ResourceSource[]): Promise { + for (const source of sources) { + const filename = ResourceFetcherUtils.getFilenameFromUri( + source as string + ); + const fileUri = `${RNEDirectory}${filename}`; + if (await ResourceFetcherUtils.checkFileExists(fileUri)) { + await deleteAsync(fileUri); + } + } + } + + /** + * Fetches the total size of remote files. Works only for remote files. + * @param sources - The resource identifiers (URLs). + * @returns A promise that resolves to the combined size of files in bytes. + */ + async getFilesTotalSize(...sources: ResourceSource[]): Promise { + return (await ResourceFetcherUtils.getFilesSizes(sources)).totalLength; + } +} + +export const ExpoResourceFetcher = new ExpoResourceFetcherClass(); diff --git a/packages/expo-resource-fetcher/src/legacy/ResourceFetcherUtils.ts b/packages/expo-resource-fetcher/src/legacy/ResourceFetcherUtils.ts new file mode 100644 index 0000000000..af04736337 --- /dev/null +++ b/packages/expo-resource-fetcher/src/legacy/ResourceFetcherUtils.ts @@ -0,0 +1,112 @@ +import { RNEDirectory } from './constants/directories'; +import { + ResourceSource, + Logger, + ResourceFetcherUtils as CoreUtils, + HTTP_CODE, + DownloadStatus, + SourceType, + RnExecutorchError, + RnExecutorchErrorCode, +} from 'react-native-executorch'; +import { Asset } from 'expo-asset'; + +/** + * @internal + */ +import { getInfoAsync, makeDirectoryAsync } from 'expo-file-system/legacy'; + +export { HTTP_CODE, DownloadStatus, SourceType }; + +/** + * Utility functions for fetching and managing resources. + * @category Utilities - General + */ +export namespace ResourceFetcherUtils { + export const removeFilePrefix = CoreUtils.removeFilePrefix; + export const hashObject = CoreUtils.hashObject; + export const calculateDownloadProgress = CoreUtils.calculateDownloadProgress; + export const triggerHuggingFaceDownloadCounter = + CoreUtils.triggerHuggingFaceDownloadCounter; + export const triggerDownloadEvent = CoreUtils.triggerDownloadEvent; + export const getFilenameFromUri = CoreUtils.getFilenameFromUri; + + export function getType(source: ResourceSource): SourceType { + if (typeof source === 'object') { + return SourceType.OBJECT; + } else if (typeof source === 'number') { + const uri = Asset.fromModule(source).uri; + if (uri.startsWith('http')) { + return SourceType.DEV_MODE_FILE; + } + return SourceType.RELEASE_MODE_FILE; + } + // typeof source == 'string' + if (source.startsWith('file://')) { + return SourceType.LOCAL_FILE; + } + return SourceType.REMOTE_FILE; + } + + export async function getFilesSizes(sources: ResourceSource[]) { + const results: Array<{ + source: ResourceSource; + type: SourceType; + length: number; + previousFilesTotalLength: number; + }> = []; + let totalLength = 0; + + for (const source of sources) { + const type = ResourceFetcherUtils.getType(source); + let length = 0; + + if (type === SourceType.REMOTE_FILE && typeof source === 'string') { + try { + const response = await fetch(source, { method: 'HEAD' }); + if (!response.ok) { + Logger.warn( + `Failed to fetch HEAD for ${source}: ${response.status}` + ); + continue; + } + + const contentLength = response.headers.get('content-length'); + if (!contentLength) { + Logger.warn(`No content-length header for ${source}`); + } + + length = contentLength ? parseInt(contentLength, 10) : 0; + } catch (error) { + Logger.warn(`Error fetching HEAD for ${source}:`, error); + continue; + } + } + + const previousFilesTotalLength = totalLength; + totalLength += length; + results.push({ source, type, length, previousFilesTotalLength }); + } + + return { results, totalLength }; + } + + export async function createDirectoryIfNoExists() { + if (!(await checkFileExists(RNEDirectory))) { + try { + await makeDirectoryAsync(RNEDirectory, { intermediates: true }); + } catch (error) { + throw new RnExecutorchError( + RnExecutorchErrorCode.FileWriteFailed, + `Failed to create directory at ${RNEDirectory}`, + error + ); + } + } + } + + export async function checkFileExists(fileUri: string) { + const fileInfo = await getInfoAsync(fileUri); + return fileInfo.exists; + } +} diff --git a/packages/expo-resource-fetcher/src/legacy/constants/directories.ts b/packages/expo-resource-fetcher/src/legacy/constants/directories.ts new file mode 100644 index 0000000000..6d70d56cb9 --- /dev/null +++ b/packages/expo-resource-fetcher/src/legacy/constants/directories.ts @@ -0,0 +1,3 @@ +import { documentDirectory } from 'expo-file-system/legacy'; + +export const RNEDirectory = `${documentDirectory}react-native-executorch/`; diff --git a/packages/expo-resource-fetcher/src/legacy/handlers.ts b/packages/expo-resource-fetcher/src/legacy/handlers.ts new file mode 100644 index 0000000000..8828691216 --- /dev/null +++ b/packages/expo-resource-fetcher/src/legacy/handlers.ts @@ -0,0 +1,197 @@ +import { + cacheDirectory, + copyAsync, + createDownloadResumable, + moveAsync, + FileSystemSessionType, + writeAsStringAsync, + EncodingType, + type DownloadResumable, +} from 'expo-file-system/legacy'; +import { Asset } from 'expo-asset'; +import { Platform } from 'react-native'; +import { + ResourceSource, + RnExecutorchErrorCode, + RnExecutorchError, +} from 'react-native-executorch'; +import { RNEDirectory } from './constants/directories'; +import { + ResourceFetcherUtils, + HTTP_CODE, + DownloadStatus, +} from './ResourceFetcherUtils'; + +export interface ActiveDownload { + downloadResumable: DownloadResumable; + status: DownloadStatus; + uri: string; + fileUri: string; + cacheFileUri: string; + // resolve and reject are the resolve/reject of the Promise returned by handleRemote. + // They are stored here so that cancel() and resume() in the fetcher class can + // unblock the fetch() loop from outside the download flow. + resolve: (path: string) => void; + reject: (error: unknown) => void; +} + +export async function handleObject(source: object): Promise { + const jsonString = JSON.stringify(source); + const digest = ResourceFetcherUtils.hashObject(jsonString); + const path = `${RNEDirectory}${digest}.json`; + + if (await ResourceFetcherUtils.checkFileExists(path)) { + return ResourceFetcherUtils.removeFilePrefix(path); + } + + await ResourceFetcherUtils.createDirectoryIfNoExists(); + await writeAsStringAsync(path, jsonString, { encoding: EncodingType.UTF8 }); + return ResourceFetcherUtils.removeFilePrefix(path); +} + +export function handleLocalFile(source: string): string { + return ResourceFetcherUtils.removeFilePrefix(source); +} + +export async function handleAsset( + source: number, + progressCallback: (progress: number) => void, + downloads: Map +): Promise { + const asset = Asset.fromModule(source); + const uri = asset.uri; + + if (uri.startsWith('http')) { + // Dev mode: asset served from Metro dev server. + // uri is the resolved HTTP URL; source is the original require() number the + // user holds, so it must be used as the downloads map key for pause/cancel to work. + return (await handleRemote(uri, source, progressCallback, downloads)).path; + } + + // Release mode: asset bundled locally, copy to RNEDirectory + const filename = ResourceFetcherUtils.getFilenameFromUri(uri); + const fileUri = `${RNEDirectory}${filename}`; + // On Android, the bundled URI has no extension, so we append it manually + const fileUriWithType = + Platform.OS === 'android' ? `${fileUri}.${asset.type}` : fileUri; + + if (await ResourceFetcherUtils.checkFileExists(fileUri)) { + return ResourceFetcherUtils.removeFilePrefix(fileUri); + } + + await ResourceFetcherUtils.createDirectoryIfNoExists(); + await copyAsync({ from: uri, to: fileUriWithType }); + return ResourceFetcherUtils.removeFilePrefix(fileUriWithType); +} + +// uri and source are separate parameters because for asset sources (dev mode), +// source is the require() number the user holds (used as the downloads map key), +// while uri is the resolved HTTP URL needed for the actual download. +// For plain remote strings they are the same value. +export async function handleRemote( + uri: string, + source: ResourceSource, + progressCallback: (progress: number) => void, + downloads: Map +): Promise<{ path: string; wasDownloaded: boolean }> { + if (downloads.has(source)) { + throw new RnExecutorchError( + RnExecutorchErrorCode.ResourceFetcherDownloadInProgress, + 'Already downloading this file' + ); + } + + const filename = ResourceFetcherUtils.getFilenameFromUri(uri); + const fileUri = `${RNEDirectory}${filename}`; + const cacheFileUri = `${cacheDirectory}${filename}`; + + if (await ResourceFetcherUtils.checkFileExists(fileUri)) { + return { + path: ResourceFetcherUtils.removeFilePrefix(fileUri), + wasDownloaded: false, + }; + } + + await ResourceFetcherUtils.createDirectoryIfNoExists(); + + // We need a Promise whose resolution can be triggered from outside this function — + // by cancel() or resume() in the fetcher class. A plain async function can't do that, + // so we create the Promise manually and store resolve/reject in the downloads map. + let resolve: (path: string) => void = () => {}; + let reject: (error: unknown) => void = () => {}; + const promise = new Promise((res, rej) => { + resolve = res; + reject = rej; + }); + + const downloadResumable = createDownloadResumable( + uri, + cacheFileUri, + { sessionType: FileSystemSessionType.BACKGROUND }, + ({ + totalBytesWritten, + totalBytesExpectedToWrite, + }: { + totalBytesWritten: number; + totalBytesExpectedToWrite: number; + }) => { + if (totalBytesExpectedToWrite === -1) { + progressCallback(0); + } else { + progressCallback(totalBytesWritten / totalBytesExpectedToWrite); + } + } + ); + + downloads.set(source, { + downloadResumable, + status: DownloadStatus.ONGOING, + uri, + fileUri, + cacheFileUri, + resolve, + reject, + }); + + downloadResumable + .downloadAsync() + .then(async (result) => { + const downloadHandle = downloads.get(source); + // If paused or canceled during the download, resolve/reject will be called + // externally by resume() or cancel() — do nothing here. + if (!downloadHandle || downloadHandle.status === DownloadStatus.PAUSED) + return; + + if ( + !result || + (result.status !== HTTP_CODE.OK && + result.status !== HTTP_CODE.PARTIAL_CONTENT) + ) { + downloads.delete(source); + reject( + new RnExecutorchError( + RnExecutorchErrorCode.ResourceFetcherDownloadFailed, + `Failed to fetch resource from '${uri}', status: ${result?.status}` + ) + ); + return; + } + + try { + await moveAsync({ from: cacheFileUri, to: fileUri }); + } catch (error) { + downloads.delete(source); + reject(error); + return; + } + + downloads.delete(source); + resolve(ResourceFetcherUtils.removeFilePrefix(fileUri)); + }) + .catch((error) => { + downloads.delete(source); + reject(error); + }); + + return promise.then((path) => ({ path, wasDownloaded: true })); +} diff --git a/packages/expo-resource-fetcher/src/legacy/index.ts b/packages/expo-resource-fetcher/src/legacy/index.ts new file mode 100644 index 0000000000..c0ec4024f4 --- /dev/null +++ b/packages/expo-resource-fetcher/src/legacy/index.ts @@ -0,0 +1 @@ +export * from './ResourceFetcher'; From ebe682b0ae9c1425656f74d73dd0232df978eac5 Mon Sep 17 00:00:00 2001 From: chmjkb Date: Tue, 9 Jun 2026 11:11:28 +0200 Subject: [PATCH 09/15] docs: add /legacy import note to docs, add new errror --- .../01-fundamentals/01-getting-started.md | 2 +- .../docs/01-fundamentals/02-loading-models.md | 2 +- docs/docs/05-utilities/04-error-handling.md | 23 ++++++++++--------- .../src/ResourceFetcher.ts | 9 ++++++++ .../common/rnexecutorch/ErrorCodes.h | 7 ++++++ .../src/errors/ErrorCodes.ts | 4 ++++ scripts/errors.config.ts | 4 ++++ 7 files changed, 38 insertions(+), 13 deletions(-) diff --git a/docs/docs/01-fundamentals/01-getting-started.md b/docs/docs/01-fundamentals/01-getting-started.md index ebc35608da..2506c8cd65 100644 --- a/docs/docs/01-fundamentals/01-getting-started.md +++ b/docs/docs/01-fundamentals/01-getting-started.md @@ -127,7 +127,7 @@ Before using any other API, you must call `initExecutorch` with a resource fetch ```js import { initExecutorch } from 'react-native-executorch'; -import { ExpoResourceFetcher } from 'react-native-executorch-expo-resource-fetcher'; +import { ExpoResourceFetcher } from 'react-native-executorch-expo-resource-fetcher'; // Use /legacy import if you're using Expo SDK < 54 // or BareResourceFetcher for bare react-native projects initExecutorch({ resourceFetcher: ExpoResourceFetcher }); diff --git a/docs/docs/01-fundamentals/02-loading-models.md b/docs/docs/01-fundamentals/02-loading-models.md index 4a2d490415..f80a484104 100644 --- a/docs/docs/01-fundamentals/02-loading-models.md +++ b/docs/docs/01-fundamentals/02-loading-models.md @@ -41,7 +41,7 @@ and then add the following code in your React Native app: ```typescript import { initExecutorch } from 'react-native-executorch'; -import { ExpoResourceFetcher } from 'react-native-executorch-expo-resource-fetcher'; +import { ExpoResourceFetcher } from 'react-native-executorch-expo-resource-fetcher'; // Use /legacy import if you're using Expo SDK < 54 initExecutorch({ resourceFetcher: ExpoResourceFetcher, diff --git a/docs/docs/05-utilities/04-error-handling.md b/docs/docs/05-utilities/04-error-handling.md index 293428a38e..568e9ab877 100644 --- a/docs/docs/05-utilities/04-error-handling.md +++ b/docs/docs/05-utilities/04-error-handling.md @@ -108,17 +108,18 @@ These errors occur during file read/write operations. These errors occur during model download and resource management. -| Error Code | Description | When It Occurs | How to Handle | -| -------------------------------------- | ------------------------------------------ | -------------------------------------------------------------------- | ------------------------------------------------------------------------- | -| `DownloadInterrupted` | Download was interrupted | Not all files were downloaded successfully | Retry the download | -| `ResourceFetcherDownloadFailed` | Resource download failed | Network error, invalid URL, or server error | Check network connection and URL validity, retry with exponential backoff | -| `ResourceFetcherDownloadInProgress` | Download already in progress | Calling `fetch()` for same resource while downloading | Wait for current download to complete | -| `ResourceFetcherAlreadyPaused` | Download already paused | Calling `pauseFetching()` on already paused download | Check download state before pausing | -| `ResourceFetcherAlreadyOngoing` | Download already ongoing | Calling `resumeFetching()` on active download | No action needed, download is already running | -| `ResourceFetcherNotActive` | No active download found | Calling pause/resume/cancel on non-existent download | Verify download was started before trying to control it | -| `ResourceFetcherMissingUri` | Required URI information missing | Internal state error during download operations | Restart the download from beginning | -| `ResourceFetcherAdapterNotInitialized` | Resource fetcher not initialized | Trying to load resources without calling `initExecutorch()` first | Call `initExecutorch({ resourceFetcher: ... })` before loading models | -| `ResourceFetcherPlatformNotSupported` | Platform not supported by resource fetcher | Using a resource fetcher feature unavailable on the current platform | Use a platform-appropriate fetcher or avoid the unsupported operation | +| Error Code | Description | When It Occurs | How to Handle | +| ----------------------------------------- | ------------------------------------------------------------------- | -------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `DownloadInterrupted` | Download was interrupted | Not all files were downloaded successfully | Retry the download | +| `ResourceFetcherDownloadFailed` | Resource download failed | Network error, invalid URL, or server error | Check network connection and URL validity, retry with exponential backoff | +| `ResourceFetcherDownloadInProgress` | Download already in progress | Calling `fetch()` for same resource while downloading | Wait for current download to complete | +| `ResourceFetcherAlreadyPaused` | Download already paused | Calling `pauseFetching()` on already paused download | Check download state before pausing | +| `ResourceFetcherAlreadyOngoing` | Download already ongoing | Calling `resumeFetching()` on active download | No action needed, download is already running | +| `ResourceFetcherNotActive` | No active download found | Calling pause/resume/cancel on non-existent download | Verify download was started before trying to control it | +| `ResourceFetcherMissingUri` | Required URI information missing | Internal state error during download operations | Restart the download from beginning | +| `ResourceFetcherAdapterNotInitialized` | Resource fetcher not initialized | Trying to load resources without calling `initExecutorch()` first | Call `initExecutorch({ resourceFetcher: ... })` before loading models | +| `ResourceFetcherPlatformNotSupported` | Platform not supported by resource fetcher | Using a resource fetcher feature unavailable on the current platform | Use a platform-appropriate fetcher or avoid the unsupported operation | +| `ResourceFetcherFileSystemApiUnavailable` | Expo FileSystem API is unavailable (occurs for ExpoResourceFetcher) | When importing a non-existing Expo FS module | If you're using Expo 54 and below, make sure to use `/legacy` import for ExpoResourceFetcher. | ### Speech-to-Text Streaming Errors diff --git a/packages/expo-resource-fetcher/src/ResourceFetcher.ts b/packages/expo-resource-fetcher/src/ResourceFetcher.ts index e7882a44a1..bd06244f76 100644 --- a/packages/expo-resource-fetcher/src/ResourceFetcher.ts +++ b/packages/expo-resource-fetcher/src/ResourceFetcher.ts @@ -31,6 +31,15 @@ import { RnExecutorchError, BaseResourceFetcherClass, } from 'react-native-executorch'; + +if (typeof Directory !== 'function' || typeof File !== 'function') { + throw new RnExecutorchError( + RnExecutorchErrorCode.ResourceFetcherFileSystemApiUnavailable, + "react-native-executorch-expo-resource-fetcher: the new 'expo-file-system' API " + + "(Directory/File) is unavailable — you're likely on Expo SDK <54. Import from " + + "'react-native-executorch-expo-resource-fetcher/legacy' instead." + ); +} import { ResourceFetcherUtils, DownloadStatus } from './ResourceFetcherUtils'; import { type ActiveDownload, diff --git a/packages/react-native-executorch/common/rnexecutorch/ErrorCodes.h b/packages/react-native-executorch/common/rnexecutorch/ErrorCodes.h index e825a63514..b41033472b 100644 --- a/packages/react-native-executorch/common/rnexecutorch/ErrorCodes.h +++ b/packages/react-native-executorch/common/rnexecutorch/ErrorCodes.h @@ -120,6 +120,13 @@ enum class RnExecutorchErrorCode : int32_t { * Thrown when the platform does not support the resource fetching feature, which is required for downloading models and other resources in React Native ExecuTorch. */ ResourceFetcherPlatformNotSupported = 187, + /** + * Thrown when the Expo resource fetcher entry point is incompatible with the + * installed expo-file-system version. The default entry point requires the + * new Directory/File API (Expo SDK 54+); use the `/legacy` entry point on + * older SDKs. + */ + ResourceFetcherFileSystemApiUnavailable = 188, }; } // namespace rnexecutorch diff --git a/packages/react-native-executorch/src/errors/ErrorCodes.ts b/packages/react-native-executorch/src/errors/ErrorCodes.ts index d07eed1a3f..91a62bc0d8 100644 --- a/packages/react-native-executorch/src/errors/ErrorCodes.ts +++ b/packages/react-native-executorch/src/errors/ErrorCodes.ts @@ -114,6 +114,10 @@ export enum RnExecutorchErrorCode { * Thrown when the platform does not support the resource fetching feature, which is required for downloading models and other resources in React Native ExecuTorch. */ ResourceFetcherPlatformNotSupported = 187, + /** + * Thrown when the Expo resource fetcher entry point is incompatible with the installed expo-file-system version. The default entry point requires the new Directory/File API (Expo SDK 54+); use the `/legacy` entry point on older SDKs. + */ + ResourceFetcherFileSystemApiUnavailable = 188, /** * Status indicating a successful operation. */ diff --git a/scripts/errors.config.ts b/scripts/errors.config.ts index 332aedf7a7..7329543df8 100644 --- a/scripts/errors.config.ts +++ b/scripts/errors.config.ts @@ -125,6 +125,10 @@ export const errorDefinitions = { * Thrown when the platform does not support the resource fetching feature, which is required for downloading models and other resources in React Native ExecuTorch. */ ResourceFetcherPlatformNotSupported: 0xbb, + /** + * Thrown when the Expo resource fetcher entry point is incompatible with the installed expo-file-system version. The default entry point requires the new Directory/File API (Expo SDK 54+); use the `/legacy` entry point on older SDKs. + */ + ResourceFetcherFileSystemApiUnavailable: 0xbc, // ========================================================================= // ExecuTorch mapped errors (0x00–0x3f) From 7cd0041e37bf96a586cc7a66ec6cbf607277f014 Mon Sep 17 00:00:00 2001 From: chmjkb Date: Tue, 9 Jun 2026 12:55:01 +0200 Subject: [PATCH 10/15] chore: update errors --- packages/expo-resource-fetcher/src/ResourceFetcher.ts | 11 ++++++++--- .../common/rnexecutorch/ErrorCodes.h | 2 +- .../react-native-executorch/src/errors/ErrorCodes.ts | 2 +- scripts/errors.config.ts | 2 +- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/expo-resource-fetcher/src/ResourceFetcher.ts b/packages/expo-resource-fetcher/src/ResourceFetcher.ts index bd06244f76..fdee4a8e47 100644 --- a/packages/expo-resource-fetcher/src/ResourceFetcher.ts +++ b/packages/expo-resource-fetcher/src/ResourceFetcher.ts @@ -32,12 +32,17 @@ import { BaseResourceFetcherClass, } from 'react-native-executorch'; -if (typeof Directory !== 'function' || typeof File !== 'function') { +if ( + typeof Directory !== 'function' || + typeof File !== 'function' || + typeof (File as unknown as { createDownloadTask?: unknown }) + .createDownloadTask !== 'function' +) { throw new RnExecutorchError( RnExecutorchErrorCode.ResourceFetcherFileSystemApiUnavailable, "react-native-executorch-expo-resource-fetcher: the new 'expo-file-system' API " + - "(Directory/File) is unavailable — you're likely on Expo SDK <54. Import from " + - "'react-native-executorch-expo-resource-fetcher/legacy' instead." + "(Directory/File.createDownloadTask) is unavailable — you're likely on Expo SDK <56. " + + "Import from 'react-native-executorch-expo-resource-fetcher/legacy' instead." ); } import { ResourceFetcherUtils, DownloadStatus } from './ResourceFetcherUtils'; diff --git a/packages/react-native-executorch/common/rnexecutorch/ErrorCodes.h b/packages/react-native-executorch/common/rnexecutorch/ErrorCodes.h index b41033472b..2ed6538dad 100644 --- a/packages/react-native-executorch/common/rnexecutorch/ErrorCodes.h +++ b/packages/react-native-executorch/common/rnexecutorch/ErrorCodes.h @@ -123,7 +123,7 @@ enum class RnExecutorchErrorCode : int32_t { /** * Thrown when the Expo resource fetcher entry point is incompatible with the * installed expo-file-system version. The default entry point requires the - * new Directory/File API (Expo SDK 54+); use the `/legacy` entry point on + * new Directory/File API (Expo SDK 56+); use the `/legacy` entry point on * older SDKs. */ ResourceFetcherFileSystemApiUnavailable = 188, diff --git a/packages/react-native-executorch/src/errors/ErrorCodes.ts b/packages/react-native-executorch/src/errors/ErrorCodes.ts index 91a62bc0d8..f0b4f96de4 100644 --- a/packages/react-native-executorch/src/errors/ErrorCodes.ts +++ b/packages/react-native-executorch/src/errors/ErrorCodes.ts @@ -115,7 +115,7 @@ export enum RnExecutorchErrorCode { */ ResourceFetcherPlatformNotSupported = 187, /** - * Thrown when the Expo resource fetcher entry point is incompatible with the installed expo-file-system version. The default entry point requires the new Directory/File API (Expo SDK 54+); use the `/legacy` entry point on older SDKs. + * Thrown when the Expo resource fetcher entry point is incompatible with the installed expo-file-system version. The default entry point requires the new Directory/File API (Expo SDK 56+); use the `/legacy` entry point on older SDKs. */ ResourceFetcherFileSystemApiUnavailable = 188, /** diff --git a/scripts/errors.config.ts b/scripts/errors.config.ts index 7329543df8..7096d5e5f8 100644 --- a/scripts/errors.config.ts +++ b/scripts/errors.config.ts @@ -126,7 +126,7 @@ export const errorDefinitions = { */ ResourceFetcherPlatformNotSupported: 0xbb, /** - * Thrown when the Expo resource fetcher entry point is incompatible with the installed expo-file-system version. The default entry point requires the new Directory/File API (Expo SDK 54+); use the `/legacy` entry point on older SDKs. + * Thrown when the Expo resource fetcher entry point is incompatible with the installed expo-file-system version. The default entry point requires the new Directory/File API (Expo SDK 56+); use the `/legacy` entry point on older SDKs. */ ResourceFetcherFileSystemApiUnavailable: 0xbc, From 529acb9997d968dcc2bc05be86c4ba26af62689c Mon Sep 17 00:00:00 2001 From: chmjkb Date: Wed, 10 Jun 2026 08:48:14 +0200 Subject: [PATCH 11/15] chore: regenerate ErrorCodes.h --- .../react-native-executorch/common/rnexecutorch/ErrorCodes.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/react-native-executorch/common/rnexecutorch/ErrorCodes.h b/packages/react-native-executorch/common/rnexecutorch/ErrorCodes.h index 2ed6538dad..d79e10c56b 100644 --- a/packages/react-native-executorch/common/rnexecutorch/ErrorCodes.h +++ b/packages/react-native-executorch/common/rnexecutorch/ErrorCodes.h @@ -121,10 +121,7 @@ enum class RnExecutorchErrorCode : int32_t { */ ResourceFetcherPlatformNotSupported = 187, /** - * Thrown when the Expo resource fetcher entry point is incompatible with the - * installed expo-file-system version. The default entry point requires the - * new Directory/File API (Expo SDK 56+); use the `/legacy` entry point on - * older SDKs. + * Thrown when the Expo resource fetcher entry point is incompatible with the installed expo-file-system version. The default entry point requires the new Directory/File API (Expo SDK 56+); use the `/legacy` entry point on older SDKs. */ ResourceFetcherFileSystemApiUnavailable = 188, }; From 7336cc0e39ba48c65ed9fe954308971c78225a99 Mon Sep 17 00:00:00 2001 From: chmjkb Date: Fri, 12 Jun 2026 08:00:52 +0200 Subject: [PATCH 12/15] chore: early return when paused --- packages/expo-resource-fetcher/src/handlers.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/expo-resource-fetcher/src/handlers.ts b/packages/expo-resource-fetcher/src/handlers.ts index 134ec3bd69..a7f76e841f 100644 --- a/packages/expo-resource-fetcher/src/handlers.ts +++ b/packages/expo-resource-fetcher/src/handlers.ts @@ -139,13 +139,9 @@ export async function handleRemote( .downloadAsync() .then(async (downloadedFile) => { // null means the task was paused before completion — resume() will continue it. + if (!downloadedFile) return; + // missing handle means the task was canceled — cancel() already rejected. - if (!downloadedFile) { - throw new RnExecutorchError( - RnExecutorchErrorCode.DownloadInterrupted, - 'Download was paused before completion.' - ); - } const downloadHandle = downloads.get(source); if (!downloadHandle) return; From 26dae8aeef5c5ad8a969860f72a9e84fb82366a2 Mon Sep 17 00:00:00 2001 From: chmjkb Date: Fri, 12 Jun 2026 08:03:34 +0200 Subject: [PATCH 13/15] chore: reject with typed error --- packages/expo-resource-fetcher/src/handlers.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/expo-resource-fetcher/src/handlers.ts b/packages/expo-resource-fetcher/src/handlers.ts index a7f76e841f..071596116c 100644 --- a/packages/expo-resource-fetcher/src/handlers.ts +++ b/packages/expo-resource-fetcher/src/handlers.ts @@ -149,7 +149,13 @@ export async function handleRemote( await downloadedFile.move(new File(fileUri)); } catch (error) { downloads.delete(source); - reject(error); + reject( + new RnExecutorchError( + RnExecutorchErrorCode.ResourceFetcherDownloadFailed, + `Failed to move downloaded file to '${fileUri}'`, + error + ) + ); return; } From cc3234b157106fd8c7f13c30f110c4dc0d4f8bed Mon Sep 17 00:00:00 2001 From: chmjkb Date: Fri, 12 Jun 2026 08:19:15 +0200 Subject: [PATCH 14/15] chore: remove unused function --- packages/expo-resource-fetcher/src/ResourceFetcherUtils.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/expo-resource-fetcher/src/ResourceFetcherUtils.ts b/packages/expo-resource-fetcher/src/ResourceFetcherUtils.ts index 221ba95e03..66aac12804 100644 --- a/packages/expo-resource-fetcher/src/ResourceFetcherUtils.ts +++ b/packages/expo-resource-fetcher/src/ResourceFetcherUtils.ts @@ -14,7 +14,7 @@ import { Asset } from 'expo-asset'; /** * @internal */ -import { Directory, File } from 'expo-file-system'; +import { Directory } from 'expo-file-system'; export { HTTP_CODE, DownloadStatus, SourceType }; @@ -104,8 +104,4 @@ export namespace ResourceFetcherUtils { ); } } - - export async function checkFileExists(fileUri: string) { - return new File(fileUri).exists; - } } From cb7ef9d38bef73fa246ae0e3edd3bfeac6868ad8 Mon Sep 17 00:00:00 2001 From: chmjkb Date: Fri, 12 Jun 2026 08:23:50 +0200 Subject: [PATCH 15/15] chore: dedup shared logic with legacy path --- .../src/ResourceFetcherUtils.ts | 80 +++--------------- .../src/legacy/ResourceFetcherUtils.ts | 80 +++--------------- .../expo-resource-fetcher/src/sharedUtils.ts | 81 +++++++++++++++++++ 3 files changed, 101 insertions(+), 140 deletions(-) create mode 100644 packages/expo-resource-fetcher/src/sharedUtils.ts diff --git a/packages/expo-resource-fetcher/src/ResourceFetcherUtils.ts b/packages/expo-resource-fetcher/src/ResourceFetcherUtils.ts index 66aac12804..fc41bd8edf 100644 --- a/packages/expo-resource-fetcher/src/ResourceFetcherUtils.ts +++ b/packages/expo-resource-fetcher/src/ResourceFetcherUtils.ts @@ -1,15 +1,12 @@ import { RNEDirectory } from './constants/directories'; import { - ResourceSource, - Logger, - ResourceFetcherUtils as CoreUtils, HTTP_CODE, DownloadStatus, SourceType, RnExecutorchError, RnExecutorchErrorCode, } from 'react-native-executorch'; -import { Asset } from 'expo-asset'; +import * as SharedUtils from './sharedUtils'; /** * @internal @@ -23,73 +20,16 @@ export { HTTP_CODE, DownloadStatus, SourceType }; * @category Utilities - General */ export namespace ResourceFetcherUtils { - export const removeFilePrefix = CoreUtils.removeFilePrefix; - export const hashObject = CoreUtils.hashObject; - export const calculateDownloadProgress = CoreUtils.calculateDownloadProgress; + export const removeFilePrefix = SharedUtils.removeFilePrefix; + export const hashObject = SharedUtils.hashObject; + export const calculateDownloadProgress = + SharedUtils.calculateDownloadProgress; export const triggerHuggingFaceDownloadCounter = - CoreUtils.triggerHuggingFaceDownloadCounter; - export const triggerDownloadEvent = CoreUtils.triggerDownloadEvent; - export const getFilenameFromUri = CoreUtils.getFilenameFromUri; - - export function getType(source: ResourceSource): SourceType { - if (typeof source === 'object') { - return SourceType.OBJECT; - } else if (typeof source === 'number') { - const uri = Asset.fromModule(source).uri; - if (uri.startsWith('http')) { - return SourceType.DEV_MODE_FILE; - } - return SourceType.RELEASE_MODE_FILE; - } - // typeof source == 'string' - if (source.startsWith('file://')) { - return SourceType.LOCAL_FILE; - } - return SourceType.REMOTE_FILE; - } - - export async function getFilesSizes(sources: ResourceSource[]) { - const results: Array<{ - source: ResourceSource; - type: SourceType; - length: number; - previousFilesTotalLength: number; - }> = []; - let totalLength = 0; - - for (const source of sources) { - const type = ResourceFetcherUtils.getType(source); - let length = 0; - - if (type === SourceType.REMOTE_FILE && typeof source === 'string') { - try { - const response = await fetch(source, { method: 'HEAD' }); - if (!response.ok) { - Logger.warn( - `Failed to fetch HEAD for ${source}: ${response.status}` - ); - continue; - } - - const contentLength = response.headers.get('content-length'); - if (!contentLength) { - Logger.warn(`No content-length header for ${source}`); - } - - length = contentLength ? parseInt(contentLength, 10) : 0; - } catch (error) { - Logger.warn(`Error fetching HEAD for ${source}:`, error); - continue; - } - } - - const previousFilesTotalLength = totalLength; - totalLength += length; - results.push({ source, type, length, previousFilesTotalLength }); - } - - return { results, totalLength }; - } + SharedUtils.triggerHuggingFaceDownloadCounter; + export const triggerDownloadEvent = SharedUtils.triggerDownloadEvent; + export const getFilenameFromUri = SharedUtils.getFilenameFromUri; + export const getType = SharedUtils.getType; + export const getFilesSizes = SharedUtils.getFilesSizes; export async function createDirectoryIfNoExists() { const directory = new Directory(RNEDirectory); diff --git a/packages/expo-resource-fetcher/src/legacy/ResourceFetcherUtils.ts b/packages/expo-resource-fetcher/src/legacy/ResourceFetcherUtils.ts index af04736337..f9c7ccf730 100644 --- a/packages/expo-resource-fetcher/src/legacy/ResourceFetcherUtils.ts +++ b/packages/expo-resource-fetcher/src/legacy/ResourceFetcherUtils.ts @@ -1,15 +1,12 @@ import { RNEDirectory } from './constants/directories'; import { - ResourceSource, - Logger, - ResourceFetcherUtils as CoreUtils, HTTP_CODE, DownloadStatus, SourceType, RnExecutorchError, RnExecutorchErrorCode, } from 'react-native-executorch'; -import { Asset } from 'expo-asset'; +import * as SharedUtils from '../sharedUtils'; /** * @internal @@ -23,73 +20,16 @@ export { HTTP_CODE, DownloadStatus, SourceType }; * @category Utilities - General */ export namespace ResourceFetcherUtils { - export const removeFilePrefix = CoreUtils.removeFilePrefix; - export const hashObject = CoreUtils.hashObject; - export const calculateDownloadProgress = CoreUtils.calculateDownloadProgress; + export const removeFilePrefix = SharedUtils.removeFilePrefix; + export const hashObject = SharedUtils.hashObject; + export const calculateDownloadProgress = + SharedUtils.calculateDownloadProgress; export const triggerHuggingFaceDownloadCounter = - CoreUtils.triggerHuggingFaceDownloadCounter; - export const triggerDownloadEvent = CoreUtils.triggerDownloadEvent; - export const getFilenameFromUri = CoreUtils.getFilenameFromUri; - - export function getType(source: ResourceSource): SourceType { - if (typeof source === 'object') { - return SourceType.OBJECT; - } else if (typeof source === 'number') { - const uri = Asset.fromModule(source).uri; - if (uri.startsWith('http')) { - return SourceType.DEV_MODE_FILE; - } - return SourceType.RELEASE_MODE_FILE; - } - // typeof source == 'string' - if (source.startsWith('file://')) { - return SourceType.LOCAL_FILE; - } - return SourceType.REMOTE_FILE; - } - - export async function getFilesSizes(sources: ResourceSource[]) { - const results: Array<{ - source: ResourceSource; - type: SourceType; - length: number; - previousFilesTotalLength: number; - }> = []; - let totalLength = 0; - - for (const source of sources) { - const type = ResourceFetcherUtils.getType(source); - let length = 0; - - if (type === SourceType.REMOTE_FILE && typeof source === 'string') { - try { - const response = await fetch(source, { method: 'HEAD' }); - if (!response.ok) { - Logger.warn( - `Failed to fetch HEAD for ${source}: ${response.status}` - ); - continue; - } - - const contentLength = response.headers.get('content-length'); - if (!contentLength) { - Logger.warn(`No content-length header for ${source}`); - } - - length = contentLength ? parseInt(contentLength, 10) : 0; - } catch (error) { - Logger.warn(`Error fetching HEAD for ${source}:`, error); - continue; - } - } - - const previousFilesTotalLength = totalLength; - totalLength += length; - results.push({ source, type, length, previousFilesTotalLength }); - } - - return { results, totalLength }; - } + SharedUtils.triggerHuggingFaceDownloadCounter; + export const triggerDownloadEvent = SharedUtils.triggerDownloadEvent; + export const getFilenameFromUri = SharedUtils.getFilenameFromUri; + export const getType = SharedUtils.getType; + export const getFilesSizes = SharedUtils.getFilesSizes; export async function createDirectoryIfNoExists() { if (!(await checkFileExists(RNEDirectory))) { diff --git a/packages/expo-resource-fetcher/src/sharedUtils.ts b/packages/expo-resource-fetcher/src/sharedUtils.ts new file mode 100644 index 0000000000..6907d24446 --- /dev/null +++ b/packages/expo-resource-fetcher/src/sharedUtils.ts @@ -0,0 +1,81 @@ +/** + * Utilities shared between the current (`expo-file-system`) and legacy + * (`expo-file-system/legacy`) resource fetcher implementations. + * + * Everything in this module must stay free of `expo-file-system` imports — + * it is pulled in by both entry points, so it can only depend on APIs that + * exist regardless of which file-system API the consumer's SDK ships. + */ +import { + ResourceSource, + Logger, + ResourceFetcherUtils as CoreUtils, + SourceType, +} from 'react-native-executorch'; +import { Asset } from 'expo-asset'; + +export const removeFilePrefix = CoreUtils.removeFilePrefix; +export const hashObject = CoreUtils.hashObject; +export const calculateDownloadProgress = CoreUtils.calculateDownloadProgress; +export const triggerHuggingFaceDownloadCounter = + CoreUtils.triggerHuggingFaceDownloadCounter; +export const triggerDownloadEvent = CoreUtils.triggerDownloadEvent; +export const getFilenameFromUri = CoreUtils.getFilenameFromUri; + +export function getType(source: ResourceSource): SourceType { + if (typeof source === 'object') { + return SourceType.OBJECT; + } else if (typeof source === 'number') { + const uri = Asset.fromModule(source).uri; + if (uri.startsWith('http')) { + return SourceType.DEV_MODE_FILE; + } + return SourceType.RELEASE_MODE_FILE; + } + // typeof source == 'string' + if (source.startsWith('file://')) { + return SourceType.LOCAL_FILE; + } + return SourceType.REMOTE_FILE; +} + +export async function getFilesSizes(sources: ResourceSource[]) { + const results: Array<{ + source: ResourceSource; + type: SourceType; + length: number; + previousFilesTotalLength: number; + }> = []; + let totalLength = 0; + + for (const source of sources) { + const type = getType(source); + let length = 0; + + if (type === SourceType.REMOTE_FILE && typeof source === 'string') { + try { + const response = await fetch(source, { method: 'HEAD' }); + if (!response.ok) { + Logger.warn(`Failed to fetch HEAD for ${source}: ${response.status}`); + continue; + } + + const contentLength = response.headers.get('content-length'); + if (!contentLength) { + Logger.warn(`No content-length header for ${source}`); + } + + length = contentLength ? parseInt(contentLength, 10) : 0; + } catch (error) { + Logger.warn(`Error fetching HEAD for ${source}:`, error); + continue; + } + } + + const previousFilesTotalLength = totalLength; + totalLength += length; + results.push({ source, type, length, previousFilesTotalLength }); + } + + return { results, totalLength }; +}