expo 52.0.0-preview.19 → 52.0.0-preview.20
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/dom/base.d.ts.map +1 -1
- package/build/dom/webview-wrapper.d.ts.map +1 -1
- package/build/launch/registerRootComponent.d.ts +0 -1
- package/build/launch/registerRootComponent.d.ts.map +1 -1
- package/bundledNativeModules.json +11 -11
- package/package.json +5 -5
- package/src/Expo.fx.tsx +1 -7
- package/src/dom/base.ts +26 -15
- package/src/dom/injection.ts +3 -3
- package/src/dom/webview-wrapper.tsx +4 -0
- package/src/launch/registerRootComponent.tsx +0 -1
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.0-preview.
|
|
36
|
+
version = '52.0.0-preview.20'
|
|
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.0-preview.
|
|
49
|
+
versionName "52.0.0-preview.20"
|
|
50
50
|
consumerProguardFiles("proguard-rules.pro")
|
|
51
51
|
}
|
|
52
52
|
testOptions {
|
package/build/dom/base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/dom/base.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/dom/base.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAkCnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webview-wrapper.d.ts","sourceRoot":"","sources":["../../src/dom/webview-wrapper.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAiB,QAAQ,EAA4B,MAAM,aAAa,CAAC;AAcrF,UAAU,KAAK;IACb,GAAG,EAAE,QAAQ,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,QAAA,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"webview-wrapper.d.ts","sourceRoot":"","sources":["../../src/dom/webview-wrapper.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAiB,QAAQ,EAA4B,MAAM,aAAa,CAAC;AAcrF,UAAU,KAAK;IACb,GAAG,EAAE,QAAQ,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,QAAA,MAAM,UAAU,sEAkLd,CAAC;AAaH,wBAAgB,cAAc,CAAC,iBAAiB,EAAE,OAAO,OASxD;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -17,7 +17,6 @@ type InitialProps = {
|
|
|
17
17
|
* - Invokes React Native's `AppRegistry.registerComponent`.
|
|
18
18
|
* - Invokes React Native web's `AppRegistry.runApplication` on web to render to the root `index.html` file.
|
|
19
19
|
* - Polyfills the `process.nextTick` function globally.
|
|
20
|
-
* - Adds support for using the `fontFamily` React Native style with the `expo-font` package.
|
|
21
20
|
*
|
|
22
21
|
* This method also adds the following dev-only features that are removed in production bundles.
|
|
23
22
|
* - Adds the Fast Refresh and bundle splitting indicator to the app.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerRootComponent.d.ts","sourceRoot":"","sources":["../../src/launch/registerRootComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,YAAY,CAAC;AAEpB,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,KAAK,YAAY,GAAG;IAClB,GAAG,CAAC,EAAE;QACJ,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IACF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAGF
|
|
1
|
+
{"version":3,"file":"registerRootComponent.d.ts","sourceRoot":"","sources":["../../src/launch/registerRootComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,YAAY,CAAC;AAEpB,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,KAAK,YAAY,GAAG;IAClB,GAAG,CAAC,EAAE;QACJ,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IACF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAGF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,CAAC,SAAS,YAAY,EAClE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,GAC1B,IAAI,CAwBN"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"@expo/metro-runtime": "~4.0.0-preview.
|
|
2
|
+
"@expo/metro-runtime": "~4.0.0-preview.2",
|
|
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",
|
|
@@ -33,12 +33,12 @@
|
|
|
33
33
|
"expo-constants": "~17.0.2",
|
|
34
34
|
"expo-contacts": "~14.0.1",
|
|
35
35
|
"expo-crypto": "~14.0.1",
|
|
36
|
-
"expo-dev-client": "~5.0.0-preview.
|
|
36
|
+
"expo-dev-client": "~5.0.0-preview.7",
|
|
37
37
|
"expo-device": "~7.0.1",
|
|
38
38
|
"expo-document-picker": "~13.0.1",
|
|
39
39
|
"expo-face-detector": "~13.0.1",
|
|
40
40
|
"expo-file-system": "~18.0.0",
|
|
41
|
-
"expo-font": "~13.0.
|
|
41
|
+
"expo-font": "~13.0.1",
|
|
42
42
|
"expo-gl": "~15.0.0",
|
|
43
43
|
"expo-google-app-auth": "~8.3.0",
|
|
44
44
|
"expo-haptics": "~14.0.0",
|
|
@@ -55,14 +55,14 @@
|
|
|
55
55
|
"expo-localization": "~16.0.0",
|
|
56
56
|
"expo-location": "~18.0.1",
|
|
57
57
|
"expo-mail-composer": "~14.0.1",
|
|
58
|
-
"expo-media-library": "~17.0.
|
|
58
|
+
"expo-media-library": "~17.0.2",
|
|
59
59
|
"expo-module-template": "~10.15.6",
|
|
60
60
|
"expo-modules-core": "~2.0.0-preview.9",
|
|
61
61
|
"expo-navigation-bar": "~4.0.2",
|
|
62
62
|
"expo-network": "~7.0.0",
|
|
63
63
|
"expo-notifications": "~0.29.4",
|
|
64
64
|
"expo-print": "~14.0.2",
|
|
65
|
-
"expo-router": "~4.0.0-preview.
|
|
65
|
+
"expo-router": "~4.0.0-preview.13",
|
|
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,19 +70,19 @@
|
|
|
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.2",
|
|
74
74
|
"expo-sqlite": "~15.0.1",
|
|
75
75
|
"expo-status-bar": "~2.0.0",
|
|
76
76
|
"expo-store-review": "~8.0.0",
|
|
77
77
|
"expo-symbols": "~0.2.0",
|
|
78
78
|
"expo-system-ui": "~4.0.2",
|
|
79
|
-
"expo-task-manager": "~12.0.
|
|
79
|
+
"expo-task-manager": "~12.0.2",
|
|
80
80
|
"expo-tracking-transparency": "~5.0.0",
|
|
81
81
|
"expo-updates": "~0.26.4",
|
|
82
82
|
"expo-video-thumbnails": "~9.0.0",
|
|
83
|
-
"expo-video": "~2.0.0-preview.
|
|
83
|
+
"expo-video": "~2.0.0-preview.1",
|
|
84
84
|
"expo-web-browser": "~14.0.0",
|
|
85
|
-
"jest-expo": "~52.0.0-preview.
|
|
85
|
+
"jest-expo": "~52.0.0-preview.4",
|
|
86
86
|
"lottie-react-native": "7.0.0",
|
|
87
87
|
"react": "18.3.1",
|
|
88
88
|
"react-dom": "18.3.1",
|
|
@@ -96,12 +96,12 @@
|
|
|
96
96
|
"react-native-screens": "4.0.0-beta.16",
|
|
97
97
|
"react-native-safe-area-context": "4.12.0",
|
|
98
98
|
"react-native-svg": "15.8.0",
|
|
99
|
-
"react-native-view-shot": "
|
|
99
|
+
"react-native-view-shot": "~4.0.0",
|
|
100
100
|
"react-native-webview": "13.12.2",
|
|
101
101
|
"sentry-expo": "~7.0.0",
|
|
102
102
|
"unimodules-app-loader": "~5.0.0",
|
|
103
103
|
"unimodules-image-loader-interface": "~6.1.0",
|
|
104
104
|
"@shopify/react-native-skia": "1.5.0",
|
|
105
105
|
"@shopify/flash-list": "1.7.1",
|
|
106
|
-
"@sentry/react-native": "~
|
|
106
|
+
"@sentry/react-native": "~6.1.0"
|
|
107
107
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo",
|
|
3
|
-
"version": "52.0.0-preview.
|
|
3
|
+
"version": "52.0.0-preview.20",
|
|
4
4
|
"description": "The Expo SDK",
|
|
5
5
|
"main": "src/Expo.ts",
|
|
6
6
|
"module": "src/Expo.ts",
|
|
@@ -68,16 +68,16 @@
|
|
|
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.
|
|
71
|
+
"@expo/cli": "0.20.0",
|
|
72
72
|
"@expo/config": "10.0.2",
|
|
73
|
-
"@expo/config-plugins": "9.0.
|
|
73
|
+
"@expo/config-plugins": "9.0.6",
|
|
74
74
|
"@expo/fingerprint": "0.11.2",
|
|
75
75
|
"@expo/metro-config": "0.19.0-preview.3",
|
|
76
76
|
"@expo/vector-icons": "^14.0.0",
|
|
77
77
|
"babel-preset-expo": "~12.0.0-preview.5",
|
|
78
78
|
"expo-asset": "~11.0.0",
|
|
79
79
|
"expo-file-system": "~18.0.0",
|
|
80
|
-
"expo-font": "~13.0.
|
|
80
|
+
"expo-font": "~13.0.1",
|
|
81
81
|
"expo-keep-awake": "~14.0.1",
|
|
82
82
|
"expo-modules-autolinking": "2.0.0-preview.3",
|
|
83
83
|
"expo-modules-core": "2.0.0-preview.9",
|
|
@@ -111,5 +111,5 @@
|
|
|
111
111
|
"optional": true
|
|
112
112
|
}
|
|
113
113
|
},
|
|
114
|
-
"gitHead": "
|
|
114
|
+
"gitHead": "a64603dce90981bf7688657f87dfa4be3e24f58b"
|
|
115
115
|
}
|
package/src/Expo.fx.tsx
CHANGED
|
@@ -2,18 +2,12 @@
|
|
|
2
2
|
import './winter';
|
|
3
3
|
import 'expo-asset';
|
|
4
4
|
|
|
5
|
-
import
|
|
6
|
-
import { AppRegistry, StyleSheet } from 'react-native';
|
|
5
|
+
import { AppRegistry } from 'react-native';
|
|
7
6
|
|
|
8
7
|
import { isRunningInExpoGo } from './environment/ExpoGo';
|
|
9
8
|
import { AppEntryNotFound } from './errors/AppEntryNotFound';
|
|
10
9
|
import { createErrorHandler } from './errors/ExpoErrorManager';
|
|
11
10
|
|
|
12
|
-
// If expo-font is installed and the style preprocessor is available, use it to parse fonts.
|
|
13
|
-
if (StyleSheet.setStyleAttributePreprocessor) {
|
|
14
|
-
StyleSheet.setStyleAttributePreprocessor('fontFamily', Font.processFontFamily);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
11
|
if (isRunningInExpoGo()) {
|
|
18
12
|
// set up some improvements to commonly logged error messages stemming from react-native
|
|
19
13
|
const globalHandler = ErrorUtils.getGlobalHandler();
|
package/src/dom/base.ts
CHANGED
|
@@ -9,21 +9,10 @@ export function getBaseURL(): string {
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
// Serving from updates
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const updatesIsEmbeddedLaunch = ExpoUpdates?.isEmbeddedLaunch ?? false;
|
|
17
|
-
const shouldServeDomFromUpdates = updatesIsInstalledAndEnabled && !updatesIsEmbeddedLaunch;
|
|
18
|
-
// If updates is installed and enabled, and we're not running from an embedded launch, we should serve the DOM Components from the `.expo-internal` directory
|
|
19
|
-
if (shouldServeDomFromUpdates) {
|
|
20
|
-
const localAssets = ExpoUpdates?.localAssets ?? {};
|
|
21
|
-
const anyLocalAsset = Object.values(localAssets)[0];
|
|
22
|
-
if (anyLocalAsset) {
|
|
23
|
-
// Try to get the `.expo-internal` directory from the first local asset
|
|
24
|
-
cachedBaseUrl = anyLocalAsset.slice(0, anyLocalAsset.lastIndexOf('/'));
|
|
25
|
-
return cachedBaseUrl;
|
|
26
|
-
}
|
|
12
|
+
const updatesBaseUrl = getUpdatesBaseURL();
|
|
13
|
+
if (updatesBaseUrl != null) {
|
|
14
|
+
cachedBaseUrl = updatesBaseUrl;
|
|
15
|
+
return cachedBaseUrl;
|
|
27
16
|
}
|
|
28
17
|
|
|
29
18
|
if (process.env.EXPO_OS === 'web') {
|
|
@@ -49,3 +38,25 @@ export function getBaseURL(): string {
|
|
|
49
38
|
cachedBaseUrl = new URL('/_expo/@dom', devServer.url).toString();
|
|
50
39
|
return cachedBaseUrl;
|
|
51
40
|
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Get the base URL for the DOM Components when serving from updates
|
|
44
|
+
*/
|
|
45
|
+
function getUpdatesBaseURL(): string | null {
|
|
46
|
+
const ExpoUpdates = globalThis.expo?.modules?.['ExpoUpdates'] as
|
|
47
|
+
| import('expo-updates').ExpoUpdatesModule
|
|
48
|
+
| undefined;
|
|
49
|
+
const updatesIsInstalledAndEnabled = ExpoUpdates?.isEnabled ?? false;
|
|
50
|
+
const updatesIsEmbeddedLaunch = ExpoUpdates?.isEmbeddedLaunch ?? false;
|
|
51
|
+
const shouldServeDomFromUpdates = updatesIsInstalledAndEnabled && !updatesIsEmbeddedLaunch;
|
|
52
|
+
// If updates is installed and enabled, and we're not running from an embedded launch, we should serve the DOM Components from the `.expo-internal` directory
|
|
53
|
+
if (shouldServeDomFromUpdates) {
|
|
54
|
+
const localAssets = ExpoUpdates?.localAssets ?? {};
|
|
55
|
+
const anyLocalAsset = Object.values(localAssets)[0];
|
|
56
|
+
if (anyLocalAsset) {
|
|
57
|
+
// Try to get the `.expo-internal` directory from the first local asset
|
|
58
|
+
return anyLocalAsset.slice(0, anyLocalAsset.lastIndexOf('/'));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
62
|
+
}
|
package/src/dom/injection.ts
CHANGED
|
@@ -17,14 +17,14 @@ export const getInjectEventScript = <T extends BridgeMessage<any>>(detail: T) =>
|
|
|
17
17
|
|
|
18
18
|
export function getInjectEnvsScript() {
|
|
19
19
|
return `;(function injectEnvs() {
|
|
20
|
-
let
|
|
20
|
+
let baseUrl = '';
|
|
21
21
|
if (window.location.protocol === 'file:') {
|
|
22
|
-
|
|
22
|
+
baseUrl = window.location.href.substring(0, window.location.href.lastIndexOf('/'));
|
|
23
23
|
}
|
|
24
24
|
window.process = window.process || {};
|
|
25
25
|
window.process.env = {
|
|
26
26
|
...(window.process.env || {}),
|
|
27
|
-
|
|
27
|
+
EXPO_BASE_URL: baseUrl,
|
|
28
28
|
};
|
|
29
29
|
})();
|
|
30
30
|
true;`;
|
|
@@ -88,6 +88,10 @@ const RawWebView = React.forwardRef<object, Props>(({ dom, filePath, ...marshalP
|
|
|
88
88
|
webviewDebuggingEnabled: __DEV__,
|
|
89
89
|
// Make iOS scrolling feel native.
|
|
90
90
|
decelerationRate: process.env.EXPO_OS === 'ios' ? 'normal' : undefined,
|
|
91
|
+
// This is a better default for integrating with native navigation.
|
|
92
|
+
contentInsetAdjustmentBehavior: 'automatic',
|
|
93
|
+
// This is the default in ScrollView and upstream native.
|
|
94
|
+
automaticallyAdjustsScrollIndicatorInsets: true,
|
|
91
95
|
originWhitelist: ['*'],
|
|
92
96
|
allowFileAccess: true,
|
|
93
97
|
allowFileAccessFromFileURLs: true,
|
|
@@ -22,7 +22,6 @@ type InitialProps = {
|
|
|
22
22
|
* - Invokes React Native's `AppRegistry.registerComponent`.
|
|
23
23
|
* - Invokes React Native web's `AppRegistry.runApplication` on web to render to the root `index.html` file.
|
|
24
24
|
* - Polyfills the `process.nextTick` function globally.
|
|
25
|
-
* - Adds support for using the `fontFamily` React Native style with the `expo-font` package.
|
|
26
25
|
*
|
|
27
26
|
* This method also adds the following dev-only features that are removed in production bundles.
|
|
28
27
|
* - Adds the Fast Refresh and bundle splitting indicator to the app.
|