expo 43.0.0-alpha.3 → 43.0.0-beta.3
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/Expo.fx.js +0 -15
- package/build/Expo.fx.js.map +1 -1
- package/build/environment/DevLoadingView.d.ts +0 -1
- package/build/environment/DevLoadingView.js +11 -3
- package/build/environment/DevLoadingView.js.map +1 -1
- package/bundledNativeModules.json +81 -80
- package/ios/Expo.podspec +1 -0
- package/package.json +14 -17
- package/tools/LogReporter.js +0 -16
package/android/build.gradle
CHANGED
|
@@ -8,7 +8,7 @@ apply from: "../scripts/autolinking.gradle"
|
|
|
8
8
|
ensureDependeciesWereEvaluated(project)
|
|
9
9
|
|
|
10
10
|
group = 'host.exp.exponent'
|
|
11
|
-
version = '43.0.0-
|
|
11
|
+
version = '43.0.0-beta.3'
|
|
12
12
|
|
|
13
13
|
buildscript {
|
|
14
14
|
// Simple helper that allows the root project to override versions declared by this library.
|
|
@@ -62,7 +62,7 @@ android {
|
|
|
62
62
|
minSdkVersion safeExtGet("minSdkVersion", 21)
|
|
63
63
|
targetSdkVersion safeExtGet("targetSdkVersion", 30)
|
|
64
64
|
versionCode 1
|
|
65
|
-
versionName "43.0.0-
|
|
65
|
+
versionName "43.0.0-beta.3"
|
|
66
66
|
consumerProguardFiles("proguard-rules.pro")
|
|
67
67
|
}
|
|
68
68
|
lintOptions {
|
package/build/Expo.fx.js
CHANGED
|
@@ -19,21 +19,6 @@ const isManagedEnvironment = Constants.executionEnvironment === ExecutionEnviron
|
|
|
19
19
|
if (StyleSheet.setStyleAttributePreprocessor) {
|
|
20
20
|
StyleSheet.setStyleAttributePreprocessor('fontFamily', Font.processFontFamily);
|
|
21
21
|
}
|
|
22
|
-
// Add warning about removed navigator.geolocation polyfill.
|
|
23
|
-
if (Platform.OS !== 'web' && !window.navigator?.geolocation) {
|
|
24
|
-
const logLocationPolyfillWarning = (method) => {
|
|
25
|
-
return () => {
|
|
26
|
-
console.warn(`window.navigator.geolocation.${method} is not available. Import and execute installWebGeolocationPolyfill() from expo-location to add it, or use the expo-location APIs instead.`);
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
// @ts-ignore
|
|
30
|
-
window.navigator.geolocation = {
|
|
31
|
-
getCurrentPosition: logLocationPolyfillWarning('getCurrentPosition'),
|
|
32
|
-
watchPosition: logLocationPolyfillWarning('watchPostion'),
|
|
33
|
-
clearWatch: () => { },
|
|
34
|
-
stopObserving: () => { },
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
22
|
// Asserts if bare workflow isn't setup correctly.
|
|
38
23
|
if (NativeModulesProxy.ExpoUpdates?.isMissingRuntimeVersion) {
|
|
39
24
|
const message = 'expo-updates is installed but there is no runtime or SDK version configured. ' +
|
package/build/Expo.fx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Expo.fx.js","sourceRoot":"","sources":["../src/Expo.fx.tsx"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AACnC,wEAAwE;AACxE,OAAO,0BAA0B,CAAC;AAClC,OAAO,oCAAoC,CAAC;AAC5C,mFAAmF;AACnF,OAAO,YAAY,CAAC;AAEpB,OAAO,SAAS,EAAE,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAE5D,sGAAsG;AACtG,gGAAgG;AAChG,6EAA6E;AAC7E,MAAM,oBAAoB,GACxB,SAAS,CAAC,oBAAoB,KAAK,oBAAoB,CAAC,UAAU;IAClE,SAAS,CAAC,oBAAoB,KAAK,oBAAoB,CAAC,WAAW,CAAC;AAEtE,4FAA4F;AAC5F,IAAI,UAAU,CAAC,6BAA6B,EAAE;IAC5C,UAAU,CAAC,6BAA6B,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;CAChF;AAED,
|
|
1
|
+
{"version":3,"file":"Expo.fx.js","sourceRoot":"","sources":["../src/Expo.fx.tsx"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AACnC,wEAAwE;AACxE,OAAO,0BAA0B,CAAC;AAClC,OAAO,oCAAoC,CAAC;AAC5C,mFAAmF;AACnF,OAAO,YAAY,CAAC;AAEpB,OAAO,SAAS,EAAE,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAE5D,sGAAsG;AACtG,gGAAgG;AAChG,6EAA6E;AAC7E,MAAM,oBAAoB,GACxB,SAAS,CAAC,oBAAoB,KAAK,oBAAoB,CAAC,UAAU;IAClE,SAAS,CAAC,oBAAoB,KAAK,oBAAoB,CAAC,WAAW,CAAC;AAEtE,4FAA4F;AAC5F,IAAI,UAAU,CAAC,6BAA6B,EAAE;IAC5C,UAAU,CAAC,6BAA6B,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;CAChF;AAED,kDAAkD;AAClD,IAAI,kBAAkB,CAAC,WAAW,EAAE,uBAAuB,EAAE;IAC3D,MAAM,OAAO,GACX,+EAA+E;QAC/E,0DAA0D;QAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;QACtE,yCAAyC,CAAC;IAC5C,IAAI,OAAO,EAAE;QACX,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;KAC1B;CACF;AAED,0EAA0E;AAC1E,IAAI,OAAO,EAAE;IACX,2EAA2E;IAC3E,IAAI,oBAAoB,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE;QACjD,qDAAqD;QACrD,aAAa;QACb,WAAW,CAAC,2BAA2B,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;QAE/D,aAAa;QACb,MAAM,mCAAmC,GAAG,WAAW,CAAC,2BAA2B,CAAC;QAEpF,aAAa;QACb,WAAW,CAAC,2BAA2B,GAAG,CAAC,QAAQ,EAAE,EAAE;YACrD,SAAS,wBAAwB,CAAC,KAAU;gBAC1C,MAAM,iBAAiB,GAAG,QAAQ,EAAE,CAAC;gBAErC,OAAO,CACL,oBAAC,eAAe;oBACd,oBAAC,iBAAiB,OAAK,KAAK,GAAI,CAChB,CACnB,CAAC;YACJ,CAAC;YAED,mCAAmC,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAC;QACtE,CAAC,CAAC;KACH;CACF","sourcesContent":["import './environment/validate.fx';\n// load remote logging for compatibility with custom development clients\nimport './environment/logging.fx';\nimport './environment/react-native-logs.fx';\n// load expo-asset immediately to set a custom `source` transformer in React Native\nimport 'expo-asset';\n\nimport Constants, { ExecutionEnvironment } from 'expo-constants';\nimport * as Font from 'expo-font';\nimport { NativeModulesProxy, Platform } from 'expo-modules-core';\nimport React from 'react';\nimport { AppRegistry, StyleSheet } from 'react-native';\n\nimport DevAppContainer from './environment/DevAppContainer';\n\n// Represents an app running in the store client or an app built with the legacy `expo build` command.\n// `false` when running in bare workflow, custom dev clients, or `eas build`s (managed or bare).\n// This should be used to ensure code that _should_ exist is treated as such.\nconst isManagedEnvironment =\n Constants.executionEnvironment === ExecutionEnvironment.Standalone ||\n Constants.executionEnvironment === ExecutionEnvironment.StoreClient;\n\n// If expo-font is installed and the style preprocessor is available, use it to parse fonts.\nif (StyleSheet.setStyleAttributePreprocessor) {\n StyleSheet.setStyleAttributePreprocessor('fontFamily', Font.processFontFamily);\n}\n\n// Asserts if bare workflow isn't setup correctly.\nif (NativeModulesProxy.ExpoUpdates?.isMissingRuntimeVersion) {\n const message =\n 'expo-updates is installed but there is no runtime or SDK version configured. ' +\n \"You'll need to configure one of these two properties in \" +\n Platform.select({ ios: 'Expo.plist', android: 'AndroidManifest.xml' }) +\n ' before OTA updates will work properly.';\n if (__DEV__) {\n console.warn(message);\n } else {\n throw new Error(message);\n }\n}\n\n// Having two if statements will enable terser to remove the entire block.\nif (__DEV__) {\n // Only enable the fast refresh indicator for managed iOS apps in dev mode.\n if (isManagedEnvironment && Platform.OS === 'ios') {\n // add the dev app container wrapper component on ios\n // @ts-ignore\n AppRegistry.setWrapperComponentProvider(() => DevAppContainer);\n\n // @ts-ignore\n const originalSetWrapperComponentProvider = AppRegistry.setWrapperComponentProvider;\n\n // @ts-ignore\n AppRegistry.setWrapperComponentProvider = (provider) => {\n function PatchedProviderComponent(props: any) {\n const ProviderComponent = provider();\n\n return (\n <DevAppContainer>\n <ProviderComponent {...props} />\n </DevAppContainer>\n );\n }\n\n originalSetWrapperComponentProvider(() => PatchedProviderComponent);\n };\n }\n}\n"]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React, { useEffect, useState, useRef, useMemo } from 'react';
|
|
2
|
-
import { Animated, StyleSheet, Text, NativeModules, NativeEventEmitter, View } from 'react-native';
|
|
3
|
-
import { SafeAreaView } from 'react-native-safe-area-context';
|
|
2
|
+
import { Animated, StyleSheet, Text, NativeModules, NativeEventEmitter, UIManager, View, } from 'react-native';
|
|
4
3
|
export default function DevLoadingView() {
|
|
5
4
|
const [isDevLoading, setIsDevLoading] = useState(false);
|
|
6
5
|
const [isAnimating, setIsAnimating] = useState(false);
|
|
@@ -55,7 +54,7 @@ export default function DevLoadingView() {
|
|
|
55
54
|
}, [translateY, emitter]);
|
|
56
55
|
if (isDevLoading || isAnimating) {
|
|
57
56
|
return (React.createElement(Animated.View, { style: [styles.animatedContainer, { transform: [{ translateY }] }], pointerEvents: "none" },
|
|
58
|
-
React.createElement(
|
|
57
|
+
React.createElement(View, { style: styles.banner },
|
|
59
58
|
React.createElement(View, { style: styles.contentContainer },
|
|
60
59
|
React.createElement(View, { style: { flexDirection: 'row' } },
|
|
61
60
|
React.createElement(Text, { style: styles.text }, isDevLoading ? 'Refreshing...' : 'Refreshed')),
|
|
@@ -66,6 +65,14 @@ export default function DevLoadingView() {
|
|
|
66
65
|
return null;
|
|
67
66
|
}
|
|
68
67
|
}
|
|
68
|
+
/**
|
|
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
|
+
**/
|
|
74
|
+
const RNCSafeAreaProviderConfig = UIManager.getViewManagerConfig('RNCSafeAreaProvider');
|
|
75
|
+
const initialWindowMetrics = RNCSafeAreaProviderConfig?.Constants?.initialWindowMetrics;
|
|
69
76
|
const styles = StyleSheet.create({
|
|
70
77
|
animatedContainer: {
|
|
71
78
|
position: 'absolute',
|
|
@@ -78,6 +85,7 @@ const styles = StyleSheet.create({
|
|
|
78
85
|
flex: 1,
|
|
79
86
|
overflow: 'visible',
|
|
80
87
|
backgroundColor: 'rgba(0,0,0,0.75)',
|
|
88
|
+
paddingBottom: initialWindowMetrics?.insets?.bottom ?? 0,
|
|
81
89
|
},
|
|
82
90
|
contentContainer: {
|
|
83
91
|
flex: 1,
|
|
@@ -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,
|
|
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 UIManager,\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 emitter.addListener('devLoadingView:showMessage', handleShowMessage);\n emitter.addListener('devLoadingView:hide', handleHide);\n\n return function cleanup() {\n emitter.removeListener('devLoadingView:showMessage', handleShowMessage);\n emitter.removeListener('devLoadingView:hide', handleHide);\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 * The following code is lifted from: https://git.io/Jzk4k\n *\n * TODO: This will need to be updated for Fabric/TurboModules.\n **/\nconst RNCSafeAreaProviderConfig = UIManager.getViewManagerConfig('RNCSafeAreaProvider') as any;\nconst initialWindowMetrics = RNCSafeAreaProviderConfig?.Constants?.initialWindowMetrics as\n | { insets: { bottom: number } }\n | undefined;\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 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"]}
|
|
@@ -5,85 +5,86 @@
|
|
|
5
5
|
"@react-native-masked-view/masked-view": "0.2.5",
|
|
6
6
|
"@react-native-community/netinfo": "6.0.2",
|
|
7
7
|
"@react-native-community/slider": "4.1.4",
|
|
8
|
-
"@react-native-
|
|
8
|
+
"@react-native-community/viewpager": "5.0.11",
|
|
9
|
+
"@react-native-picker/picker": "2.1.0",
|
|
9
10
|
"@react-native-segmented-control/segmented-control": "2.4.0",
|
|
10
|
-
"@stripe/stripe-react-native": "0.2.
|
|
11
|
-
"@unimodules/core": "~7.2.0
|
|
12
|
-
"@unimodules/react-native-adapter": "~6.5.0
|
|
13
|
-
"expo-ads-admob": "~
|
|
14
|
-
"expo-ads-facebook": "~
|
|
15
|
-
"expo-analytics-amplitude": "~
|
|
16
|
-
"expo-analytics-segment": "~
|
|
17
|
-
"expo-app-auth": "~
|
|
11
|
+
"@stripe/stripe-react-native": "0.2.2",
|
|
12
|
+
"@unimodules/core": "~7.2.0",
|
|
13
|
+
"@unimodules/react-native-adapter": "~6.5.0",
|
|
14
|
+
"expo-ads-admob": "~11.0.1",
|
|
15
|
+
"expo-ads-facebook": "~11.0.1",
|
|
16
|
+
"expo-analytics-amplitude": "~11.0.1",
|
|
17
|
+
"expo-analytics-segment": "~11.0.1",
|
|
18
|
+
"expo-app-auth": "~11.0.1",
|
|
18
19
|
"expo-app-loader-provider": "~8.0.0",
|
|
19
|
-
"expo-apple-authentication": "~
|
|
20
|
-
"expo-application": "~
|
|
21
|
-
"expo-asset": "~8.4.
|
|
22
|
-
"expo-auth-session": "~3.
|
|
23
|
-
"expo-av": "~
|
|
24
|
-
"expo-background-fetch": "~
|
|
25
|
-
"expo-barcode-scanner": "~
|
|
26
|
-
"expo-battery": "~
|
|
27
|
-
"expo-blur": "~
|
|
28
|
-
"expo-branch": "~
|
|
29
|
-
"expo-brightness": "~
|
|
30
|
-
"expo-calendar": "~
|
|
31
|
-
"expo-camera": "~
|
|
32
|
-
"expo-cellular": "~
|
|
33
|
-
"expo-checkbox": "~
|
|
34
|
-
"expo-clipboard": "~
|
|
35
|
-
"expo-constants": "~
|
|
36
|
-
"expo-contacts": "~
|
|
37
|
-
"expo-crypto": "~
|
|
38
|
-
"expo-device": "~
|
|
39
|
-
"expo-document-picker": "~
|
|
40
|
-
"expo-error-recovery": "~
|
|
41
|
-
"expo-face-detector": "~
|
|
42
|
-
"expo-facebook": "~
|
|
43
|
-
"expo-file-system": "~
|
|
44
|
-
"expo-firebase-analytics": "~
|
|
45
|
-
"expo-firebase-core": "~
|
|
46
|
-
"expo-font": "~
|
|
47
|
-
"expo-gl": "~
|
|
48
|
-
"expo-gl-cpp": "~
|
|
49
|
-
"expo-google-sign-in": "~
|
|
50
|
-
"expo-haptics": "~
|
|
51
|
-
"expo-image-loader": "~
|
|
52
|
-
"expo-image-manipulator": "~
|
|
53
|
-
"expo-image-picker": "~
|
|
54
|
-
"expo-in-app-purchases": "~
|
|
55
|
-
"expo-intent-launcher": "~
|
|
56
|
-
"expo-keep-awake": "~
|
|
57
|
-
"expo-linear-gradient": "~
|
|
58
|
-
"expo-linking": "~2.4.
|
|
59
|
-
"expo-local-authentication": "~
|
|
60
|
-
"expo-localization": "~
|
|
61
|
-
"expo-location": "~
|
|
62
|
-
"expo-mail-composer": "~
|
|
63
|
-
"expo-media-library": "~
|
|
64
|
-
"expo-module-template": "~
|
|
65
|
-
"expo-modules-core": "~0.
|
|
66
|
-
"expo-network": "~
|
|
67
|
-
"expo-notifications": "~0.
|
|
68
|
-
"expo-permissions": "~
|
|
69
|
-
"expo-print": "~
|
|
70
|
-
"expo-random": "~
|
|
71
|
-
"expo-screen-orientation": "~
|
|
72
|
-
"expo-secure-store": "~
|
|
73
|
-
"expo-sensors": "~
|
|
74
|
-
"expo-sharing": "~
|
|
75
|
-
"expo-sms": "~
|
|
76
|
-
"expo-speech": "~
|
|
77
|
-
"expo-splash-screen": "~0.
|
|
78
|
-
"expo-sqlite": "~
|
|
20
|
+
"expo-apple-authentication": "~4.0.1",
|
|
21
|
+
"expo-application": "~4.0.0",
|
|
22
|
+
"expo-asset": "~8.4.1",
|
|
23
|
+
"expo-auth-session": "~3.4.1",
|
|
24
|
+
"expo-av": "~10.1.0",
|
|
25
|
+
"expo-background-fetch": "~10.0.1",
|
|
26
|
+
"expo-barcode-scanner": "~11.1.0",
|
|
27
|
+
"expo-battery": "~6.0.1",
|
|
28
|
+
"expo-blur": "~10.0.1",
|
|
29
|
+
"expo-branch": "~5.0.1",
|
|
30
|
+
"expo-brightness": "~10.0.1",
|
|
31
|
+
"expo-calendar": "~10.0.1",
|
|
32
|
+
"expo-camera": "~12.0.1",
|
|
33
|
+
"expo-cellular": "~4.0.0",
|
|
34
|
+
"expo-checkbox": "~2.0.0",
|
|
35
|
+
"expo-clipboard": "~2.0.1",
|
|
36
|
+
"expo-constants": "~12.1.0",
|
|
37
|
+
"expo-contacts": "~10.0.1",
|
|
38
|
+
"expo-crypto": "~10.0.1",
|
|
39
|
+
"expo-device": "~4.0.1",
|
|
40
|
+
"expo-document-picker": "~10.0.1",
|
|
41
|
+
"expo-error-recovery": "~3.0.1",
|
|
42
|
+
"expo-face-detector": "~11.0.1",
|
|
43
|
+
"expo-facebook": "~12.0.1",
|
|
44
|
+
"expo-file-system": "~13.0.1",
|
|
45
|
+
"expo-firebase-analytics": "~5.0.1",
|
|
46
|
+
"expo-firebase-core": "~4.0.1",
|
|
47
|
+
"expo-font": "~10.0.1",
|
|
48
|
+
"expo-gl": "~11.0.1",
|
|
49
|
+
"expo-gl-cpp": "~11.0.0",
|
|
50
|
+
"expo-google-sign-in": "~10.0.1",
|
|
51
|
+
"expo-haptics": "~11.0.1",
|
|
52
|
+
"expo-image-loader": "~3.0.0",
|
|
53
|
+
"expo-image-manipulator": "~10.1.0",
|
|
54
|
+
"expo-image-picker": "~11.0.1",
|
|
55
|
+
"expo-in-app-purchases": "~12.0.0",
|
|
56
|
+
"expo-intent-launcher": "~10.0.1",
|
|
57
|
+
"expo-keep-awake": "~10.0.0",
|
|
58
|
+
"expo-linear-gradient": "~10.0.1",
|
|
59
|
+
"expo-linking": "~2.4.1",
|
|
60
|
+
"expo-local-authentication": "~12.0.0",
|
|
61
|
+
"expo-localization": "~11.0.0",
|
|
62
|
+
"expo-location": "~13.0.1",
|
|
63
|
+
"expo-mail-composer": "~11.0.1",
|
|
64
|
+
"expo-media-library": "~13.0.1",
|
|
65
|
+
"expo-module-template": "~10.0.0",
|
|
66
|
+
"expo-modules-core": "~0.4.2",
|
|
67
|
+
"expo-network": "~4.0.1",
|
|
68
|
+
"expo-notifications": "~0.13.1",
|
|
69
|
+
"expo-permissions": "~13.0.1",
|
|
70
|
+
"expo-print": "~11.0.1",
|
|
71
|
+
"expo-random": "~12.0.0",
|
|
72
|
+
"expo-screen-orientation": "~4.0.1",
|
|
73
|
+
"expo-secure-store": "~11.0.1",
|
|
74
|
+
"expo-sensors": "~11.0.1",
|
|
75
|
+
"expo-sharing": "~10.0.1",
|
|
76
|
+
"expo-sms": "~10.0.1",
|
|
77
|
+
"expo-speech": "~10.0.1",
|
|
78
|
+
"expo-splash-screen": "~0.13.1",
|
|
79
|
+
"expo-sqlite": "~10.0.1",
|
|
79
80
|
"expo-status-bar": "~1.1.0",
|
|
80
|
-
"expo-store-review": "~
|
|
81
|
-
"expo-task-manager": "~
|
|
82
|
-
"expo-tracking-transparency": "~
|
|
83
|
-
"expo-updates": "~0.
|
|
84
|
-
"expo-video-thumbnails": "~
|
|
85
|
-
"expo-web-browser": "~
|
|
86
|
-
"firebase": "
|
|
81
|
+
"expo-store-review": "~5.0.1",
|
|
82
|
+
"expo-task-manager": "~10.0.1",
|
|
83
|
+
"expo-tracking-transparency": "~2.0.1",
|
|
84
|
+
"expo-updates": "~0.10.2",
|
|
85
|
+
"expo-video-thumbnails": "~6.0.1",
|
|
86
|
+
"expo-web-browser": "~10.0.1",
|
|
87
|
+
"firebase": "9.1.0",
|
|
87
88
|
"lottie-react-native": "4.0.3",
|
|
88
89
|
"react-native-appearance": "~0.3.3",
|
|
89
90
|
"react-native-branch": "5.0.0",
|
|
@@ -93,14 +94,14 @@
|
|
|
93
94
|
"react-native-pager-view": "5.4.4",
|
|
94
95
|
"react-native-reanimated": "~2.2.0",
|
|
95
96
|
"react-native-safe-area-context": "3.3.2",
|
|
96
|
-
"react-native-screens": "~3.
|
|
97
|
+
"react-native-screens": "~3.8.0",
|
|
97
98
|
"react-native-shared-element": "0.8.2",
|
|
98
99
|
"react-native-svg": "12.1.1",
|
|
99
|
-
"react-native-unimodules": "~0.15.0
|
|
100
|
+
"react-native-unimodules": "~0.15.0",
|
|
100
101
|
"react-native-view-shot": "3.1.2",
|
|
101
102
|
"react-native-webview": "11.13.0",
|
|
102
103
|
"sentry-expo": "^4.0.0",
|
|
103
|
-
"unimodules-app-loader": "~
|
|
104
|
+
"unimodules-app-loader": "~3.0.0",
|
|
104
105
|
"unimodules-image-loader-interface": "~6.1.0",
|
|
105
|
-
"unimodules-task-manager-interface": "~
|
|
106
|
+
"unimodules-task-manager-interface": "~7.0.1"
|
|
106
107
|
}
|
package/ios/Expo.podspec
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo",
|
|
3
|
-
"version": "43.0.0-
|
|
3
|
+
"version": "43.0.0-beta.3",
|
|
4
4
|
"description": "The Expo SDK",
|
|
5
5
|
"main": "build/Expo.js",
|
|
6
6
|
"module": "build/Expo.js",
|
|
@@ -54,29 +54,27 @@
|
|
|
54
54
|
},
|
|
55
55
|
"homepage": "https://github.com/expo/expo/tree/master/packages/expo",
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@babel/runtime": "^7.
|
|
58
|
-
"@expo/metro-config": "
|
|
57
|
+
"@babel/runtime": "^7.14.0",
|
|
58
|
+
"@expo/metro-config": "~0.1.84",
|
|
59
59
|
"@expo/vector-icons": "^12.0.4",
|
|
60
|
-
"babel-preset-expo": "~8.5.
|
|
60
|
+
"babel-preset-expo": "~8.5.1",
|
|
61
61
|
"cross-spawn": "^6.0.5",
|
|
62
|
-
"expo-application": "~
|
|
63
|
-
"expo-asset": "~8.4.
|
|
64
|
-
"expo-constants": "~
|
|
65
|
-
"expo-file-system": "~
|
|
66
|
-
"expo-font": "~
|
|
67
|
-
"expo-keep-awake": "~
|
|
68
|
-
"expo-modules-autolinking": "~0.3.
|
|
69
|
-
"expo-modules-core": "~0.
|
|
62
|
+
"expo-application": "~4.0.0",
|
|
63
|
+
"expo-asset": "~8.4.1",
|
|
64
|
+
"expo-constants": "~12.1.0",
|
|
65
|
+
"expo-file-system": "~13.0.1",
|
|
66
|
+
"expo-font": "~10.0.1",
|
|
67
|
+
"expo-keep-awake": "~10.0.0",
|
|
68
|
+
"expo-modules-autolinking": "~0.3.2",
|
|
69
|
+
"expo-modules-core": "~0.4.2",
|
|
70
70
|
"fbemitter": "^2.1.1",
|
|
71
71
|
"invariant": "^2.2.2",
|
|
72
72
|
"md5-file": "^3.2.3",
|
|
73
73
|
"pretty-format": "^26.4.0",
|
|
74
|
-
"react-native-safe-area-context": "3.3.2",
|
|
75
|
-
"serialize-error": "^2.1.0",
|
|
76
74
|
"uuid": "^3.4.0"
|
|
77
75
|
},
|
|
78
76
|
"optionalDependencies": {
|
|
79
|
-
"expo-error-recovery": "~
|
|
77
|
+
"expo-error-recovery": "~3.0.1"
|
|
80
78
|
},
|
|
81
79
|
"devDependencies": {
|
|
82
80
|
"@types/fbemitter": "^2.0.32",
|
|
@@ -85,11 +83,10 @@
|
|
|
85
83
|
"@types/react-native": "~0.64.12",
|
|
86
84
|
"@types/react-test-renderer": "^17.0.1",
|
|
87
85
|
"@types/uuid": "^3.4.7",
|
|
88
|
-
"expo-location": "^12.1.0",
|
|
89
86
|
"expo-module-scripts": "^2.0.0",
|
|
90
87
|
"react": "17.0.1",
|
|
91
88
|
"react-dom": "17.0.1",
|
|
92
89
|
"react-native": "0.64.2"
|
|
93
90
|
},
|
|
94
|
-
"gitHead": "
|
|
91
|
+
"gitHead": "2718b696f4a6919905b0f47ebb24ff65b42d8ff9"
|
|
95
92
|
}
|
package/tools/LogReporter.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
const serializeError = require('serialize-error');
|
|
2
|
-
/**
|
|
3
|
-
* @deprecated: Remove in SDK 38
|
|
4
|
-
* https://github.com/expo/expo-cli/pull/1269
|
|
5
|
-
*/
|
|
6
|
-
class LogReporter {
|
|
7
|
-
update(event) {
|
|
8
|
-
if (event.error instanceof Error) {
|
|
9
|
-
event.error = serializeError(event.error);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
console.log(JSON.stringify(event));
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
module.exports = LogReporter;
|