expo 45.0.0-beta.1 → 45.0.0-beta.2
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/CHANGELOG.md +3 -5
- package/android/build.gradle +2 -2
- package/android/src/main/java/expo/modules/ReactNativeHostWrapperBase.kt +3 -1
- package/build/environment/DevLoadingView.js +4 -6
- package/build/environment/DevLoadingView.js.map +1 -1
- package/bundledNativeModules.json +8 -8
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -10,13 +10,11 @@
|
|
|
10
10
|
|
|
11
11
|
### 💡 Others
|
|
12
12
|
|
|
13
|
-
## 45.0.0-beta.
|
|
14
|
-
|
|
15
|
-
_This version does not introduce any user-facing changes._
|
|
13
|
+
## 45.0.0-beta.2 — 2022-04-20
|
|
16
14
|
|
|
17
|
-
|
|
15
|
+
### 🎉 New features
|
|
18
16
|
|
|
19
|
-
|
|
17
|
+
- Add `ReactNativeHostHandler.getUseDeveloperSupport()` to allow `expo-dev-launcher` to override this value at runtime. ([#17069](https://github.com/expo/expo/pull/17069) by [@esamelson](https://github.com/esamelson))
|
|
20
18
|
|
|
21
19
|
## 45.0.0-beta.1 — 2022-04-18
|
|
22
20
|
|
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 = '45.0.0-beta.
|
|
36
|
+
version = '45.0.0-beta.2'
|
|
37
37
|
|
|
38
38
|
buildscript {
|
|
39
39
|
def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle")
|
|
@@ -104,7 +104,7 @@ android {
|
|
|
104
104
|
minSdkVersion safeExtGet("minSdkVersion", 21)
|
|
105
105
|
targetSdkVersion safeExtGet("targetSdkVersion", 31)
|
|
106
106
|
versionCode 1
|
|
107
|
-
versionName "45.0.0-beta.
|
|
107
|
+
versionName "45.0.0-beta.2"
|
|
108
108
|
consumerProguardFiles("proguard-rules.pro")
|
|
109
109
|
}
|
|
110
110
|
lintOptions {
|
|
@@ -76,7 +76,9 @@ open class ReactNativeHostWrapperBase(
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
override fun getUseDeveloperSupport(): Boolean {
|
|
79
|
-
return
|
|
79
|
+
return reactNativeHostHandlers.asSequence()
|
|
80
|
+
.mapNotNull { it.useDeveloperSupport }
|
|
81
|
+
.firstOrNull() ?: host.useDeveloperSupport
|
|
80
82
|
}
|
|
81
83
|
|
|
82
84
|
override fun getPackages(): MutableList<ReactPackage> {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useEffect, useState, useRef, useMemo } from 'react';
|
|
2
|
-
import { Animated, StyleSheet, Text, NativeModules, NativeEventEmitter,
|
|
2
|
+
import { Animated, StyleSheet, Text, NativeModules, NativeEventEmitter, TurboModuleRegistry, View, } from 'react-native';
|
|
3
3
|
export default function DevLoadingView() {
|
|
4
4
|
const [isDevLoading, setIsDevLoading] = useState(false);
|
|
5
5
|
const [isAnimating, setIsAnimating] = useState(false);
|
|
@@ -67,12 +67,10 @@ export default function DevLoadingView() {
|
|
|
67
67
|
}
|
|
68
68
|
/**
|
|
69
69
|
* This is a hack to get the safe area insets without explicitly depending on react-native-safe-area-context.
|
|
70
|
-
* The following code is lifted from: https://git.io/Jzk4k
|
|
71
|
-
*
|
|
72
|
-
* TODO: This will need to be updated for Fabric/TurboModules.
|
|
73
70
|
**/
|
|
74
|
-
const
|
|
75
|
-
|
|
71
|
+
const RNCSafeAreaContext = TurboModuleRegistry.get('RNCSafeAreaContext');
|
|
72
|
+
// @ts-ignore: we're not using the spec so the return type of getConstants() is {}
|
|
73
|
+
const initialWindowMetrics = RNCSafeAreaContext?.getConstants().initialWindowMetrics;
|
|
76
74
|
const styles = StyleSheet.create({
|
|
77
75
|
animatedContainer: {
|
|
78
76
|
position: 'absolute',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevLoadingView.js","sourceRoot":"","sources":["../../src/environment/DevLoadingView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EACL,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,aAAa,EACb,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"DevLoadingView.js","sourceRoot":"","sources":["../../src/environment/DevLoadingView.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState, useRef, useMemo } from 'react';\nimport {\n Animated,\n StyleSheet,\n Text,\n NativeModules,\n NativeEventEmitter,\n TurboModuleRegistry,\n View,\n} from 'react-native';\n\nexport default function DevLoadingView() {\n const [isDevLoading, setIsDevLoading] = useState(false);\n const [isAnimating, setIsAnimating] = useState(false);\n const translateY = useRef(new Animated.Value(0)).current;\n const emitter = useMemo<NativeEventEmitter>(() => {\n try {\n return new NativeEventEmitter(NativeModules.DevLoadingView);\n } catch (error) {\n throw new Error(\n 'Failed to instantiate native emitter in `DevLoadingView` because the native module `DevLoadingView` is undefined: ' +\n error.message\n );\n }\n }, []);\n\n useEffect(() => {\n if (!emitter) return;\n\n function handleShowMessage({ message }) {\n // \"Refreshing...\" is the standard fast refresh message and it's the\n // only time we want to display this overlay.\n if (message !== 'Refreshing...') {\n return;\n }\n\n // TODO: if we show the refreshing banner and don't get a hide message\n // for 3 seconds, warn the user that it's taking a while and suggest\n // they reload\n\n translateY.setValue(0);\n setIsDevLoading(true);\n }\n\n function handleHide() {\n // TODO: if we showed the 'refreshing' banner less than 250ms ago, delay\n // switching to the 'finished' banner\n\n setIsAnimating(true);\n setIsDevLoading(false);\n Animated.timing(translateY, {\n toValue: 150,\n delay: 1000,\n duration: 350,\n useNativeDriver: true,\n }).start(({ finished }) => {\n if (finished) {\n setIsAnimating(false);\n translateY.setValue(0);\n }\n });\n }\n\n const showMessageSubscription = emitter.addListener(\n 'devLoadingView:showMessage',\n handleShowMessage\n );\n const hideSubscription = emitter.addListener('devLoadingView:hide', handleHide);\n\n return function cleanup() {\n showMessageSubscription.remove();\n hideSubscription.remove();\n };\n }, [translateY, emitter]);\n\n if (isDevLoading || isAnimating) {\n return (\n <Animated.View\n style={[styles.animatedContainer, { transform: [{ translateY }] }]}\n pointerEvents=\"none\">\n <View style={styles.banner}>\n <View style={styles.contentContainer}>\n <View style={{ flexDirection: 'row' }}>\n <Text style={styles.text}>{isDevLoading ? 'Refreshing...' : 'Refreshed'}</Text>\n </View>\n\n <View style={{ flex: 1 }}>\n <Text style={styles.subtitle}>\n {isDevLoading ? 'Using Fast Refresh' : \"Don't see your changes? Reload the app\"}\n </Text>\n </View>\n </View>\n </View>\n </Animated.View>\n );\n } else {\n return null;\n }\n}\n\n/**\n * This is a hack to get the safe area insets without explicitly depending on react-native-safe-area-context.\n **/\nconst RNCSafeAreaContext = TurboModuleRegistry.get('RNCSafeAreaContext');\n\n// @ts-ignore: we're not using the spec so the return type of getConstants() is {}\nconst initialWindowMetrics = RNCSafeAreaContext?.getConstants().initialWindowMetrics;\n\nconst styles = StyleSheet.create({\n animatedContainer: {\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: 42, // arbitrary\n },\n\n banner: {\n flex: 1,\n overflow: 'visible',\n backgroundColor: 'rgba(0,0,0,0.75)',\n paddingBottom: initialWindowMetrics?.insets?.bottom ?? 0,\n },\n contentContainer: {\n flex: 1,\n paddingTop: 10,\n paddingBottom: 5,\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n },\n text: {\n color: '#fff',\n fontSize: 15,\n },\n subtitle: {\n color: 'rgba(255,255,255,0.8)',\n },\n});\n"]}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"expo-application": "~4.1.0",
|
|
23
23
|
"expo-asset": "~8.5.0",
|
|
24
24
|
"expo-auth-session": "~3.6.0",
|
|
25
|
-
"expo-av": "~11.2.
|
|
25
|
+
"expo-av": "~11.2.1",
|
|
26
26
|
"expo-background-fetch": "~10.2.0",
|
|
27
27
|
"expo-barcode-scanner": "~11.3.0",
|
|
28
28
|
"expo-battery": "~6.2.0",
|
|
@@ -33,11 +33,11 @@
|
|
|
33
33
|
"expo-camera": "~12.2.0",
|
|
34
34
|
"expo-cellular": "~4.2.0",
|
|
35
35
|
"expo-checkbox": "~2.1.0",
|
|
36
|
-
"expo-clipboard": "~3.0.
|
|
36
|
+
"expo-clipboard": "~3.0.1",
|
|
37
37
|
"expo-constants": "~13.1.0",
|
|
38
38
|
"expo-contacts": "~10.2.0",
|
|
39
39
|
"expo-crypto": "~10.2.0",
|
|
40
|
-
"expo-dev-client": "~0.
|
|
40
|
+
"expo-dev-client": "~0.9.0",
|
|
41
41
|
"expo-device": "~4.2.0",
|
|
42
42
|
"expo-document-picker": "~10.2.0",
|
|
43
43
|
"expo-error-recovery": "~3.1.0",
|
|
@@ -48,14 +48,14 @@
|
|
|
48
48
|
"expo-firebase-core": "~5.0.0",
|
|
49
49
|
"expo-firebase-recaptcha": "~2.2.0",
|
|
50
50
|
"expo-font": "~10.1.0",
|
|
51
|
-
"expo-gl": "~11.2.
|
|
52
|
-
"expo-gl-cpp": "~11.2.
|
|
51
|
+
"expo-gl": "~11.2.1",
|
|
52
|
+
"expo-gl-cpp": "~11.2.1",
|
|
53
53
|
"expo-google-app-auth": "~8.3.0",
|
|
54
54
|
"expo-google-sign-in": "~10.2.0",
|
|
55
55
|
"expo-haptics": "~11.2.0",
|
|
56
56
|
"expo-image-loader": "~3.2.0",
|
|
57
|
-
"expo-image-manipulator": "~10.3.
|
|
58
|
-
"expo-image-picker": "~13.0.
|
|
57
|
+
"expo-image-manipulator": "~10.3.1",
|
|
58
|
+
"expo-image-picker": "~13.0.1",
|
|
59
59
|
"expo-in-app-purchases": "~13.0.0",
|
|
60
60
|
"expo-intent-launcher": "~10.2.0",
|
|
61
61
|
"expo-keep-awake": "~10.1.0",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"expo-linking": "~3.1.0",
|
|
64
64
|
"expo-local-authentication": "~12.2.0",
|
|
65
65
|
"expo-localization": "~13.0.0",
|
|
66
|
-
"expo-location": "~14.2.
|
|
66
|
+
"expo-location": "~14.2.1",
|
|
67
67
|
"expo-mail-composer": "~11.2.0",
|
|
68
68
|
"expo-media-library": "~14.1.0",
|
|
69
69
|
"expo-module-template": "~10.4.0",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo",
|
|
3
|
-
"version": "45.0.0-beta.
|
|
3
|
+
"version": "45.0.0-beta.2",
|
|
4
4
|
"description": "The Expo SDK",
|
|
5
5
|
"main": "build/Expo.js",
|
|
6
6
|
"module": "build/Expo.js",
|
|
@@ -88,5 +88,5 @@
|
|
|
88
88
|
"react-dom": "17.0.2",
|
|
89
89
|
"react-native": "0.68.1"
|
|
90
90
|
},
|
|
91
|
-
"gitHead": "
|
|
91
|
+
"gitHead": "2b35d9008fef42cb53473331c37693ca12e9bf12"
|
|
92
92
|
}
|