Skip to content

Commit 6f4dd53

Browse files
authored
deps: upgrade Expo to 54, specify Expo dependencies in peerDependencies (#703)
## Description ### Introduces a breaking change? - [ ] Yes - [ ] No ### Type of change - [ ] Bug fix (change which fixes an issue) - [ ] New feature (change which adds functionality) - [ ] Documentation update (improves or adds clarity to existing documentation) - [ ] Other (chores, tests, code style improvements etc.) ### Tested on - [ ] iOS - [ ] Android ### Testing instructions <!-- Provide step-by-step instructions on how to test your changes. Include setup details if necessary. --> ### Screenshots <!-- Add screenshots here, if applicable --> ### Related issues <!-- Link related issues here using #issue-number --> ### Checklist - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have updated the documentation accordingly - [ ] My changes generate no new warnings ### Additional notes <!-- Include any additional information, assumptions, or context that reviewers might need to understand this PR. -->
1 parent 9b2614b commit 6f4dd53

File tree

13 files changed

+2832
-2114
lines changed

13 files changed

+2832
-2114
lines changed

.github/workflows/build-ios-llm-example.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,6 @@ jobs:
4646
with:
4747
path: apps/llm/ios
4848
key: ${{ runner.os }}-expo-ios-${{ hashFiles('apps/llm/app.json', 'apps/llm/package.json') }}
49-
restore-keys: |
50-
${{ runner.os }}-expo-ios-
5149
- name: Generate native iOS project
5250
working-directory: apps/llm
5351
run: |

apps/computer-vision/package.json

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,38 +10,36 @@
1010
"typecheck": "tsc",
1111
"lint": "eslint . --ext .ts,.tsx --fix"
1212
},
13-
"peerDependencies": {
14-
"react-native": "*"
15-
},
1613
"dependencies": {
1714
"@react-native/metro-config": "^0.76.3",
18-
"@react-navigation/drawer": "^7.4.1",
19-
"@react-navigation/native": "^7.1.10",
20-
"@shopify/react-native-skia": "v2.0.0-next.2",
21-
"expo": "^53.0.0",
22-
"expo-constants": "~17.1.6",
23-
"expo-font": "~13.3.1",
24-
"expo-linking": "~7.1.5",
25-
"expo-router": "~5.0.7",
26-
"expo-status-bar": "~2.2.3",
15+
"@react-navigation/drawer": "^7.3.9",
16+
"@react-navigation/native": "^7.1.6",
17+
"@shopify/react-native-skia": "2.2.12",
18+
"expo": "^54.0.27",
19+
"expo-constants": "~18.0.11",
20+
"expo-font": "~14.0.10",
21+
"expo-linking": "~8.0.10",
22+
"expo-router": "~6.0.17",
23+
"expo-status-bar": "~3.0.9",
2724
"metro-config": "^0.81.0",
28-
"react": "19.0.0",
29-
"react-native": "0.79.2",
25+
"react": "19.1.0",
26+
"react-native": "0.81.5",
3027
"react-native-device-info": "^14.0.4",
3128
"react-native-executorch": "workspace:*",
32-
"react-native-gesture-handler": "~2.24.0",
29+
"react-native-gesture-handler": "~2.28.0",
3330
"react-native-image-picker": "^7.2.2",
3431
"react-native-loading-spinner-overlay": "^3.0.1",
35-
"react-native-reanimated": "~3.17.4",
36-
"react-native-safe-area-context": "5.4.0",
37-
"react-native-screens": "~4.11.1",
38-
"react-native-svg": "15.11.2",
39-
"react-native-svg-transformer": "^1.5.0"
32+
"react-native-reanimated": "~4.1.1",
33+
"react-native-safe-area-context": "~5.6.0",
34+
"react-native-screens": "~4.16.0",
35+
"react-native-svg": "15.12.1",
36+
"react-native-svg-transformer": "^1.5.0",
37+
"react-native-worklets": "0.5.1"
4038
},
4139
"devDependencies": {
4240
"@babel/core": "^7.25.2",
4341
"@types/pngjs": "^6.0.5",
44-
"@types/react": "~19.0.10"
42+
"@types/react": "~19.1.10"
4543
},
4644
"private": true
4745
}

