Skip to content

Commit 45e6ac8

Browse files
authored
Bump expo to stable 56 (#4227)
## Description This PR bumps `expo` version in `expo-example` to 56. It also adds `yarn constraints` in order to keep Reanimated and Worklets in sync. Now running `yarn constraints --fix` will automatically set desired versions of packages in all `package.json` files across workspaces. ## Test plan Test example apps. > [!NOTE] > macOS is left far behind with React Native 0.81, so I guess it just waits for better time 😶
1 parent 7657251 commit 45e6ac8

12 files changed

Lines changed: 1955 additions & 2675 deletions

File tree

.github/workflows/ios-build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
build:
2020
if: github.repository == 'software-mansion/react-native-gesture-handler'
2121

22-
runs-on: macos-14
22+
runs-on: macos-26
2323
strategy:
2424
matrix:
2525
working-directory: [apps/basic-example, apps/expo-example]
@@ -34,7 +34,7 @@ jobs:
3434
- name: Use latest stable Xcode
3535
uses: maxim-lobanov/setup-xcode@v1
3636
with:
37-
xcode-version: '16.1'
37+
xcode-version: '26.4.1'
3838

3939
- name: Use Node.js 24
4040
uses: actions/setup-node@v6

apps/basic-example/ios/Podfile.lock

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1769,7 +1769,7 @@ PODS:
17691769
- ReactCommon/turbomodule/core
17701770
- ReactNativeDependencies
17711771
- Yoga
1772-
- RNReanimated (4.3.0):
1772+
- RNReanimated (4.3.1):
17731773
- hermes-engine
17741774
- RCTRequired
17751775
- RCTTypeSafety
@@ -1791,11 +1791,11 @@ PODS:
17911791
- ReactCommon/turbomodule/bridging
17921792
- ReactCommon/turbomodule/core
17931793
- ReactNativeDependencies
1794-
- RNReanimated/apple (= 4.3.0)
1795-
- RNReanimated/common (= 4.3.0)
1794+
- RNReanimated/apple (= 4.3.1)
1795+
- RNReanimated/common (= 4.3.1)
17961796
- RNWorklets
17971797
- Yoga
1798-
- RNReanimated/apple (4.3.0):
1798+
- RNReanimated/apple (4.3.1):
17991799
- hermes-engine
18001800
- RCTRequired
18011801
- RCTTypeSafety
@@ -1819,7 +1819,7 @@ PODS:
18191819
- ReactNativeDependencies
18201820
- RNWorklets
18211821
- Yoga
1822-
- RNReanimated/common (4.3.0):
1822+
- RNReanimated/common (4.3.1):
18231823
- hermes-engine
18241824
- RCTRequired
18251825
- RCTTypeSafety
@@ -2224,10 +2224,10 @@ SPEC CHECKSUMS:
22242224
ReactCommon: fe2a3af8975e63efa60f95fca8c34dc85deee360
22252225
ReactNativeDependencies: 129d6b2e7ba29310ebb126db92070ec49cd882df
22262226
RNGestureHandler: 4fa4214e42a7c452210a947270fa3552bf96517e
2227-
RNReanimated: 64f4b3b33b48b19e0ba76a352571b52b1e931981
2227+
RNReanimated: 07fe6682b1d90b9d536540614562850503c63dbb
22282228
RNWorklets: 533b896a04be761c26ec519014a6ccd0fac03781
22292229
Yoga: e83c3121d079541e69f3c5c623faaaf933fb5812
22302230

2231-
PODFILE CHECKSUM: ecce038d8e4749ee17b7dea28be0590cdc8b4836
2231+
PODFILE CHECKSUM: c7c24b794ae37fda7472ce32e653711daa22b88c
22322232

22332233
COCOAPODS: 1.15.2

apps/basic-example/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
"react": "19.2.3",
2121
"react-native": "0.85.0",
2222
"react-native-gesture-handler": "workspace:*",
23-
"react-native-reanimated": "^4.3.0",
24-
"react-native-worklets": "^0.8.1"
23+
"react-native-reanimated": "~4.3.1",
24+
"react-native-worklets": "0.8.1"
2525
},
2626
"devDependencies": {
2727
"@babel/core": "^7.25.2",

apps/common-app/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,12 @@
2323
"@react-navigation/stack": "^7.2.10",
2424
"@swmansion/icons": "^0.0.1",
2525
"react-native-gesture-handler": "workspace:*",
26-
"react-native-reanimated": "^4.3.0",
27-
"react-native-safe-area-context": "^5.4.0",
28-
"react-native-screens": "^4.10.0",
29-
"react-native-worklets": "^0.8.1"
26+
"react-native-pager-view": "^8.0.2",
27+
"react-native-reanimated": "~4.3.1",
28+
"react-native-safe-area-context": "~5.7.0",
29+
"react-native-screens": "4.25.2",
30+
"react-native-svg": "15.15.4",
31+
"react-native-worklets": "0.8.1"
3032
},
3133
"devDependencies": {
3234
"@babel/core": "^7.25.2",
@@ -35,7 +37,6 @@
3537
"@react-native-community/cli": "18.0.1",
3638
"@react-native-community/cli-platform-android": "18.0.0",
3739
"@react-native-community/cli-platform-ios": "18.0.0",
38-
"@react-native-community/viewpager": "5.0.11",
3940
"@react-native/babel-preset": "0.79.0",
4041
"@react-native/eslint-config": "0.79.0",
4142
"@react-native/metro-config": "0.79.0",
@@ -54,7 +55,6 @@
5455
"expo-camera": "~16.1.1",
5556
"jest": "^29.6.3",
5657
"prettier": "3.3.3",
57-
"react-native-svg": "15.11.2",
5858
"react-test-renderer": "19.0.0",
5959
"typescript": "~5.8.3"
6060
},

