Skip to content

Commit 6aad706

Browse files
committed
Revert "Expo 55 (#1042)"
This reverts commit 518096e.
1 parent 0f3164f commit 6aad706

15 files changed

Lines changed: 1145 additions & 945 deletions

File tree

.github/workflows/ci.yml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
push:
55
branches:
66
- master
7-
- 55
7+
- 54
88
pull_request:
99
types: [assigned, opened, synchronize, reopened]
1010

@@ -71,8 +71,8 @@ jobs:
7171
--ignore-scripts \
7272
--yes \
7373
74-
- name: Release packages (55)
75-
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/55'
74+
- name: Release packages (54)
75+
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/54'
7676
env:
7777
NPM_CONFIG_PROVENANCE: "true"
7878
run: |
@@ -87,12 +87,12 @@ jobs:
8787
# This hits Snack twice because it commonly times out the first time
8888
export newversion=$(npm view @draftbit/ui dist-tags.next);
8989
sleep 10
90-
curl "https://snackager.eascdn.net/bundle/@draftbit/ui@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=55.0.0";
91-
curl "https://snackager.eascdn.net/bundle/@draftbit/ui@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=55.0.0";
92-
curl "https://snackager.eascdn.net/bundle/@draftbit/core@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=55.0.0";
93-
curl "https://snackager.eascdn.net/bundle/@draftbit/core@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=55.0.0";
94-
curl "https://snackager.eascdn.net/bundle/@draftbit/maps@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=55.0.0";
95-
curl "https://snackager.eascdn.net/bundle/@draftbit/maps@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=55.0.0";
90+
curl "https://snackager.eascdn.net/bundle/@draftbit/ui@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=54.0.0";
91+
curl "https://snackager.eascdn.net/bundle/@draftbit/ui@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=54.0.0";
92+
curl "https://snackager.eascdn.net/bundle/@draftbit/core@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=54.0.0";
93+
curl "https://snackager.eascdn.net/bundle/@draftbit/core@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=54.0.0";
94+
curl "https://snackager.eascdn.net/bundle/@draftbit/maps@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=54.0.0";
95+
curl "https://snackager.eascdn.net/bundle/@draftbit/maps@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=54.0.0";
9696
working-directory: packages/ui
9797

9898
- name: Release to Snack
@@ -102,12 +102,12 @@ jobs:
102102
# This hits Snack twice because it commonly times out the first time
103103
export version=$(jq -r .version package.json);
104104
sleep 10
105-
curl "https://snackager.eascdn.net/bundle/@draftbit/ui@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=55.0.0";
106-
curl "https://snackager.eascdn.net/bundle/@draftbit/ui@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=55.0.0";
107-
curl "https://snackager.eascdn.net/bundle/@draftbit/core@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=55.0.0";
108-
curl "https://snackager.eascdn.net/bundle/@draftbit/core@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=55.0.0";
109-
curl "https://snackager.eascdn.net/bundle/@draftbit/maps@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=55.0.0";
110-
curl "https://snackager.eascdn.net/bundle/@draftbit/maps@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=55.0.0";
105+
curl "https://snackager.eascdn.net/bundle/@draftbit/ui@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=54.0.0";
106+
curl "https://snackager.eascdn.net/bundle/@draftbit/ui@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=54.0.0";
107+
curl "https://snackager.eascdn.net/bundle/@draftbit/core@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=54.0.0";
108+
curl "https://snackager.eascdn.net/bundle/@draftbit/core@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=54.0.0";
109+
curl "https://snackager.eascdn.net/bundle/@draftbit/maps@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=54.0.0";
110+
curl "https://snackager.eascdn.net/bundle/@draftbit/maps@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=54.0.0";
111111
working-directory: packages/ui
112112

113113
- name: Add comment to pull request