apps/llm/package.json

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,39 +10,37 @@
1010
"typecheck": "tsc",
1111
"lint": "eslint . --ext .ts,.tsx --fix"
1212
},
13-
"peerDependencies": {
14-
"react-native": "*"
15-
},
1613
"dependencies": {
1714
"@react-native/metro-config": "^0.76.3",
18-
"@react-navigation/drawer": "^7.4.1",
19-
"@react-navigation/native": "^7.1.10",
20-
"expo": "~53.0.8",
21-
"expo-brightness": "~13.1.4",
22-
"expo-calendar": "~14.1.4",
23-
"expo-constants": "~17.1.6",
24-
"expo-font": "~13.3.1",
25-
"expo-linking": "~7.1.5",
26-
"expo-router": "~5.0.7",
27-
"expo-status-bar": "~2.2.3",
15+
"@react-navigation/drawer": "^7.3.9",
16+
"@react-navigation/native": "^7.1.6",
17+
"expo": "^54.0.27",
18+
"expo-brightness": "~14.0.8",
19+
"expo-calendar": "~15.0.8",
20+
"expo-constants": "~18.0.11",
21+
"expo-font": "~14.0.10",
22+
"expo-linking": "~8.0.10",
23+
"expo-router": "~6.0.17",
24+
"expo-status-bar": "~3.0.9",
2825
"metro-config": "^0.81.0",
29-
"react": "19.0.0",
30-
"react-native": "0.79.2",
26+
"react": "19.1.0",
27+
"react-native": "0.81.5",
3128
"react-native-audio-api": "^0.8.2",
3229
"react-native-device-info": "^14.0.4",
3330
"react-native-executorch": "workspace:*",
34-
"react-native-gesture-handler": "~2.24.0",
31+
"react-native-gesture-handler": "~2.28.0",
3532
"react-native-loading-spinner-overlay": "^3.0.1",
3633
"react-native-markdown-display": "^7.0.2",
37-
"react-native-reanimated": "~3.17.4",
38-
"react-native-safe-area-context": "5.4.0",
39-
"react-native-screens": "~4.11.1",
40-
"react-native-svg": "15.11.2",
41-
"react-native-svg-transformer": "^1.5.0"
34+
"react-native-reanimated": "~4.1.1",
35+
"react-native-safe-area-context": "~5.6.0",
36+
"react-native-screens": "~4.16.0",
37+
"react-native-svg": "15.12.1",
38+
"react-native-svg-transformer": "^1.5.0",
39+
"react-native-worklets": "0.5.1"
4240
},
4341
"devDependencies": {
4442
"@babel/core": "^7.25.2",
45-
"@types/react": "~19.0.10"
43+
"@types/react": "~19.1.10"
4644
},
4745
"private": true
4846
}

apps/speech-to-text/package.json

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,29 +10,27 @@
1010
"typecheck": "tsc",
1111
"lint": "eslint . --ext .ts,.tsx --fix"
1212
},
13-
"peerDependencies": {
14-
"react-native": "*"
15-
},
1613
"dependencies": {
1714
"@react-native/metro-config": "^0.76.3",
1815
"buffer": "^6.0.3",
19-
"expo": "^53.0.0",
20-
"expo-font": "~13.3.1",
21-
"expo-status-bar": "~2.2.3",
16+
"expo": "^54.0.27",
17+
"expo-font": "~14.0.10",
18+
"expo-status-bar": "~3.0.9",
2219
"metro-config": "^0.81.0",
23-
"react": "19.0.0",
24-
"react-native": "0.79.2",
20+
"react": "19.1.0",
21+
"react-native": "0.81.5",
2522
"react-native-audio-api": "0.6.5",
2623
"react-native-device-info": "^14.0.4",
2724
"react-native-executorch": "workspace:*",
28-
"react-native-reanimated": "~3.17.4",
29-
"react-native-safe-area-context": "5.4.0",
30-
"react-native-svg": "15.11.2",
31-
"react-native-svg-transformer": "^1.5.0"
25+
"react-native-reanimated": "~4.1.1",
26+
"react-native-safe-area-context": "~5.6.0",
27+
"react-native-svg": "15.12.1",
28+
"react-native-svg-transformer": "^1.5.0",
29+
"react-native-worklets": "0.5.1"
3230
},
3331
"devDependencies": {
3432
"@babel/core": "^7.25.2",
35-
"@types/react": "~19.0.10"
33+
"@types/react": "~19.1.10"
3634
},
3735
"private": true
3836
}

apps/speech-to-text/screens/SpeechToTextScreen.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import {
1717
AudioRecorder,
1818
AudioContext,
1919
} from 'react-native-audio-api';
20-
import * as FileSystem from 'expo-file-system';
20+
import * as FileSystem from 'expo-file-system/legacy';
2121
import SWMIcon from '../assets/swm_icon.svg';
2222
import DeviceInfo from 'react-native-device-info';
2323