apps/common-app/src/legacy/basic/pagerAndDrawer/index.android.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import ViewPagerAndroid from '@react-native-community/viewpager';
21
import React, { Component } from 'react';
32
import { StyleSheet, Text, View } from 'react-native';
43
import {
54
legacy_createNativeWrapper,
65
LegacyDrawerLayoutAndroid,
76
} from 'react-native-gesture-handler';
7+
import PagerView from 'react-native-pager-view';
88

9-
const WrappedViewPagerAndroid = legacy_createNativeWrapper(ViewPagerAndroid, {
9+
const WrappedPagerView = legacy_createNativeWrapper(PagerView, {
1010
disallowInterruption: true,
1111
});
1212

@@ -33,7 +33,7 @@ export default class Example extends Component {
3333
</View>
3434
);
3535
return (
36-
<WrappedViewPagerAndroid style={styles.container}>
36+
<WrappedPagerView style={styles.container}>
3737
<View>
3838
<LegacyDrawerLayoutAndroid
3939
drawerWidth={200}
@@ -52,7 +52,7 @@ export default class Example extends Component {
5252
<Page backgroundColor="blue" text="Fourth 😎" />
5353
</LegacyDrawerLayoutAndroid>
5454
</View>
55-
</WrappedViewPagerAndroid>
55+
</WrappedPagerView>
5656
);
5757
}
5858
}

apps/expo-example/package.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,27 +11,27 @@
1111
"clean": "rm -rf node_modules android ios"
1212
},
1313
"dependencies": {
14-
"@expo/metro-runtime": "~6.1.2",
14+
"@expo/metro-runtime": "~56.0.13",
1515
"@react-native-async-storage/async-storage": "2.2.0",
16-
"@react-native-community/viewpager": "5.0.11",
1716
"@react-navigation/elements": "^2.3.8",
1817
"@react-navigation/native": "^7.1.6",
1918
"@react-navigation/stack": "^7.2.10",
2019
"@swmansion/icons": "^0.0.1",
2120
"common-app": "workspace:*",
22-
"expo": "^54.0.7",
23-
"expo-camera": "~17.0.2",
24-
"expo-status-bar": "~3.0.2",
25-
"react": "19.1.0",
26-
"react-dom": "19.1.0",
27-
"react-native": "0.81.4",
21+
"expo": "^56.0.0",
22+
"expo-camera": "~56.0.7",
23+
"expo-status-bar": "~56.0.4",
24+
"react": "19.2.3",
25+
"react-dom": "19.2.3",
26+
"react-native": "0.85.3",
2827
"react-native-gesture-handler": "workspace:*",
29-
"react-native-reanimated": "^4.3.0",
30-
"react-native-safe-area-context": "~5.6.0",
31-
"react-native-screens": "~4.16.0",
32-
"react-native-svg": "15.12.1",
28+
"react-native-pager-view": "^8.0.2",
29+
"react-native-reanimated": "~4.3.1",
30+
"react-native-safe-area-context": "~5.7.0",
31+
"react-native-screens": "4.25.2",
32+
"react-native-svg": "15.15.4",
3333
"react-native-web": "^0.21.0",
34-
"react-native-worklets": "^0.8.1"
34+
"react-native-worklets": "0.8.1"
3535
},
3636
"devDependencies": {
3737
"@babel/core": "^7.25.2",

apps/macos-example/macos/Podfile.lock

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2397,7 +2397,7 @@ PODS:
23972397
- ReactCommon/turbomodule/core
23982398
- SocketRocket
23992399
- Yoga
2400-
- RNReanimated (4.3.0):
2400+
- RNReanimated (4.3.1):
24012401
- boost
24022402
- DoubleConversion
24032403
- fast_float
@@ -2424,12 +2424,12 @@ PODS:
24242424
- ReactCodegen
24252425
- ReactCommon/turbomodule/bridging
24262426
- ReactCommon/turbomodule/core
2427-
- RNReanimated/apple (= 4.3.0)
2428-
- RNReanimated/common (= 4.3.0)
2427+
- RNReanimated/apple (= 4.3.1)
2428+
- RNReanimated/common (= 4.3.1)
24292429
- RNWorklets
24302430
- SocketRocket
24312431
- Yoga
2432-
- RNReanimated/apple (4.3.0):
2432+
- RNReanimated/apple (4.3.1):
24332433
- boost
24342434
- DoubleConversion
24352435
- fast_float
@@ -2459,7 +2459,7 @@ PODS:
24592459
- RNWorklets
24602460
- SocketRocket
24612461
- Yoga
2462-
- RNReanimated/common (4.3.0):
2462+
- RNReanimated/common (4.3.1):
24632463
- boost
24642464
- DoubleConversion
24652465
- fast_float
@@ -2954,12 +2954,12 @@ SPEC CHECKSUMS:
29542954
ReactCommon: 9f8189efbc1aa52926df2791a2e47b3340353849
29552955
RNCAsyncStorage: 7e57f4fe4332cbf21bf6bdbffaf9fd34c9268abd
29562956
RNGestureHandler: b56413eaa25d0177fb810d738f93ed5d725fa0ae
2957-
RNReanimated: 4bde1757024259a81a298ee9ed4b33c0fb5923a5
2957+
RNReanimated: 475b050772aaddb82af69ddb607ea2fcbca9a233
29582958
RNSVG: 681be694d501c0af971615811d4f2ea9baf58966
29592959
RNWorklets: 68ab13976d7eba39fb2f0844994a51380e76046d
29602960
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
29612961
Yoga: 6048a55441c73f8e3916a8eac6b83886708c77f9
29622962

2963-
PODFILE CHECKSUM: ac0c71f61bb7bb2597e03b9a55e6034311215f01
2963+
PODFILE CHECKSUM: f1e62138f132c019112f8012728e07241ee6e036
29642964

29652965
COCOAPODS: 1.15.2

apps/macos-example/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
},
1313
"dependencies": {
1414
"@react-native-async-storage/async-storage": "2.1.2",
15-
"@react-native-community/viewpager": "5.0.11",
1615
"@react-navigation/elements": "^2.3.8",
1716
"@react-navigation/native": "^7.1.6",
1817
"@react-navigation/stack": "^7.2.10",
@@ -22,10 +21,11 @@
2221
"react-native": "0.81.2",
2322
"react-native-gesture-handler": "workspace:*",
2423
"react-native-macos": "0.81.2",
25-
"react-native-reanimated": "^4.3.0",
26-
"react-native-safe-area-context": "^5.5.2",
27-
"react-native-svg": "^15.15.3",
28-
"react-native-worklets": "^0.8.1"
24+
"react-native-reanimated": "~4.3.1",
25+
"react-native-safe-area-context": "~5.7.0",
26+
"react-native-screens": "4.25.2",
27+
"react-native-svg": "15.15.4",
28+
"react-native-worklets": "0.8.1"
2929
},
3030
"devDependencies": {
3131
"@babel/core": "^7.25.2",

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"@types/react": "^19.0.12",
2222
"@typescript-eslint/eslint-plugin": "^6.9.0",
2323
"@typescript-eslint/parser": "^6.9.0",
24+
"@yarnpkg/types": "^4.0.1",
2425
"eslint": "^8.57.0",
2526
"eslint-config-satya164": "3.3.0",
2627
"eslint-import-resolver-babel-module": "^5.2.0",

packages/react-native-gesture-handler/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,8 @@
9797
"react": "19.2.3",
9898
"react-native": "0.85.0",
9999
"react-native-builder-bob": "^0.40.13",
100-
"react-native-reanimated": "^4.3.0",
101-
"react-native-worklets": "^0.8.1",
100+
"react-native-reanimated": "~4.3.1",
101+
"react-native-worklets": "0.8.1",
102102
"react-test-renderer": "19.2.3",
103103
"typescript": "~5.8.3"
104104
},

0 commit comments

Comments
 (0)