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.
@@ -33,7 +33,7 @@ def getRNVersion() {
33
33
  ensureDependeciesWereEvaluated(project)
34
34
 
35
35
  group = 'host.exp.exponent'
36
- version = '52.0.0-preview.19'
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.19"
49
+ versionName "52.0.0-preview.20"
50
50
  consumerProguardFiles("proguard-rules.pro")
51
51
  }
52
52
  testOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/dom/base.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CA6CnC"}
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,sEA8Kd,CAAC;AAaH,wBAAgB,cAAc,CAAC,iBAAiB,EAAE,OAAO,OASxD;AAED,eAAe,UAAU,CAAC"}
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;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,CAAC,SAAS,YAAY,EAClE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,GAC1B,IAAI,CAwBN"}
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.1",
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.6",
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.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.1",
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.12",
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.1",
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.1",
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.0",
83
+ "expo-video": "~2.0.0-preview.1",
84
84
  "expo-web-browser": "~14.0.0",
85
- "jest-expo": "~52.0.0-preview.3",
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": "3.8.0",
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": "~5.33.1"
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.19",
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.19.14",
71
+ "@expo/cli": "0.20.0",
72
72
  "@expo/config": "10.0.2",
73
- "@expo/config-plugins": "9.0.5",
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.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": "d97ae0839fa465cee14e13ca38f3c6c84c124d82"
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 * as Font from 'expo-font';
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 ExpoUpdates = globalThis.expo?.modules?.['ExpoUpdates'] as
13
- | import('expo-updates').ExpoUpdatesModule
14
- | undefined;
15
- const updatesIsInstalledAndEnabled = ExpoUpdates?.isEnabled ?? false;
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
+ }
@@ -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 domBaseUrl = '';
20
+ let baseUrl = '';
21
21
  if (window.location.protocol === 'file:') {
22
- domBaseUrl = window.location.href.substring(0, window.location.href.lastIndexOf('/'));
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
- EXPO_DOM_BASE_URL: domBaseUrl,
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.