apps/text-embeddings/package.json

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,29 +11,29 @@
1111
"lint": "eslint . --ext .ts,.tsx --fix"
1212
},
1313
"peerDependencies": {
14-
"@react-navigation/native": "*",
15-
"react-native": "*"
14+
"@react-navigation/native": "*"
1615
},
1716
"dependencies": {
18-
"@react-navigation/drawer": "^7.4.2",
19-
"expo": "^53.0.0",
20-
"expo-constants": "~17.1.6",
21-
"expo-linking": "~7.1.5",
22-
"expo-router": "~5.1.0",
23-
"expo-status-bar": "~2.2.3",
24-
"react": "19.0.0",
25-
"react-native": "0.79.2",
17+
"@react-navigation/drawer": "^7.3.9",
18+
"expo": "^54.0.27",
19+
"expo-constants": "~18.0.11",
20+
"expo-linking": "~8.0.10",
21+
"expo-router": "~6.0.17",
22+
"expo-status-bar": "~3.0.9",
23+
"react": "19.1.0",
24+
"react-native": "0.81.5",
2625
"react-native-executorch": "workspace:*",
27-
"react-native-gesture-handler": "~2.24.0",
26+
"react-native-gesture-handler": "~2.28.0",
2827
"react-native-image-picker": "^7.2.2",
29-
"react-native-reanimated": "~3.17.4",
30-
"react-native-safe-area-context": "5.4.0",
31-
"react-native-screens": "~4.11.1",
32-
"react-native-svg": "15.11.2"
28+
"react-native-reanimated": "~4.1.1",
29+
"react-native-safe-area-context": "~5.6.0",
30+
"react-native-screens": "~4.16.0",
31+
"react-native-svg": "15.12.1",
32+
"react-native-worklets": "0.5.1"
3333
},
3434
"devDependencies": {
3535
"@babel/core": "^7.25.2",
36-
"@types/react": "~19.0.10"
36+
"@types/react": "~19.1.10"
3737
},
3838
"private": true
3939
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,6 @@
2323
"eslint-plugin-prettier": "^5.0.1",
2424
"prettier": "^3.3.3",
2525
"prettier-plugin-jsdoc": "^1.3.0",
26-
"typescript": "~5.8.3"
26+
"typescript": "~5.9.2"
2727
}
2828
}

packages/react-native-executorch/package.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -65,25 +65,25 @@
6565
"registry": "https://registry.npmjs.org/"
6666
},
6767
"peerDependencies": {
68-
"expo": "*",
69-
"expo-asset": "*",
70-
"expo-file-system": "*",
68+
"expo": ">=54.0.0",
69+
"expo-asset": "^12.0.0",
70+
"expo-file-system": "^19.0.0",
7171
"react": "*",
7272
"react-native": "*"
7373
},
7474
"devDependencies": {
7575
"@react-native-community/cli": "latest",
7676
"@types/jest": "^29.5.5",
77-
"@types/react": "^18.2.44",
78-
"expo": "^53.0.7",
79-
"expo-asset": "~11.1.5",
80-
"expo-file-system": "~18.1.10",
77+
"@types/react": "~19.1.10",
78+
"expo": "^54.0.0",
79+
"expo-asset": "12.0.11",
80+
"expo-file-system": "^19.0.20",
8181
"jest": "^29.7.0",
8282
"metro-react-native-babel-preset": "^0.77.0",
83-
"react": "19.0.0",
84-
"react-native": "0.79.2",
83+
"react": "19.1.0",
84+
"react-native": "0.81.5",
8585
"react-native-builder-bob": "^0.40.12",
86-
"typescript": "~5.8.3"
86+
"typescript": "~5.9.2"
8787
},
8888
"resolutions": {
8989
"@types/react": "^18.2.44"
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import { importLegacyExpoFSModules } from '../utils/ResourceFetcher';
2-
3-
const { documentDirectory } = importLegacyExpoFSModules();
1+
import { documentDirectory } from 'expo-file-system/legacy';
42

53
export const RNEDirectory = `${documentDirectory}react-native-executorch/`;

packages/react-native-executorch/src/controllers/LLMController.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
import { ResourceSource } from '../types/common';
2-
import {
3-
importLegacyExpoFSModules,
4-
ResourceFetcher,
5-
} from '../utils/ResourceFetcher';
2+
import { ResourceFetcher } from '../utils/ResourceFetcher';
63
import { ETError, getError } from '../Error';
74
import { Template } from '@huggingface/jinja';
85
import { DEFAULT_CHAT_CONFIG } from '../constants/llmDefaults';
@@ -16,7 +13,7 @@ import {
1613
} from '../types/llm';
1714
import { parseToolCall } from '../utils/llm';
1815
import { Logger } from '../common/Logger';
19-
const { readAsStringAsync } = importLegacyExpoFSModules();
16+
import { readAsStringAsync } from 'expo-file-system/legacy';
2017

2118
export class LLMController {
2219
private nativeModule: any;

0 commit comments

Comments
 (0)