Skip to content

Commit 3c7788c

Browse files
antonisclaude
andcommitted
chore(samples): Upgrade Expo sample to SDK 54
Updates the Expo sample application to use Expo SDK 54, which includes React Native 0.81.5 and React 19.1. Changes: - Upgrade Expo SDK from 53 to 54 - Upgrade React Native from 0.79.2 to 0.81.5 - Upgrade React from 19.0.0 to 19.1.0 - Update all Expo packages to SDK 54 compatible versions - Fix ExternalLink component for expo-router 6.x compatibility (removed deprecated hrefAttrs) Note: The native ios/android folders are gitignored as they are generated by expo prebuild. For local development in this monorepo, add this to ios/Podfile after running prebuild: ENV['REACT_NATIVE_NODE_MODULES_DIR'] = File.join(__dir__, '..', 'node_modules', 'react-native') This ensures the Sentry SDK detects the correct React Native version (0.81.5) instead of the version in packages/core/node_modules. Resolves #5568 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent cdf7e97 commit 3c7788c

File tree

4 files changed

+2598
-482
lines changed

4 files changed

+2598
-482
lines changed

.github/workflows/sample-application-expo.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ jobs:
6161
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
6262
with:
6363
package-manager-cache: false
64-
node-version: 18
64+
node-version: 20
6565
cache: 'yarn'
6666
cache-dependency-path: yarn.lock
6767

samples/expo/components/ExternalLink.tsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,8 @@ export function ExternalLink(
88
) {
99
return (
1010
<Link
11-
hrefAttrs={{
12-
// On web, launch the link in a new tab.
13-
target: '_blank',
14-
}}
11+
target="_blank"
1512
{...props}
16-
// @ts-expect-error: External URLs are not typed.
1713
href={props.href}
1814
onPress={e => {
1915
if (Platform.OS !== 'web') {

samples/expo/package.json

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -24,24 +24,24 @@
2424
"dependencies": {
2525
"@sentry/core": "10.36.0",
2626
"@sentry/react-native": "7.10.0",
27-
"@types/react": "~19.0.10",
28-
"expo": "^53.0.0",
29-
"expo-constants": "~17.1.5",
30-
"expo-dev-client": "~5.1.8",
31-
"expo-image-picker": "~16.1.4",
32-
"expo-linking": "~7.1.4",
33-
"expo-router": "~5.0.5",
34-
"expo-status-bar": "~2.2.3",
35-
"expo-updates": "~0.28.12",
36-
"expo-web-browser": "~14.1.6",
37-
"react": "19.0.0",
38-
"react-dom": "19.0.0",
39-
"react-native": "0.79.2",
40-
"react-native-gesture-handler": "~2.24.0",
41-
"react-native-safe-area-context": "5.4.0",
42-
"react-native-screens": "~4.10.0",
43-
"react-native-web": "^0.20.0",
44-
"typescript": "~5.8.3"
27+
"@types/react": "~19.1.10",
28+
"expo": "^54.0.0",
29+
"expo-constants": "~18.0.13",
30+
"expo-dev-client": "~6.0.20",
31+
"expo-image-picker": "~17.0.10",
32+
"expo-linking": "~8.0.11",
33+
"expo-router": "~6.0.22",
34+
"expo-status-bar": "~3.0.9",
35+
"expo-updates": "~29.0.16",
36+
"expo-web-browser": "~15.0.10",
37+
"react": "19.1.0",
38+
"react-dom": "19.1.0",
39+
"react-native": "0.81.5",
40+
"react-native-gesture-handler": "~2.28.0",
41+
"react-native-safe-area-context": "~5.6.0",
42+
"react-native-screens": "~4.16.0",
43+
"react-native-web": "^0.21.0",
44+
"typescript": "~5.9.2"
4545
},
4646
"devDependencies": {
4747
"@babel/core": "^7.26.0",
@@ -52,7 +52,7 @@
5252
"@typescript-eslint/eslint-plugin": "^8.50.0",
5353
"@typescript-eslint/parser": "^8.50.0",
5454
"eslint": "^8.57.0",
55-
"eslint-config-expo": "^7.1.2",
55+
"eslint-config-expo": "~10.0.0",
5656
"eslint-import-resolver-typescript": "^4.4.4",
5757
"eslint-plugin-import": "^2.32.0",
5858
"eslint-plugin-jest": "^29.5.0",

0 commit comments

Comments
 (0)