example/package.json

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@draftbit/example",
33
"description": "Example app for @draftbit/ui",
4-
"version": "55.0.0",
4+
"version": "54.1.0",
55
"private": true,
66
"scripts": {
77
"android": "expo start --android",
@@ -14,37 +14,37 @@
1414
"clean:modules": "rimraf node_modules"
1515
},
1616
"dependencies": {
17-
"@draftbit/maps": "55.0.0",
18-
"@draftbit/ui": "55.0.0",
17+
"@draftbit/maps": "54.1.0",
18+
"@draftbit/ui": "54.1.0",
1919
"@expo/dev-server": "0.1.123",
20-
"@expo/metro-runtime": "~55.0.11",
20+
"@expo/metro-runtime": "~6.1.2",
2121
"@react-navigation/drawer": "^7.5.8",
2222
"@react-navigation/native": "^7.1.17",
2323
"@shopify/flash-list": "2.0.2",
24-
"expo": "55",
25-
"expo-asset": "~55.0.17",
26-
"expo-constants": "~55.0.16",
27-
"expo-font": "~55.0.8",
28-
"expo-splash-screen": "~55.0.22",
29-
"expo-status-bar": "~55.0.6",
24+
"expo": "^54.0.0",
25+
"expo-asset": "~12.0.12",
26+
"expo-constants": "~18.0.13",
27+
"expo-font": "~14.0.11",
28+
"expo-splash-screen": "~31.0.13",
29+
"expo-status-bar": "~3.0.9",
3030
"nativewind": "^5.0.0-preview.4",
31-
"react": "19.2.0",
32-
"react-dom": "19.2.0",
33-
"react-native": "0.83.6",
31+
"react": "19.1.0",
32+
"react-dom": "19.1.0",
33+
"react-native": "0.81.5",
3434
"react-native-css": "^3.0.7",
35-
"react-native-gesture-handler": "~2.30.0",
35+
"react-native-gesture-handler": "~2.28.0",
3636
"react-native-get-random-values": "~1.11.0",
37-
"react-native-reanimated": "4.2.1",
37+
"react-native-reanimated": "~4.1.1",
3838
"react-native-safe-area-context": "~5.6.0",
39-
"react-native-screens": "~4.23.0",
39+
"react-native-screens": "~4.16.0",
4040
"react-native-web": "^0.21.0",
41-
"react-native-worklets": "0.7.4",
41+
"react-native-worklets": "0.5.1",
4242
"uuid": "^9.0.1"
4343
},
4444
"devDependencies": {
4545
"@babel/core": "^7.24.0",
4646
"@tailwindcss/postcss": "^4.3.0",
47-
"@types/react": "~19.2.10",
47+
"@types/react": "~19.1.10",
4848
"@types/react-native": "~0.70.6",
4949
"babel-loader": "8.1.0",
5050
"postcss": "^8.5.15",

lerna.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"version": "55.0.0",
2+
"version": "54.1.0",
33
"npmClient": "yarn",
44
"packages": [
55
"packages/*",

packages/core/jest-setup.js

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
11
import "@shopify/flash-list/jestSetup";
2-
3-
jest.mock("react-native-worklets", () =>
4-
require("react-native-worklets/lib/module/mock")
5-
);
6-
72
require("react-native-reanimated").setUpTests();
83

94
// Fixes reanimated jest bug: https://github.com/software-mansion/react-native-reanimated/issues/3125

packages/core/package.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@draftbit/core",
3-
"version": "55.0.0",
3+
"version": "54.1.0",
44
"description": "Core (non-native) Components",
55
"main": "./src/index.tsx",
66
"react-native": "./src/index.tsx",
@@ -42,7 +42,7 @@
4242
"homepage": "https://github.com/draftbit/react-native-jigsaw#readme",
4343
"dependencies": {
4444
"@draftbit/react-theme-provider": "^2.1.1",
45-
"@draftbit/theme": "55.0.0",
45+
"@draftbit/theme": "54.1.0",
4646
"@emotion/react": "^11.13.5",
4747
"@emotion/styled": "^11.13.5",
4848
"@expo/vector-icons": "^15.0.3",
@@ -51,15 +51,15 @@
5151
"@lottiefiles/react-lottie-player": "3.5.3",
5252
"@mui/material": "^6.1.9",
5353
"@mui/x-date-pickers": "^7.22.3",
54-
"@react-native-community/slider": "5.1.2",
55-
"@react-native-picker/picker": "2.11.4",
54+
"@react-native-community/slider": "5.0.1",
55+
"@react-native-picker/picker": "2.11.1",
5656
"@shopify/flash-list": "2.0.2",
5757
"color": "^4.2.3",
5858
"date-fns": "^4.1.0",
5959
"dateformat": "^5.0.3",
60-
"expo-audio": "~55.0.15",
61-
"expo-image": "~55.0.11",
62-
"expo-video": "~55.0.18",
60+
"expo-audio": "~1.1.1",
61+
"expo-image": "~3.0.11",
62+
"expo-video": "~3.0.16",
6363
"lodash.isequal": "^4.5.0",
6464
"lodash.isnumber": "^3.0.3",
6565
"lodash.omit": "^4.5.0",
@@ -70,20 +70,20 @@
7070
"react-native-date-picker": "^5.0.7",
7171
"react-native-deck-swiper": "^2.0.17",
7272
"react-native-dropdown-picker": "^5.4.7-beta.1",
73-
"react-native-gesture-handler": "~2.30.0",
73+
"react-native-gesture-handler": "~2.28.0",
7474
"react-native-keyboard-aware-scroll-view": "^0.9.5",
7575
"react-native-markdown-display": "^7.0.2",
7676
"react-native-modal-datetime-picker": "^18.0.0",
77-
"react-native-pager-view": "8.0.0",
78-
"react-native-reanimated": "4.2.1",
77+
"react-native-pager-view": "6.9.1",
78+
"react-native-reanimated": "~4.1.1",
7979
"react-native-select-dropdown": "4.0.1",
8080
"react-native-shadow-2": "^7.1.1",
81-
"react-native-svg": "15.15.3",
81+
"react-native-svg": "15.12.1",
8282
"react-native-swipe-list-view": "^3.2.9",
8383
"react-native-tab-view": "^3.4.0",
8484
"react-native-web-swiper": "^2.2.4",
85-
"react-native-webview": "13.16.0",
86-
"react-native-worklets": "0.7.4",
85+
"react-native-webview": "13.15.0",
86+
"react-native-worklets": "0.5.1",
8787
"react-native-youtube-iframe": "^2.3.0",
8888
"react-youtube": "^10.1.0",
8989
"uuid": "^11.0.3"

packages/core/src/components/MediaPlayer/VideoPlayer/VideoPlayer.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ interface VideoPlayerProps extends ExpoVideoPropsOmitted, MediaPlayerProps {
4545
positionMillis?: number;
4646
rate?: number;
4747
volume?: number;
48-
allowsFullscreen?: boolean;
4948
}
5049

5150
export interface VideoPlayerRef extends MediaPlayerRef {
@@ -265,7 +264,7 @@ const VideoPlayer = React.forwardRef<VideoPlayerRef, VideoPlayerProps>(
265264
contentFit={mappedVideoContentFit}
266265
onFullscreenEnter={() => onFullscreenUpdate("entered")}
267266
onFullscreenExit={() => onFullscreenUpdate("exited")}
268-
fullscreenOptions={{ enable: allowsFullscreen }}
267+
allowsFullscreen={allowsFullscreen}
269268
{...videoPlayerProps}
270269
/>
271270
{showPoster && posterSource && (

packages/maps/jest-setup.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,6 @@ jest.mock("react-native-webview", () => ({
44
default: () => jest.fn(), // or any mocked component instead of native view,
55
}));
66

7-
jest.mock("react-native-worklets", () =>
8-
require("react-native-worklets/src/mock")
9-
);
10-
117
jest.mock("expo-constants", () => {
128
const actual = jest.requireActual("expo-constants");
139
return { ...actual, experienceUrl: null };

packages/maps/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@draftbit/maps",
3-
"version": "55.0.0",
3+
"version": "54.1.0",
44
"description": "Map Components",
55
"main": "./src/index.tsx",
66
"react-native": "./src/index.tsx",
@@ -41,14 +41,14 @@
4141
},
4242
"homepage": "https://github.com/draftbit/react-native-jigsaw#readme",
4343
"dependencies": {
44-
"@draftbit/core": "55.0.0",
45-
"@draftbit/theme": "55.0.0",
44+
"@draftbit/core": "54.1.0",
45+
"@draftbit/theme": "54.1.0",
4646
"@react-google-maps/api": "~2.20.3",
4747
"@teovilla/react-native-web-maps": "^0.9.5",
4848
"color": "^4.2.3",
4949
"lodash.isequal": "^4.5.0",
50-
"react-native-maps": "1.27.2",
51-
"react-native-webview": "13.16.0"
50+
"react-native-maps": "1.20.1",
51+
"react-native-webview": "13.15.0"
5252
},
5353
"jest": {
5454
"preset": "jest-expo",
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
import React from "react";
2+
import { View } from "react-native";
3+
import { render, screen } from "@testing-library/react-native";
4+
import MapView from "../components/MapView";
5+
import MapMarker from "../components/MapMarker";
6+
import MapCallout from "../components/MapCallout";
7+
import { Callout as MapCalloutComponent } from "../components/react-native-maps";
8+
9+
jest.mock("../components/react-native-maps", () => {
10+
const React = require("react");
11+
12+
class MapView extends React.Component {
13+
render(): React.ReactNode {
14+
return <>{this.props.children}</>;
15+
}
16+
}
17+
18+
class Marker extends React.Component {
19+
render(): React.ReactNode {
20+
return <>{this.props.children}</>;
21+
}
22+
}
23+
24+
const Callout = (props: any) => {
25+
return <>{props.children}</>;
26+
};
27+
28+
return {
29+
__esModule: true,
30+
default: MapView,
31+
Marker,
32+
Callout,
33+
};
34+
});
35+
36+
beforeEach(() => {
37+
jest.clearAllMocks();
38+
});
39+
40+
describe("MapMarker tests", () => {
41+
test("should render default MapCallout when title and description provided", () => {
42+
const title = "Title";
43+
const description = "Some description";
44+
45+
render(
46+
<MapView apiKey="">
47+
<MapMarker
48+
latitude={43.741895}
49+
longitude={-73.989308}
50+
title={title}
51+
description={description}
52+
/>
53+
</MapView>
54+
);
55+
56+
const callout = screen.UNSAFE_queryByType(MapCalloutComponent);
57+
const titleText = screen.queryByText(title);
58+
const descriptionText = screen.queryByText(description);
59+
60+
expect(callout).toBeTruthy();
61+
expect(titleText).toBeTruthy();
62+
expect(descriptionText).toBeTruthy();
63+
});
64+
65+
test("should render MapCallout children as a callout", () => {
66+
render(
67+
<MapView apiKey="">
68+
<MapMarker latitude={43.741895} longitude={-73.989308}>
69+
<MapCallout>
70+
<View testID="callout-view" />
71+
</MapCallout>
72+
</MapMarker>
73+
</MapView>
74+
);
75+
76+
const callout = screen.UNSAFE_queryByType(MapCalloutComponent);
77+
const calloutView = screen.queryByTestId("callout-view");
78+
79+
expect(callout).toBeTruthy();
80+
expect(calloutView).toBeTruthy();
81+
});
82+
83+
test("should render non MapCallout children as a custom marker", () => {
84+
render(
85+
<MapView apiKey="">
86+
<MapMarker latitude={43.741895} longitude={-73.989308}>
87+
<View testID="custom-marker" />
88+
</MapMarker>
89+
</MapView>
90+
);
91+
92+
const callout = screen.UNSAFE_queryByType(MapCalloutComponent);
93+
const customMarker = screen.queryByTestId("custom-marker");
94+
95+
expect(callout).toBeFalsy();
96+
expect(customMarker).toBeTruthy();
97+
});
98+
99+
test("should render Image as a custom marker when pinImage is provided", () => {
100+
render(
101+
<MapView apiKey="">
102+
<MapMarker
103+
latitude={43.741895}
104+
longitude={-73.989308}
105+
pinImage={"image"}
106+
/>
107+
</MapView>
108+
);
109+
110+
const markerPinImage = screen.queryByTestId("map-marker-pin-image");
111+
112+
expect(markerPinImage).toBeTruthy();
113+
});
114+
115+
test("should MapCallout render when wrapped in fragment", () => {
116+
render(
117+
<MapView apiKey="">
118+
<MapMarker latitude={43.741895} longitude={-73.989308}>
119+
<>
120+
<MapCallout>
121+
<View testID="callout-view" />
122+
</MapCallout>
123+
</>
124+
</MapMarker>
125+
</MapView>
126+
);
127+
128+
const calloutView = screen.queryByTestId("callout-view");
129+
expect(calloutView).toBeTruthy();
130+
});
131+
});

0 commit comments

Comments
 (0)