expo 52.0.6 → 52.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +2 -2
- package/build/winter/FormData.d.ts.map +1 -1
- package/build/winter/fetch/FetchResponse.d.ts +2 -0
- package/build/winter/fetch/FetchResponse.d.ts.map +1 -1
- package/bundledNativeModules.json +25 -25
- package/package.json +7 -7
- package/src/winter/FormData.ts +5 -0
- package/src/winter/fetch/FetchResponse.ts +17 -2
- package/src/winter/runtime.native.ts +2 -0
- package/src/ts-declarations/process.d.ts +0 -18
package/android/build.gradle
CHANGED
|
@@ -33,7 +33,7 @@ def getRNVersion() {
|
|
|
33
33
|
ensureDependeciesWereEvaluated(project)
|
|
34
34
|
|
|
35
35
|
group = 'host.exp.exponent'
|
|
36
|
-
version = '52.0.
|
|
36
|
+
version = '52.0.8'
|
|
37
37
|
|
|
38
38
|
buildscript {
|
|
39
39
|
// Simple helper that allows the root project to override versions declared by this library.
|
|
@@ -46,7 +46,7 @@ android {
|
|
|
46
46
|
namespace "expo.core"
|
|
47
47
|
defaultConfig {
|
|
48
48
|
versionCode 1
|
|
49
|
-
versionName "52.0.
|
|
49
|
+
versionName "52.0.8"
|
|
50
50
|
consumerProguardFiles("proguard-rules.pro")
|
|
51
51
|
}
|
|
52
52
|
testOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormData.d.ts","sourceRoot":"","sources":["../../src/winter/FormData.ts"],"names":[],"mappings":"AA6BA,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,QAAQ;;;
|
|
1
|
+
{"version":3,"file":"FormData.d.ts","sourceRoot":"","sources":["../../src/winter/FormData.ts"],"names":[],"mappings":"AA6BA,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,QAAQ;;;EA8H7D"}
|
|
@@ -5,6 +5,7 @@ declare const ConcreteNativeResponse: typeof NativeResponse;
|
|
|
5
5
|
* A response implementation for the `fetch.Response` API.
|
|
6
6
|
*/
|
|
7
7
|
export declare class FetchResponse extends ConcreteNativeResponse implements Response {
|
|
8
|
+
private streamingStarted;
|
|
8
9
|
get body(): ReadableStream<Uint8Array> | null;
|
|
9
10
|
get headers(): Headers;
|
|
10
11
|
get ok(): boolean;
|
|
@@ -15,6 +16,7 @@ export declare class FetchResponse extends ConcreteNativeResponse implements Res
|
|
|
15
16
|
toString(): string;
|
|
16
17
|
toJSON(): object;
|
|
17
18
|
clone(): FetchResponse;
|
|
19
|
+
private removeAllRegisteredListeners;
|
|
18
20
|
}
|
|
19
21
|
export {};
|
|
20
22
|
//# sourceMappingURL=FetchResponse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FetchResponse.d.ts","sourceRoot":"","sources":["../../../src/winter/fetch/FetchResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,QAAA,MAAM,sBAAsB,uBAA0D,CAAC;AAEvF;;GAEG;AACH,qBAAa,aAAc,SAAQ,sBAAuB,YAAW,QAAQ;IAC3E,IAAI,IAAI,IAAI,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"FetchResponse.d.ts","sourceRoot":"","sources":["../../../src/winter/fetch/FetchResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,QAAA,MAAM,sBAAsB,uBAA0D,CAAC;AAEvF;;GAEG;AACH,qBAAa,aAAc,SAAQ,sBAAuB,YAAW,QAAQ;IAC3E,OAAO,CAAC,gBAAgB,CAAS;IAEjC,IAAI,IAAI,IAAI,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CA6B5C;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,EAAE,IAAI,OAAO,CAEhB;IAED,SAAgB,IAAI,aAAa;IAE3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IAY7B,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC;IAK1B,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;IAShB,KAAK,IAAI,aAAa;IAItB,OAAO,CAAC,4BAA4B;CAKrC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"@expo/vector-icons": "^14.0.2",
|
|
4
4
|
"@react-native-async-storage/async-storage": "1.23.1",
|
|
5
5
|
"@react-native-community/datetimepicker": "8.2.0",
|
|
6
|
-
"@react-native-masked-view/masked-view": "0.3.
|
|
6
|
+
"@react-native-masked-view/masked-view": "0.3.2",
|
|
7
7
|
"@react-native-community/netinfo": "11.4.1",
|
|
8
8
|
"@react-native-community/slider": "4.5.5",
|
|
9
9
|
"@react-native-community/viewpager": "5.0.11",
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
"expo-analytics-amplitude": "~11.3.0",
|
|
15
15
|
"expo-app-auth": "~11.1.0",
|
|
16
16
|
"expo-app-loader-provider": "~8.0.0",
|
|
17
|
-
"expo-apple-authentication": "~7.
|
|
17
|
+
"expo-apple-authentication": "~7.1.2",
|
|
18
18
|
"expo-application": "~6.0.1",
|
|
19
19
|
"expo-asset": "~11.0.1",
|
|
20
|
-
"expo-audio": "~0.2.
|
|
20
|
+
"expo-audio": "~0.2.4",
|
|
21
21
|
"expo-auth-session": "~6.0.0",
|
|
22
22
|
"expo-av": "~15.0.1",
|
|
23
23
|
"expo-background-fetch": "~13.0.3",
|
|
@@ -26,43 +26,43 @@
|
|
|
26
26
|
"expo-brightness": "~13.0.2",
|
|
27
27
|
"expo-build-properties": "~0.13.1",
|
|
28
28
|
"expo-calendar": "~14.0.2",
|
|
29
|
-
"expo-camera": "~16.0.
|
|
29
|
+
"expo-camera": "~16.0.6",
|
|
30
30
|
"expo-cellular": "~7.0.1",
|
|
31
31
|
"expo-checkbox": "~4.0.0",
|
|
32
32
|
"expo-clipboard": "~7.0.0",
|
|
33
33
|
"expo-constants": "~17.0.3",
|
|
34
34
|
"expo-contacts": "~14.0.2",
|
|
35
35
|
"expo-crypto": "~14.0.1",
|
|
36
|
-
"expo-dev-client": "~5.0.
|
|
36
|
+
"expo-dev-client": "~5.0.2",
|
|
37
37
|
"expo-device": "~7.0.1",
|
|
38
38
|
"expo-document-picker": "~13.0.1",
|
|
39
39
|
"expo-face-detector": "~13.0.1",
|
|
40
|
-
"expo-file-system": "~18.0.
|
|
40
|
+
"expo-file-system": "~18.0.4",
|
|
41
41
|
"expo-font": "~13.0.1",
|
|
42
|
-
"expo-gl": "~15.0.
|
|
42
|
+
"expo-gl": "~15.0.2",
|
|
43
43
|
"expo-google-app-auth": "~8.3.0",
|
|
44
44
|
"expo-haptics": "~14.0.0",
|
|
45
|
-
"expo-image": "~2.0.
|
|
45
|
+
"expo-image": "~2.0.1",
|
|
46
46
|
"expo-image-loader": "~5.0.0",
|
|
47
47
|
"expo-image-manipulator": "~13.0.5",
|
|
48
|
-
"expo-image-picker": "~16.0.
|
|
48
|
+
"expo-image-picker": "~16.0.2",
|
|
49
49
|
"expo-intent-launcher": "~12.0.1",
|
|
50
50
|
"expo-insights": "~0.8.1",
|
|
51
51
|
"expo-keep-awake": "~14.0.1",
|
|
52
52
|
"expo-linear-gradient": "~14.0.1",
|
|
53
|
-
"expo-linking": "~7.0.
|
|
53
|
+
"expo-linking": "~7.0.3",
|
|
54
54
|
"expo-local-authentication": "~15.0.1",
|
|
55
55
|
"expo-localization": "~16.0.0",
|
|
56
|
-
"expo-location": "~18.0.
|
|
56
|
+
"expo-location": "~18.0.2",
|
|
57
57
|
"expo-mail-composer": "~14.0.1",
|
|
58
58
|
"expo-media-library": "~17.0.2",
|
|
59
|
-
"expo-module-template": "~10.15.
|
|
60
|
-
"expo-modules-core": "~2.0.
|
|
61
|
-
"expo-navigation-bar": "~4.0.
|
|
59
|
+
"expo-module-template": "~10.15.10",
|
|
60
|
+
"expo-modules-core": "~2.0.4",
|
|
61
|
+
"expo-navigation-bar": "~4.0.3",
|
|
62
62
|
"expo-network": "~7.0.0",
|
|
63
|
-
"expo-notifications": "~0.29.
|
|
63
|
+
"expo-notifications": "~0.29.8",
|
|
64
64
|
"expo-print": "~14.0.2",
|
|
65
|
-
"expo-router": "~4.0.
|
|
65
|
+
"expo-router": "~4.0.7",
|
|
66
66
|
"expo-screen-capture": "~7.0.0",
|
|
67
67
|
"expo-screen-orientation": "~8.0.0",
|
|
68
68
|
"expo-secure-store": "~14.0.0",
|
|
@@ -70,34 +70,34 @@
|
|
|
70
70
|
"expo-sharing": "~13.0.0",
|
|
71
71
|
"expo-sms": "~13.0.0",
|
|
72
72
|
"expo-speech": "~13.0.0",
|
|
73
|
-
"expo-splash-screen": "~0.29.
|
|
73
|
+
"expo-splash-screen": "~0.29.11",
|
|
74
74
|
"expo-sqlite": "~15.0.3",
|
|
75
75
|
"expo-status-bar": "~2.0.0",
|
|
76
76
|
"expo-store-review": "~8.0.0",
|
|
77
77
|
"expo-symbols": "~0.2.0",
|
|
78
|
-
"expo-system-ui": "~4.0.
|
|
78
|
+
"expo-system-ui": "~4.0.3",
|
|
79
79
|
"expo-task-manager": "~12.0.3",
|
|
80
80
|
"expo-tracking-transparency": "~5.0.0",
|
|
81
81
|
"expo-updates": "~0.26.7",
|
|
82
82
|
"expo-video-thumbnails": "~9.0.2",
|
|
83
|
-
"expo-video": "~2.0.
|
|
83
|
+
"expo-video": "~2.0.1",
|
|
84
84
|
"expo-web-browser": "~14.0.1",
|
|
85
|
-
"jest-expo": "~52.0.
|
|
86
|
-
"lottie-react-native": "7.
|
|
85
|
+
"jest-expo": "~52.0.2",
|
|
86
|
+
"lottie-react-native": "7.1.0",
|
|
87
87
|
"react": "18.3.1",
|
|
88
88
|
"react-dom": "18.3.1",
|
|
89
|
-
"react-native": "0.76.
|
|
89
|
+
"react-native": "0.76.2",
|
|
90
90
|
"react-native-web": "~0.19.13",
|
|
91
91
|
"react-native-gesture-handler": "~2.20.2",
|
|
92
92
|
"react-native-get-random-values": "~1.11.0",
|
|
93
93
|
"react-native-maps": "1.18.0",
|
|
94
|
-
"react-native-pager-view": "6.
|
|
94
|
+
"react-native-pager-view": "6.5.1",
|
|
95
95
|
"react-native-reanimated": "~3.16.1",
|
|
96
|
-
"react-native-screens": "~4.
|
|
96
|
+
"react-native-screens": "~4.1.0",
|
|
97
97
|
"react-native-safe-area-context": "4.12.0",
|
|
98
98
|
"react-native-svg": "15.8.0",
|
|
99
99
|
"react-native-view-shot": "~4.0.0",
|
|
100
|
-
"react-native-webview": "13.12.
|
|
100
|
+
"react-native-webview": "13.12.4",
|
|
101
101
|
"sentry-expo": "~7.0.0",
|
|
102
102
|
"unimodules-app-loader": "~5.0.0",
|
|
103
103
|
"unimodules-image-loader-interface": "~6.1.0",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo",
|
|
3
|
-
"version": "52.0.
|
|
3
|
+
"version": "52.0.8",
|
|
4
4
|
"description": "The Expo SDK",
|
|
5
5
|
"main": "src/Expo.ts",
|
|
6
6
|
"module": "src/Expo.ts",
|
|
@@ -68,20 +68,20 @@
|
|
|
68
68
|
"homepage": "https://github.com/expo/expo/tree/main/packages/expo",
|
|
69
69
|
"dependencies": {
|
|
70
70
|
"@babel/runtime": "^7.20.0",
|
|
71
|
-
"@expo/cli": "0.21.
|
|
71
|
+
"@expo/cli": "0.21.6",
|
|
72
72
|
"@expo/config": "~10.0.4",
|
|
73
73
|
"@expo/config-plugins": "9.0.9",
|
|
74
74
|
"@expo/fingerprint": "0.11.2",
|
|
75
75
|
"@expo/metro-config": "0.19.4",
|
|
76
76
|
"@expo/vector-icons": "^14.0.0",
|
|
77
|
-
"babel-preset-expo": "~12.0.
|
|
77
|
+
"babel-preset-expo": "~12.0.1",
|
|
78
78
|
"expo-asset": "~11.0.1",
|
|
79
79
|
"expo-constants": "~17.0.3",
|
|
80
|
-
"expo-file-system": "~18.0.
|
|
80
|
+
"expo-file-system": "~18.0.4",
|
|
81
81
|
"expo-font": "~13.0.1",
|
|
82
82
|
"expo-keep-awake": "~14.0.1",
|
|
83
83
|
"expo-modules-autolinking": "2.0.2",
|
|
84
|
-
"expo-modules-core": "2.0.
|
|
84
|
+
"expo-modules-core": "2.0.4",
|
|
85
85
|
"fbemitter": "^3.0.0",
|
|
86
86
|
"web-streams-polyfill": "^3.3.2",
|
|
87
87
|
"whatwg-url-without-unicode": "8.0.0-3"
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"expo-module-scripts": "^4.0.2",
|
|
93
93
|
"react": "18.3.1",
|
|
94
94
|
"react-dom": "18.3.1",
|
|
95
|
-
"react-native": "0.76.
|
|
95
|
+
"react-native": "0.76.2"
|
|
96
96
|
},
|
|
97
97
|
"peerDependencies": {
|
|
98
98
|
"@expo/dom-webview": "*",
|
|
@@ -112,5 +112,5 @@
|
|
|
112
112
|
"optional": true
|
|
113
113
|
}
|
|
114
114
|
},
|
|
115
|
-
"gitHead": "
|
|
115
|
+
"gitHead": "128718d43bac2eaed764b3551469b95400f2363e"
|
|
116
116
|
}
|
package/src/winter/FormData.ts
CHANGED
|
@@ -114,11 +114,13 @@ export function installFormDataPatch(formData: typeof FormData) {
|
|
|
114
114
|
);
|
|
115
115
|
}
|
|
116
116
|
for (const part of this._parts) {
|
|
117
|
+
// @ts-ignore: part[1] could throw an error in Node.js runtime because of `File` type mismatch.
|
|
117
118
|
callback.call(thisArg, part[1], part[0], this);
|
|
118
119
|
}
|
|
119
120
|
};
|
|
120
121
|
|
|
121
122
|
// Required for RSC: https://github.com/facebook/react/blob/985747f81033833dca22f30b0c04704dd4bd3714/packages/react-server/src/ReactFlightServer.js#L2117
|
|
123
|
+
// @ts-ignore: DOM.iterable is disabled for jest compat
|
|
122
124
|
formData.prototype.entries = function* entries(
|
|
123
125
|
this: ReactNativeFormDataInternal
|
|
124
126
|
): IterableIterator<[string, FormDataEntryValue]> {
|
|
@@ -129,12 +131,14 @@ export function installFormDataPatch(formData: typeof FormData) {
|
|
|
129
131
|
}
|
|
130
132
|
};
|
|
131
133
|
|
|
134
|
+
// @ts-ignore: DOM.iterable is disabled for jest compat
|
|
132
135
|
formData.prototype.keys ??= function* keys(this: ReactNativeFormDataInternal) {
|
|
133
136
|
for (const part of this._parts) {
|
|
134
137
|
yield part[0];
|
|
135
138
|
}
|
|
136
139
|
};
|
|
137
140
|
|
|
141
|
+
// @ts-ignore: DOM.iterable is disabled for jest compat
|
|
138
142
|
formData.prototype.values ??= function* values(
|
|
139
143
|
this: ReactNativeFormDataInternal
|
|
140
144
|
): IterableIterator<FormDataEntryValue> {
|
|
@@ -145,6 +149,7 @@ export function installFormDataPatch(formData: typeof FormData) {
|
|
|
145
149
|
}
|
|
146
150
|
};
|
|
147
151
|
|
|
152
|
+
// @ts-ignore: DOM.iterable is disabled for jest compat
|
|
148
153
|
formData.prototype[Symbol.iterator] = formData.prototype.entries;
|
|
149
154
|
|
|
150
155
|
return formData;
|
|
@@ -9,6 +9,8 @@ const ConcreteNativeResponse = ExpoFetchModule.NativeResponse as typeof NativeRe
|
|
|
9
9
|
* A response implementation for the `fetch.Response` API.
|
|
10
10
|
*/
|
|
11
11
|
export class FetchResponse extends ConcreteNativeResponse implements Response {
|
|
12
|
+
private streamingStarted = false;
|
|
13
|
+
|
|
12
14
|
get body(): ReadableStream<Uint8Array> | null {
|
|
13
15
|
const response = this;
|
|
14
16
|
return new ReadableStream({
|
|
@@ -18,16 +20,23 @@ export class FetchResponse extends ConcreteNativeResponse implements Response {
|
|
|
18
20
|
});
|
|
19
21
|
|
|
20
22
|
response.addListener('didComplete', () => {
|
|
23
|
+
response.removeAllRegisteredListeners();
|
|
21
24
|
controller.close();
|
|
22
25
|
});
|
|
23
26
|
|
|
24
27
|
response.addListener('didFailWithError', (error: string) => {
|
|
28
|
+
response.removeAllRegisteredListeners();
|
|
25
29
|
controller.error(new Error(error));
|
|
26
30
|
});
|
|
27
|
-
|
|
28
|
-
|
|
31
|
+
},
|
|
32
|
+
pull() {
|
|
33
|
+
if (!response.streamingStarted) {
|
|
34
|
+
response.startStreaming();
|
|
35
|
+
response.streamingStarted = true;
|
|
36
|
+
}
|
|
29
37
|
},
|
|
30
38
|
cancel(reason) {
|
|
39
|
+
response.removeAllRegisteredListeners();
|
|
31
40
|
response.cancelStreaming(String(reason));
|
|
32
41
|
},
|
|
33
42
|
});
|
|
@@ -81,4 +90,10 @@ export class FetchResponse extends ConcreteNativeResponse implements Response {
|
|
|
81
90
|
clone(): FetchResponse {
|
|
82
91
|
throw new Error('Not implemented');
|
|
83
92
|
}
|
|
93
|
+
|
|
94
|
+
private removeAllRegisteredListeners() {
|
|
95
|
+
this.removeAllListeners('didReceiveResponseData');
|
|
96
|
+
this.removeAllListeners('didComplete');
|
|
97
|
+
this.removeAllListeners('didFailWithError');
|
|
98
|
+
}
|
|
84
99
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// This file configures the runtime environment to increase compatibility with WinterCG.
|
|
2
2
|
// https://wintercg.org/
|
|
3
|
+
|
|
4
|
+
// @ts-ignore: PolyfillFunctions does not have types exported
|
|
3
5
|
import { polyfillGlobal as installGlobal } from 'react-native/Libraries/Utilities/PolyfillFunctions';
|
|
4
6
|
|
|
5
7
|
import { installFormDataPatch } from './FormData';
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
declare const process: {
|
|
2
|
-
env: {
|
|
3
|
-
NODE_ENV: string;
|
|
4
|
-
/** Used in `@expo/metro-runtime`. */
|
|
5
|
-
EXPO_DEV_SERVER_ORIGIN?: string;
|
|
6
|
-
|
|
7
|
-
EXPO_ROUTER_IMPORT_MODE?: string;
|
|
8
|
-
EXPO_ROUTER_ABS_APP_ROOT?: string;
|
|
9
|
-
EXPO_ROUTER_APP_ROOT?: string;
|
|
10
|
-
|
|
11
|
-
/** Maps to the `experiments.baseUrl` property in the project Expo config. This is injected by `babel-preset-expo` and supports automatic cache invalidation. */
|
|
12
|
-
EXPO_BASE_URL?: string;
|
|
13
|
-
|
|
14
|
-
/** Build-time representation of the `Platform.OS` value that the current JavaScript was bundled for. Does not support platform shaking wrapped require statements. */
|
|
15
|
-
EXPO_OS?: string;
|
|
16
|
-
};
|
|
17
|
-
[key: string]: any;
|
|
18
|
-
};
|