expo 47.0.0-alpha.1 → 47.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/android/build.gradle +2 -2
- package/build/Expo.fx.js +1 -25
- package/build/Expo.fx.js.map +1 -1
- package/build/Expo.fx.web.d.ts +0 -1
- package/build/Expo.fx.web.js +3 -23
- package/build/Expo.fx.web.js.map +1 -1
- package/build/launch/registerRootComponent.d.ts +11 -1
- package/build/launch/registerRootComponent.d.ts.map +1 -1
- package/build/launch/registerRootComponent.js +7 -2
- package/build/launch/registerRootComponent.js.map +1 -1
- package/build/launch/withDevTools.d.ts +7 -0
- package/build/launch/withDevTools.d.ts.map +1 -0
- package/build/launch/withDevTools.js +41 -0
- package/build/launch/withDevTools.js.map +1 -0
- package/build/proxies/NativeModules.d.ts.map +1 -1
- package/build/proxies/NativeModules.js +3 -0
- package/build/proxies/NativeModules.js.map +1 -1
- package/bundledNativeModules.json +88 -89
- package/package.json +14 -14
- package/build/environment/DevAppContainer.d.ts +0 -3
- package/build/environment/DevAppContainer.d.ts.map +0 -1
- package/build/environment/DevAppContainer.js +0 -8
- package/build/environment/DevAppContainer.js.map +0 -1
- package/build/launch/withExpoRoot.d.ts +0 -4
- package/build/launch/withExpoRoot.d.ts.map +0 -1
- package/build/launch/withExpoRoot.js +0 -19
- package/build/launch/withExpoRoot.js.map +0 -1
- package/build/launch/withExpoRoot.types.d.ts +0 -11
- package/build/launch/withExpoRoot.types.d.ts.map +0 -1
- package/build/launch/withExpoRoot.types.js +0 -2
- package/build/launch/withExpoRoot.types.js.map +0 -1
- package/build/launch/withExpoRoot.web.d.ts +0 -4
- package/build/launch/withExpoRoot.web.d.ts.map +0 -1
- package/build/launch/withExpoRoot.web.js +0 -9
- package/build/launch/withExpoRoot.web.js.map +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 = '47.0.0-
|
|
36
|
+
version = '47.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 "47.0.0-
|
|
107
|
+
versionName "47.0.0-beta.2"
|
|
108
108
|
consumerProguardFiles("proguard-rules.pro")
|
|
109
109
|
}
|
|
110
110
|
lintOptions {
|
package/build/Expo.fx.js
CHANGED
|
@@ -6,16 +6,9 @@ import 'expo-asset';
|
|
|
6
6
|
import Constants, { ExecutionEnvironment } from 'expo-constants';
|
|
7
7
|
import * as Font from 'expo-font';
|
|
8
8
|
import { NativeModulesProxy, Platform } from 'expo-modules-core';
|
|
9
|
-
import
|
|
10
|
-
import ReactNative, { AppRegistry, StyleSheet } from 'react-native';
|
|
11
|
-
import DevAppContainer from './environment/DevAppContainer';
|
|
9
|
+
import ReactNative, { StyleSheet } from 'react-native';
|
|
12
10
|
import { createErrorHandler } from './errors/ExpoErrorManager';
|
|
13
11
|
import { createProxyForNativeModules } from './proxies/NativeModules';
|
|
14
|
-
// Represents an app running in the store client or an app built with the legacy `expo build` command.
|
|
15
|
-
// `false` when running in bare workflow, custom dev clients, or `eas build`s (managed or bare).
|
|
16
|
-
// This should be used to ensure code that _should_ exist is treated as such.
|
|
17
|
-
const isManagedEnvironment = Constants.executionEnvironment === ExecutionEnvironment.Standalone ||
|
|
18
|
-
Constants.executionEnvironment === ExecutionEnvironment.StoreClient;
|
|
19
12
|
// If expo-font is installed and the style preprocessor is available, use it to parse fonts.
|
|
20
13
|
if (StyleSheet.setStyleAttributePreprocessor) {
|
|
21
14
|
StyleSheet.setStyleAttributePreprocessor('fontFamily', Font.processFontFamily);
|
|
@@ -40,23 +33,6 @@ if (Constants.executionEnvironment === ExecutionEnvironment.StoreClient) {
|
|
|
40
33
|
}
|
|
41
34
|
// Having two if statements will enable terser to remove the entire block.
|
|
42
35
|
if (__DEV__) {
|
|
43
|
-
// Only enable the fast refresh indicator for managed iOS apps in dev mode.
|
|
44
|
-
if (isManagedEnvironment && Platform.OS === 'ios') {
|
|
45
|
-
// add the dev app container wrapper component on ios
|
|
46
|
-
// @ts-ignore
|
|
47
|
-
AppRegistry.setWrapperComponentProvider(() => DevAppContainer);
|
|
48
|
-
// @ts-ignore
|
|
49
|
-
const originalSetWrapperComponentProvider = AppRegistry.setWrapperComponentProvider;
|
|
50
|
-
// @ts-ignore
|
|
51
|
-
AppRegistry.setWrapperComponentProvider = (provider) => {
|
|
52
|
-
function PatchedProviderComponent(props) {
|
|
53
|
-
const ProviderComponent = provider();
|
|
54
|
-
return (React.createElement(DevAppContainer, null,
|
|
55
|
-
React.createElement(ProviderComponent, { ...props })));
|
|
56
|
-
}
|
|
57
|
-
originalSetWrapperComponentProvider(() => PatchedProviderComponent);
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
36
|
const proxiedNativeModules = createProxyForNativeModules(ReactNative.NativeModules);
|
|
61
37
|
Object.defineProperty(ReactNative, 'NativeModules', {
|
|
62
38
|
get() {
|
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,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,
|
|
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,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,WAAW,EAAE,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,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,IAAI,SAAS,CAAC,oBAAoB,KAAK,oBAAoB,CAAC,WAAW,EAAE;IACvE,wFAAwF;IACxF,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC;IACpD,UAAU,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;CAChE;AAED,0EAA0E;AAC1E,IAAI,OAAO,EAAE;IACX,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACpF,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,eAAe,EAAE;QAClD,GAAG;YACD,OAAO,oBAAoB,CAAC;QAC9B,CAAC;QACD,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;CACJ","sourcesContent":["import './environment/validate.fx';\n// load remote logging for compatibility with custom development clients\nimport './environment/logging.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 ReactNative, { StyleSheet } from 'react-native';\n\nimport { createErrorHandler } from './errors/ExpoErrorManager';\nimport { createProxyForNativeModules } from './proxies/NativeModules';\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\nif (Constants.executionEnvironment === ExecutionEnvironment.StoreClient) {\n // set up some improvements to commonly logged error messages stemming from react-native\n const globalHandler = ErrorUtils.getGlobalHandler();\n ErrorUtils.setGlobalHandler(createErrorHandler(globalHandler));\n}\n\n// Having two if statements will enable terser to remove the entire block.\nif (__DEV__) {\n const proxiedNativeModules = createProxyForNativeModules(ReactNative.NativeModules);\n Object.defineProperty(ReactNative, 'NativeModules', {\n get() {\n return proxiedNativeModules;\n },\n configurable: true,\n enumerable: true,\n });\n}\n"]}
|
package/build/Expo.fx.web.d.ts
CHANGED
package/build/Expo.fx.web.js
CHANGED
|
@@ -1,36 +1,16 @@
|
|
|
1
|
-
import { Platform } from 'expo-modules-core';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { AppRegistry } from 'react-native';
|
|
4
|
-
import DevAppContainer from './environment/DevAppContainer';
|
|
5
1
|
// When users dangerously import a file inside of react-native, it breaks the web alias.
|
|
6
2
|
// This is one of the most common, and cryptic web errors that users encounter.
|
|
7
3
|
// This conditional side-effect provides a more helpful error message for debugging.
|
|
4
|
+
// Use a wrapper `__DEV__` to remove this entire block in production.
|
|
8
5
|
if (__DEV__) {
|
|
9
|
-
// Use a wrapper `__DEV__` to remove this entire block in production.
|
|
10
6
|
if (
|
|
11
|
-
//
|
|
12
|
-
|
|
13
|
-
// Skip mocking if someone is shimming this value out.
|
|
14
|
-
!('__fbBatchedBridgeConfig' in global)) {
|
|
7
|
+
// Skip mocking if someone is shimming this value out.
|
|
8
|
+
!('__fbBatchedBridgeConfig' in global)) {
|
|
15
9
|
Object.defineProperty(global, '__fbBatchedBridgeConfig', {
|
|
16
10
|
get() {
|
|
17
11
|
throw new Error("Your web project is importing a module from 'react-native' instead of 'react-native-web'. Learn more: https://expo.fyi/fb-batched-bridge-config-web");
|
|
18
12
|
},
|
|
19
13
|
});
|
|
20
14
|
}
|
|
21
|
-
// add the dev app container wrapper component to web
|
|
22
|
-
// @ts-ignore
|
|
23
|
-
AppRegistry.setWrapperComponentProvider(() => DevAppContainer);
|
|
24
|
-
// @ts-ignore
|
|
25
|
-
const originalSetWrapperComponentProvider = AppRegistry.setWrapperComponentProvider;
|
|
26
|
-
// @ts-ignore
|
|
27
|
-
AppRegistry.setWrapperComponentProvider = (provider) => {
|
|
28
|
-
function PatchedProviderComponent(props) {
|
|
29
|
-
const ProviderComponent = provider();
|
|
30
|
-
return (React.createElement(DevAppContainer, null,
|
|
31
|
-
React.createElement(ProviderComponent, { ...props })));
|
|
32
|
-
}
|
|
33
|
-
originalSetWrapperComponentProvider(() => PatchedProviderComponent);
|
|
34
|
-
};
|
|
35
15
|
}
|
|
36
16
|
//# sourceMappingURL=Expo.fx.web.js.map
|
package/build/Expo.fx.web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Expo.fx.web.js","sourceRoot":"","sources":["../src/Expo.fx.web.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"Expo.fx.web.js","sourceRoot":"","sources":["../src/Expo.fx.web.tsx"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,+EAA+E;AAC/E,oFAAoF;AACpF,qEAAqE;AACrE,IAAI,OAAO,EAAE;IACX;IACE,sDAAsD;IACtD,CAAC,CAAC,yBAAyB,IAAI,MAAM,CAAC,EACtC;QACA,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,yBAAyB,EAAE;YACvD,GAAG;gBACD,MAAM,IAAI,KAAK,CACb,qJAAqJ,CACtJ,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;KACJ;CACF","sourcesContent":["// When users dangerously import a file inside of react-native, it breaks the web alias.\n// This is one of the most common, and cryptic web errors that users encounter.\n// This conditional side-effect provides a more helpful error message for debugging.\n// Use a wrapper `__DEV__` to remove this entire block in production.\nif (__DEV__) {\n if (\n // Skip mocking if someone is shimming this value out.\n !('__fbBatchedBridgeConfig' in global)\n ) {\n Object.defineProperty(global, '__fbBatchedBridgeConfig', {\n get() {\n throw new Error(\n \"Your web project is importing a module from 'react-native' instead of 'react-native-web'. Learn more: https://expo.fyi/fb-batched-bridge-config-web\"\n );\n },\n });\n }\n}\n"]}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import 'expo/build/Expo.fx';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
|
|
3
|
+
declare type InitialProps = {
|
|
4
|
+
exp: {
|
|
5
|
+
notification?: any;
|
|
6
|
+
manifestString?: string;
|
|
7
|
+
[key: string]: any;
|
|
8
|
+
};
|
|
9
|
+
shell?: boolean;
|
|
10
|
+
shellManifestUrl?: string;
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
};
|
|
4
13
|
export default function registerRootComponent<P extends InitialProps>(component: React.ComponentType<P>): void;
|
|
14
|
+
export {};
|
|
5
15
|
//# sourceMappingURL=registerRootComponent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerRootComponent.d.ts","sourceRoot":"","sources":["../../src/launch/registerRootComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"registerRootComponent.d.ts","sourceRoot":"","sources":["../../src/launch/registerRootComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAE5B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,aAAK,YAAY,GAAG;IAClB,GAAG,EAAE;QACH,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;AAEF,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,CAAC,SAAS,YAAY,EAClE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAChC,IAAI,CAYN"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import 'expo/build/Expo.fx';
|
|
2
2
|
import { AppRegistry, Platform } from 'react-native';
|
|
3
|
-
import withExpoRoot from './withExpoRoot';
|
|
4
3
|
export default function registerRootComponent(component) {
|
|
5
|
-
|
|
4
|
+
if (process.env.NODE_ENV === 'production') {
|
|
5
|
+
AppRegistry.registerComponent('main', () => component);
|
|
6
|
+
}
|
|
7
|
+
else {
|
|
8
|
+
const { withDevTools } = require('./withDevTools');
|
|
9
|
+
AppRegistry.registerComponent('main', () => withDevTools(component));
|
|
10
|
+
}
|
|
6
11
|
if (Platform.OS === 'web') {
|
|
7
12
|
const rootTag = document.getElementById('root') ?? document.getElementById('main');
|
|
8
13
|
AppRegistry.runApplication('main', { rootTag });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerRootComponent.js","sourceRoot":"","sources":["../../src/launch/registerRootComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"registerRootComponent.js","sourceRoot":"","sources":["../../src/launch/registerRootComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAG5B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAarD,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,SAAiC;IAEjC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;QACzC,WAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;KACxD;SAAM;QACL,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAoC,CAAC;QACtF,WAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;KACtE;IAED,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE;QACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACnF,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;KACjD;AACH,CAAC","sourcesContent":["import 'expo/build/Expo.fx';\n\nimport * as React from 'react';\nimport { AppRegistry, Platform } from 'react-native';\n\ntype InitialProps = {\n exp: {\n notification?: any;\n manifestString?: string;\n [key: string]: any;\n };\n shell?: boolean;\n shellManifestUrl?: string;\n [key: string]: any;\n};\n\nexport default function registerRootComponent<P extends InitialProps>(\n component: React.ComponentType<P>\n): void {\n if (process.env.NODE_ENV === 'production') {\n AppRegistry.registerComponent('main', () => component);\n } else {\n const { withDevTools } = require('./withDevTools') as typeof import('./withDevTools');\n AppRegistry.registerComponent('main', () => withDevTools(component));\n }\n\n if (Platform.OS === 'web') {\n const rootTag = document.getElementById('root') ?? document.getElementById('main');\n AppRegistry.runApplication('main', { rootTag });\n }\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Append the Expo Fast Refresh view and optionally
|
|
4
|
+
* keep the screen awake if `expo-keep-awake` is installed.
|
|
5
|
+
*/
|
|
6
|
+
export declare function withDevTools<TComponent extends React.ComponentType<any>>(AppRootComponent: TComponent): React.ComponentType<React.ComponentProps<TComponent>>;
|
|
7
|
+
//# sourceMappingURL=withDevTools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withDevTools.d.ts","sourceRoot":"","sources":["../../src/launch/withDevTools.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;;GAGG;AACH,wBAAgB,YAAY,CAAC,UAAU,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EACtE,gBAAgB,EAAE,UAAU,GAC3B,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAwCvD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import Constants, { ExecutionEnvironment } from 'expo-constants';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Platform } from 'react-native';
|
|
4
|
+
import DevLoadingView from '../environment/DevLoadingView';
|
|
5
|
+
/**
|
|
6
|
+
* Append the Expo Fast Refresh view and optionally
|
|
7
|
+
* keep the screen awake if `expo-keep-awake` is installed.
|
|
8
|
+
*/
|
|
9
|
+
export function withDevTools(AppRootComponent) {
|
|
10
|
+
// This hook can be optionally imported because __DEV__ never changes during runtime.
|
|
11
|
+
// Using __DEV__ like this enables tree shaking to remove the hook in production.
|
|
12
|
+
const useOptionalKeepAwake = (() => {
|
|
13
|
+
if (Platform.OS !== 'web') {
|
|
14
|
+
try {
|
|
15
|
+
// Optionally import expo-keep-awake
|
|
16
|
+
const { useKeepAwake, ExpoKeepAwakeTag } = require('expo-keep-awake');
|
|
17
|
+
return () => useKeepAwake(ExpoKeepAwakeTag, { suppressDeactivateWarnings: true });
|
|
18
|
+
}
|
|
19
|
+
catch { }
|
|
20
|
+
}
|
|
21
|
+
return () => { };
|
|
22
|
+
})();
|
|
23
|
+
const shouldUseExpoFastRefreshView = Platform.select({
|
|
24
|
+
web: true,
|
|
25
|
+
ios: Constants.executionEnvironment !== ExecutionEnvironment.Bare,
|
|
26
|
+
default: false,
|
|
27
|
+
});
|
|
28
|
+
function WithDevTools(props) {
|
|
29
|
+
useOptionalKeepAwake();
|
|
30
|
+
if (shouldUseExpoFastRefreshView) {
|
|
31
|
+
return (React.createElement(React.Fragment, null,
|
|
32
|
+
React.createElement(AppRootComponent, { ...props }),
|
|
33
|
+
React.createElement(DevLoadingView, null)));
|
|
34
|
+
}
|
|
35
|
+
return React.createElement(AppRootComponent, { ...props });
|
|
36
|
+
}
|
|
37
|
+
const name = AppRootComponent.displayName || AppRootComponent.name || 'Anonymous';
|
|
38
|
+
WithDevTools.displayName = `withDevTools(${name})`;
|
|
39
|
+
return WithDevTools;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=withDevTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withDevTools.js","sourceRoot":"","sources":["../../src/launch/withDevTools.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAE3D;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,gBAA4B;IAE5B,qFAAqF;IACrF,iFAAiF;IACjF,MAAM,oBAAoB,GAA2B,CAAC,GAAG,EAAE;QACzD,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE;YACzB,IAAI;gBACF,oCAAoC;gBACpC,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBACtE,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC;aACnF;YAAC,MAAM,GAAE;SACX;QAED,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,4BAA4B,GAAG,QAAQ,CAAC,MAAM,CAAC;QACnD,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,SAAS,CAAC,oBAAoB,KAAK,oBAAoB,CAAC,IAAI;QACjE,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,SAAS,YAAY,CAAC,KAAuC;QAC3D,oBAAoB,EAAE,CAAC;QAEvB,IAAI,4BAA4B,EAAE;YAChC,OAAO,CACL;gBACE,oBAAC,gBAAgB,OAAK,KAAK,GAAI;gBAC/B,oBAAC,cAAc,OAAG,CACjB,CACJ,CAAC;SACH;QAED,OAAO,oBAAC,gBAAgB,OAAK,KAAK,GAAI,CAAC;IACzC,CAAC;IAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,WAAW,IAAI,gBAAgB,CAAC,IAAI,IAAI,WAAW,CAAC;IAClF,YAAY,CAAC,WAAW,GAAG,gBAAgB,IAAI,GAAG,CAAC;IAEnD,OAAO,YAAY,CAAC;AACtB,CAAC","sourcesContent":["import Constants, { ExecutionEnvironment } from 'expo-constants';\nimport * as React from 'react';\nimport { Platform } from 'react-native';\n\nimport DevLoadingView from '../environment/DevLoadingView';\n\n/**\n * Append the Expo Fast Refresh view and optionally\n * keep the screen awake if `expo-keep-awake` is installed.\n */\nexport function withDevTools<TComponent extends React.ComponentType<any>>(\n AppRootComponent: TComponent\n): React.ComponentType<React.ComponentProps<TComponent>> {\n // This hook can be optionally imported because __DEV__ never changes during runtime.\n // Using __DEV__ like this enables tree shaking to remove the hook in production.\n const useOptionalKeepAwake: (tag?: string) => void = (() => {\n if (Platform.OS !== 'web') {\n try {\n // Optionally import expo-keep-awake\n const { useKeepAwake, ExpoKeepAwakeTag } = require('expo-keep-awake');\n return () => useKeepAwake(ExpoKeepAwakeTag, { suppressDeactivateWarnings: true });\n } catch {}\n }\n\n return () => {};\n })();\n\n const shouldUseExpoFastRefreshView = Platform.select({\n web: true,\n ios: Constants.executionEnvironment !== ExecutionEnvironment.Bare,\n default: false,\n });\n\n function WithDevTools(props: React.ComponentProps<TComponent>) {\n useOptionalKeepAwake();\n\n if (shouldUseExpoFastRefreshView) {\n return (\n <>\n <AppRootComponent {...props} />\n <DevLoadingView />\n </>\n );\n }\n\n return <AppRootComponent {...props} />;\n }\n\n const name = AppRootComponent.displayName || AppRootComponent.name || 'Anonymous';\n WithDevTools.displayName = `withDevTools(${name})`;\n\n return WithDevTools;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeModules.d.ts","sourceRoot":"","sources":["../../src/proxies/NativeModules.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NativeModules.d.ts","sourceRoot":"","sources":["../../src/proxies/NativeModules.ts"],"names":[],"mappings":"AA0DA,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,GAAG,OA+B7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,QAQ/E;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAE/D"}
|
|
@@ -21,6 +21,9 @@ const PROPS_TO_IGNORE = new Set([
|
|
|
21
21
|
'RNGetRandomValues',
|
|
22
22
|
'RNVectorIconsManager',
|
|
23
23
|
'RNVectorIconsModule',
|
|
24
|
+
// False alarm from lottie where it uses react-native-safe-module to detect corresponding native module, but it doesn't exist in lottie.
|
|
25
|
+
'LottieAnimationViewManager',
|
|
26
|
+
'LottieAnimationView',
|
|
24
27
|
/**
|
|
25
28
|
* Other methods that can be called on the NativeModules object that we should ignore. The
|
|
26
29
|
* underlying NativeModules object is sometimes a proxy itself so may not have these methods
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeModules.js","sourceRoot":"","sources":["../../src/proxies/NativeModules.ts"],"names":[],"mappings":"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","sourcesContent":["import { ExecutionEnvironment } from 'expo-constants';\nimport { NativeModules } from 'react-native';\n\nconst originalNativeModules = NativeModules;\n\nconst PROPS_TO_IGNORE: Set<string> = new Set([\n /**\n * We don't want to throw when the expo or expo-modules-core packages try to access any of these\n * modules, since they have built-in fallbacks.\n */\n 'DevLoadingView',\n 'EXDevLauncher',\n 'EXReactNativeEventEmitter',\n 'NativeUnimoduleProxy',\n /**\n * Other modules that are accessed via packages in the Expo SDK but have built-in fallbacks\n */\n 'ExpoImageModule',\n 'ExpoRandom',\n 'PlatformLocalStorage',\n 'RNC_AsyncSQLiteDBStorage',\n 'RNCAsyncStorage',\n 'RNGetRandomValues',\n 'RNVectorIconsManager',\n 'RNVectorIconsModule',\n /**\n * Other methods that can be called on the NativeModules object that we should ignore. The\n * underlying NativeModules object is sometimes a proxy itself so may not have these methods\n * defined.\n */\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toJSON',\n 'toLocaleString',\n 'toString',\n 'valueOf',\n '$$typeof',\n]);\nconst alreadyErroredModules: Set<string> = new Set();\n\nlet additionalModulesToIgnore: Set<string> = new Set();\nlet enabled = true;\n\nfunction createErrorMessageForStoreClient(moduleName: string) {\n return `Your JavaScript code tried to access a native module, ${moduleName}, that isn't supported in Expo Go.\nTo continue development with ${moduleName}, you need to create a development build of your app. See https://expo.fyi/missing-native-module for more info, including how to disable these errors.`;\n}\n\nfunction createErrorMessageForDevelopmentBuild(moduleName: string) {\n return `Your JavaScript code tried to access a native module, ${moduleName}, that doesn't exist in this development build.\nMake sure you are using the newest available development build of this app and running a compatible version of your JavaScript code. If you've installed a new library recently, you may need to make a new development build.\nSee https://expo.fyi/missing-native-module for more info, including how to disable these errors.`;\n}\n\nexport function createProxyForNativeModules(NativeModules: any) {\n if (!__DEV__) {\n return NativeModules;\n }\n return new Proxy(NativeModules, {\n get(target, prop, receiver) {\n const value = Reflect.get(target, prop, receiver);\n if (\n enabled &&\n typeof prop !== 'symbol' &&\n (value === null || value === undefined) &&\n !PROPS_TO_IGNORE.has(prop) &&\n !additionalModulesToIgnore.has(prop) &&\n !alreadyErroredModules.has(prop)\n ) {\n alreadyErroredModules.add(prop);\n\n const isRunningInStoreClient =\n global.expo?.modules?.NativeModulesProxy?.modulesConstants.ExponentConstants\n ?.executionEnvironment === ExecutionEnvironment.StoreClient ||\n target.NativeUnimoduleProxy?.modulesConstants.ExponentConstants?.executionEnvironment ===\n ExecutionEnvironment.StoreClient;\n if (isRunningInStoreClient) {\n throw new Error(createErrorMessageForStoreClient(prop));\n } else if (target.EXDevLauncher) {\n throw new Error(createErrorMessageForDevelopmentBuild(prop));\n }\n }\n return value;\n },\n });\n}\n\n/**\n * Disable the error thrown when trying to access a native module that doesn't exist in the host\n * runtime. If a module name or array of module names is provided, this method disables the error\n * for only those modules, erasing a previous setting if one exists. If no parameter is provided,\n * this method disables the error for all modules.\n *\n * @param moduleNames Name of module or modules for which to disable the missing native module\n * error. If this parameter is omitted, the error will be disabled globally.\n */\nexport function disableMissingNativeModuleErrors(moduleNames?: string[] | string) {\n if (moduleNames) {\n additionalModulesToIgnore =\n typeof moduleNames === 'string' ? new Set([moduleNames]) : new Set(moduleNames);\n enabled = true;\n } else {\n enabled = false;\n }\n}\n\n/**\n * Access a native module without throwing an error if it doesn't exist.\n *\n * @param moduleName Name of module to access\n * @returns Corresponding native module object, or null if it doesn't exist\n */\nexport function getNativeModuleIfExists(moduleName: string): any {\n return originalNativeModules[moduleName];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"NativeModules.js","sourceRoot":"","sources":["../../src/proxies/NativeModules.ts"],"names":[],"mappings":"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","sourcesContent":["import { ExecutionEnvironment } from 'expo-constants';\nimport { NativeModules } from 'react-native';\n\nconst originalNativeModules = NativeModules;\n\nconst PROPS_TO_IGNORE: Set<string> = new Set([\n /**\n * We don't want to throw when the expo or expo-modules-core packages try to access any of these\n * modules, since they have built-in fallbacks.\n */\n 'DevLoadingView',\n 'EXDevLauncher',\n 'EXReactNativeEventEmitter',\n 'NativeUnimoduleProxy',\n /**\n * Other modules that are accessed via packages in the Expo SDK but have built-in fallbacks\n */\n 'ExpoImageModule',\n 'ExpoRandom',\n 'PlatformLocalStorage',\n 'RNC_AsyncSQLiteDBStorage',\n 'RNCAsyncStorage',\n 'RNGetRandomValues',\n 'RNVectorIconsManager',\n 'RNVectorIconsModule',\n // False alarm from lottie where it uses react-native-safe-module to detect corresponding native module, but it doesn't exist in lottie.\n 'LottieAnimationViewManager',\n 'LottieAnimationView',\n /**\n * Other methods that can be called on the NativeModules object that we should ignore. The\n * underlying NativeModules object is sometimes a proxy itself so may not have these methods\n * defined.\n */\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toJSON',\n 'toLocaleString',\n 'toString',\n 'valueOf',\n '$$typeof',\n]);\nconst alreadyErroredModules: Set<string> = new Set();\n\nlet additionalModulesToIgnore: Set<string> = new Set();\nlet enabled = true;\n\nfunction createErrorMessageForStoreClient(moduleName: string) {\n return `Your JavaScript code tried to access a native module, ${moduleName}, that isn't supported in Expo Go.\nTo continue development with ${moduleName}, you need to create a development build of your app. See https://expo.fyi/missing-native-module for more info, including how to disable these errors.`;\n}\n\nfunction createErrorMessageForDevelopmentBuild(moduleName: string) {\n return `Your JavaScript code tried to access a native module, ${moduleName}, that doesn't exist in this development build.\nMake sure you are using the newest available development build of this app and running a compatible version of your JavaScript code. If you've installed a new library recently, you may need to make a new development build.\nSee https://expo.fyi/missing-native-module for more info, including how to disable these errors.`;\n}\n\nexport function createProxyForNativeModules(NativeModules: any) {\n if (!__DEV__) {\n return NativeModules;\n }\n return new Proxy(NativeModules, {\n get(target, prop, receiver) {\n const value = Reflect.get(target, prop, receiver);\n if (\n enabled &&\n typeof prop !== 'symbol' &&\n (value === null || value === undefined) &&\n !PROPS_TO_IGNORE.has(prop) &&\n !additionalModulesToIgnore.has(prop) &&\n !alreadyErroredModules.has(prop)\n ) {\n alreadyErroredModules.add(prop);\n\n const isRunningInStoreClient =\n global.expo?.modules?.NativeModulesProxy?.modulesConstants.ExponentConstants\n ?.executionEnvironment === ExecutionEnvironment.StoreClient ||\n target.NativeUnimoduleProxy?.modulesConstants.ExponentConstants?.executionEnvironment ===\n ExecutionEnvironment.StoreClient;\n if (isRunningInStoreClient) {\n throw new Error(createErrorMessageForStoreClient(prop));\n } else if (target.EXDevLauncher) {\n throw new Error(createErrorMessageForDevelopmentBuild(prop));\n }\n }\n return value;\n },\n });\n}\n\n/**\n * Disable the error thrown when trying to access a native module that doesn't exist in the host\n * runtime. If a module name or array of module names is provided, this method disables the error\n * for only those modules, erasing a previous setting if one exists. If no parameter is provided,\n * this method disables the error for all modules.\n *\n * @param moduleNames Name of module or modules for which to disable the missing native module\n * error. If this parameter is omitted, the error will be disabled globally.\n */\nexport function disableMissingNativeModuleErrors(moduleNames?: string[] | string) {\n if (moduleNames) {\n additionalModulesToIgnore =\n typeof moduleNames === 'string' ? new Set([moduleNames]) : new Set(moduleNames);\n enabled = true;\n } else {\n enabled = false;\n }\n}\n\n/**\n * Access a native module without throwing an error if it doesn't exist.\n *\n * @param moduleName Name of module to access\n * @returns Corresponding native module object, or null if it doesn't exist\n */\nexport function getNativeModuleIfExists(moduleName: string): any {\n return originalNativeModules[moduleName];\n}\n"]}
|
|
@@ -1,110 +1,109 @@
|
|
|
1
1
|
{
|
|
2
2
|
"@expo/vector-icons": "^13.0.0",
|
|
3
3
|
"@react-native-async-storage/async-storage": "~1.17.3",
|
|
4
|
-
"@react-native-community/datetimepicker": "6.2
|
|
5
|
-
"@react-native-masked-view/masked-view": "0.2.
|
|
6
|
-
"@react-native-community/netinfo": "9.3.
|
|
7
|
-
"@react-native-community/slider": "4.2.
|
|
4
|
+
"@react-native-community/datetimepicker": "6.5.2",
|
|
5
|
+
"@react-native-masked-view/masked-view": "0.2.8",
|
|
6
|
+
"@react-native-community/netinfo": "9.3.5",
|
|
7
|
+
"@react-native-community/slider": "4.2.4",
|
|
8
8
|
"@react-native-community/viewpager": "5.0.11",
|
|
9
|
-
"@react-native-
|
|
10
|
-
"@react-native-picker/picker": "2.4.6",
|
|
9
|
+
"@react-native-picker/picker": "2.4.8",
|
|
11
10
|
"@react-native-segmented-control/segmented-control": "2.4.0",
|
|
12
|
-
"@stripe/stripe-react-native": "0.
|
|
11
|
+
"@stripe/stripe-react-native": "0.19.0",
|
|
13
12
|
"expo-analytics-amplitude": "~11.3.0",
|
|
14
13
|
"expo-app-auth": "~11.1.0",
|
|
15
14
|
"expo-app-loader-provider": "~8.0.0",
|
|
16
|
-
"expo-app-loading": "~2.1.
|
|
17
|
-
"expo-apple-authentication": "~
|
|
18
|
-
"expo-application": "~5.0.
|
|
19
|
-
"expo-asset": "~8.6.
|
|
20
|
-
"expo-auth-session": "~3.7.
|
|
21
|
-
"expo-av": "~13.0.0
|
|
22
|
-
"expo-background-fetch": "~
|
|
23
|
-
"expo-barcode-scanner": "~
|
|
24
|
-
"expo-battery": "~
|
|
25
|
-
"expo-blur": "~
|
|
26
|
-
"expo-brightness": "~
|
|
27
|
-
"expo-build-properties": "~0.
|
|
28
|
-
"expo-calendar": "~
|
|
29
|
-
"expo-camera": "~13.0.0
|
|
30
|
-
"expo-cellular": "~
|
|
31
|
-
"expo-checkbox": "~2.2.
|
|
32
|
-
"expo-clipboard": "~
|
|
33
|
-
"expo-constants": "~14.0.
|
|
34
|
-
"expo-contacts": "~
|
|
35
|
-
"expo-crypto": "~
|
|
36
|
-
"expo-dev-client": "~
|
|
37
|
-
"expo-device": "~
|
|
38
|
-
"expo-document-picker": "~
|
|
39
|
-
"expo-error-recovery": "~4.0.
|
|
40
|
-
"expo-face-detector": "~
|
|
41
|
-
"expo-file-system": "~15.
|
|
42
|
-
"expo-firebase-analytics": "~
|
|
43
|
-
"expo-firebase-core": "~
|
|
44
|
-
"expo-firebase-recaptcha": "~2.3.
|
|
45
|
-
"expo-font": "~11.0.
|
|
46
|
-
"expo-gl": "~
|
|
15
|
+
"expo-app-loading": "~2.1.1",
|
|
16
|
+
"expo-apple-authentication": "~5.0.1",
|
|
17
|
+
"expo-application": "~5.0.1",
|
|
18
|
+
"expo-asset": "~8.6.2",
|
|
19
|
+
"expo-auth-session": "~3.7.2",
|
|
20
|
+
"expo-av": "~13.0.0",
|
|
21
|
+
"expo-background-fetch": "~11.0.1",
|
|
22
|
+
"expo-barcode-scanner": "~12.0.0",
|
|
23
|
+
"expo-battery": "~7.0.0",
|
|
24
|
+
"expo-blur": "~12.0.0",
|
|
25
|
+
"expo-brightness": "~11.0.0",
|
|
26
|
+
"expo-build-properties": "~0.4.0",
|
|
27
|
+
"expo-calendar": "~11.0.1",
|
|
28
|
+
"expo-camera": "~13.0.0",
|
|
29
|
+
"expo-cellular": "~5.0.1",
|
|
30
|
+
"expo-checkbox": "~2.2.1",
|
|
31
|
+
"expo-clipboard": "~4.0.0",
|
|
32
|
+
"expo-constants": "~14.0.1",
|
|
33
|
+
"expo-contacts": "~11.0.1",
|
|
34
|
+
"expo-crypto": "~12.0.0",
|
|
35
|
+
"expo-dev-client": "~2.0.0",
|
|
36
|
+
"expo-device": "~5.0.0",
|
|
37
|
+
"expo-document-picker": "~11.0.1",
|
|
38
|
+
"expo-error-recovery": "~4.0.1",
|
|
39
|
+
"expo-face-detector": "~12.0.0",
|
|
40
|
+
"expo-file-system": "~15.1.1",
|
|
41
|
+
"expo-firebase-analytics": "~8.0.0",
|
|
42
|
+
"expo-firebase-core": "~6.0.0",
|
|
43
|
+
"expo-firebase-recaptcha": "~2.3.1",
|
|
44
|
+
"expo-font": "~11.0.1",
|
|
45
|
+
"expo-gl": "~12.0.0",
|
|
47
46
|
"expo-google-app-auth": "~8.3.0",
|
|
48
|
-
"expo-haptics": "~
|
|
49
|
-
"expo-image-loader": "~
|
|
50
|
-
"expo-image-manipulator": "~
|
|
51
|
-
"expo-image-picker": "~
|
|
52
|
-
"expo-in-app-purchases": "~
|
|
53
|
-
"expo-intent-launcher": "~10.3.
|
|
54
|
-
"expo-keep-awake": "~11.0.
|
|
55
|
-
"expo-linear-gradient": "~12.0.0
|
|
56
|
-
"expo-linking": "~3.2.
|
|
57
|
-
"expo-local-authentication": "~
|
|
58
|
-
"expo-localization": "~
|
|
59
|
-
"expo-location": "~
|
|
60
|
-
"expo-mail-composer": "~
|
|
61
|
-
"expo-media-library": "~
|
|
62
|
-
"expo-module-template": "~10.7.
|
|
63
|
-
"expo-modules-core": "~0.
|
|
64
|
-
"expo-navigation-bar": "~
|
|
65
|
-
"expo-network": "~
|
|
66
|
-
"expo-notifications": "~0.
|
|
67
|
-
"expo-permissions": "~
|
|
68
|
-
"expo-print": "~
|
|
69
|
-
"expo-random": "~
|
|
70
|
-
"expo-screen-capture": "~
|
|
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": "~
|
|
79
|
-
"expo-status-bar": "~1.4.
|
|
80
|
-
"expo-store-review": "~
|
|
81
|
-
"expo-system-ui": "~
|
|
82
|
-
"expo-task-manager": "~
|
|
83
|
-
"expo-tracking-transparency": "~
|
|
84
|
-
"expo-updates": "~0.
|
|
85
|
-
"expo-video-thumbnails": "~
|
|
86
|
-
"expo-web-browser": "~
|
|
87
|
-
"lottie-react-native": "5.1.
|
|
47
|
+
"expo-haptics": "~12.0.0",
|
|
48
|
+
"expo-image-loader": "~4.0.0",
|
|
49
|
+
"expo-image-manipulator": "~11.0.0",
|
|
50
|
+
"expo-image-picker": "~14.0.0",
|
|
51
|
+
"expo-in-app-purchases": "~14.0.0",
|
|
52
|
+
"expo-intent-launcher": "~10.3.1",
|
|
53
|
+
"expo-keep-awake": "~11.0.1",
|
|
54
|
+
"expo-linear-gradient": "~12.0.0",
|
|
55
|
+
"expo-linking": "~3.2.3",
|
|
56
|
+
"expo-local-authentication": "~13.0.1",
|
|
57
|
+
"expo-localization": "~14.0.0",
|
|
58
|
+
"expo-location": "~15.0.1",
|
|
59
|
+
"expo-mail-composer": "~12.0.0",
|
|
60
|
+
"expo-media-library": "~15.0.0",
|
|
61
|
+
"expo-module-template": "~10.7.5",
|
|
62
|
+
"expo-modules-core": "~0.13.2",
|
|
63
|
+
"expo-navigation-bar": "~2.0.1",
|
|
64
|
+
"expo-network": "~5.0.0",
|
|
65
|
+
"expo-notifications": "~0.17.0",
|
|
66
|
+
"expo-permissions": "~14.0.0",
|
|
67
|
+
"expo-print": "~12.0.0",
|
|
68
|
+
"expo-random": "~13.0.0",
|
|
69
|
+
"expo-screen-capture": "~5.0.0",
|
|
70
|
+
"expo-screen-orientation": "~5.0.1",
|
|
71
|
+
"expo-secure-store": "~12.0.0",
|
|
72
|
+
"expo-sensors": "~12.0.1",
|
|
73
|
+
"expo-sharing": "~11.0.1",
|
|
74
|
+
"expo-sms": "~11.0.0",
|
|
75
|
+
"expo-speech": "~11.0.0",
|
|
76
|
+
"expo-splash-screen": "~0.17.1",
|
|
77
|
+
"expo-sqlite": "~11.0.0",
|
|
78
|
+
"expo-status-bar": "~1.4.1",
|
|
79
|
+
"expo-store-review": "~6.0.0",
|
|
80
|
+
"expo-system-ui": "~2.0.1",
|
|
81
|
+
"expo-task-manager": "~11.0.1",
|
|
82
|
+
"expo-tracking-transparency": "~3.0.1",
|
|
83
|
+
"expo-updates": "~0.15.1",
|
|
84
|
+
"expo-video-thumbnails": "~7.0.0",
|
|
85
|
+
"expo-web-browser": "~12.0.0",
|
|
86
|
+
"lottie-react-native": "5.1.4",
|
|
88
87
|
"react": "18.1.0",
|
|
89
88
|
"react-dom": "18.0.0",
|
|
90
|
-
"react-native": "0.70.
|
|
89
|
+
"react-native": "0.70.4",
|
|
91
90
|
"react-native-web": "~0.18.9",
|
|
92
91
|
"react-native-branch": "^5.4.0",
|
|
93
|
-
"react-native-gesture-handler": "~2.
|
|
92
|
+
"react-native-gesture-handler": "~2.8.0",
|
|
94
93
|
"react-native-get-random-values": "~1.8.0",
|
|
95
|
-
"react-native-maps": "
|
|
96
|
-
"react-native-pager-view": "
|
|
97
|
-
"react-native-reanimated": "~2.
|
|
98
|
-
"react-native-safe-area-context": "4.3.1",
|
|
94
|
+
"react-native-maps": "1.3.2",
|
|
95
|
+
"react-native-pager-view": "6.0.1",
|
|
96
|
+
"react-native-reanimated": "~2.11.0",
|
|
99
97
|
"react-native-screens": "~3.18.0",
|
|
98
|
+
"react-native-safe-area-context": "4.4.1",
|
|
100
99
|
"react-native-shared-element": "0.8.4",
|
|
101
|
-
"react-native-svg": "
|
|
102
|
-
"react-native-view-shot": "3.
|
|
100
|
+
"react-native-svg": "13.4.0",
|
|
101
|
+
"react-native-view-shot": "3.4.0",
|
|
103
102
|
"react-native-webview": "11.23.1",
|
|
104
103
|
"sentry-expo": "~5.0.0",
|
|
105
|
-
"unimodules-app-loader": "~
|
|
104
|
+
"unimodules-app-loader": "~4.0.0",
|
|
106
105
|
"unimodules-image-loader-interface": "~6.1.0",
|
|
107
|
-
"@shopify/react-native-skia": "0.1.
|
|
108
|
-
"@shopify/flash-list": "1.3.
|
|
106
|
+
"@shopify/react-native-skia": "0.1.155",
|
|
107
|
+
"@shopify/flash-list": "1.3.1",
|
|
109
108
|
"@sentry/react-native": "4.2.2"
|
|
110
109
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo",
|
|
3
|
-
"version": "47.0.0-
|
|
3
|
+
"version": "47.0.0-beta.2",
|
|
4
4
|
"description": "The Expo SDK",
|
|
5
5
|
"main": "build/Expo.js",
|
|
6
6
|
"module": "build/Expo.js",
|
|
@@ -59,18 +59,18 @@
|
|
|
59
59
|
"homepage": "https://github.com/expo/expo/tree/main/packages/expo",
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"@babel/runtime": "^7.14.0",
|
|
62
|
-
"@expo/cli": "0.
|
|
62
|
+
"@expo/cli": "0.4.2",
|
|
63
63
|
"@expo/vector-icons": "^13.0.0",
|
|
64
64
|
"babel-preset-expo": "~9.2.1",
|
|
65
65
|
"cross-spawn": "^6.0.5",
|
|
66
|
-
"expo-application": "~5.0.
|
|
67
|
-
"expo-asset": "~8.6.
|
|
68
|
-
"expo-constants": "~14.0.
|
|
69
|
-
"expo-file-system": "~15.
|
|
70
|
-
"expo-font": "~11.0.
|
|
71
|
-
"expo-keep-awake": "~11.0.
|
|
72
|
-
"expo-modules-autolinking": "0.
|
|
73
|
-
"expo-modules-core": "0.
|
|
66
|
+
"expo-application": "~5.0.1",
|
|
67
|
+
"expo-asset": "~8.6.2",
|
|
68
|
+
"expo-constants": "~14.0.1",
|
|
69
|
+
"expo-file-system": "~15.1.1",
|
|
70
|
+
"expo-font": "~11.0.1",
|
|
71
|
+
"expo-keep-awake": "~11.0.1",
|
|
72
|
+
"expo-modules-autolinking": "0.12.0",
|
|
73
|
+
"expo-modules-core": "0.13.2",
|
|
74
74
|
"fbemitter": "^3.0.0",
|
|
75
75
|
"getenv": "^1.0.0",
|
|
76
76
|
"invariant": "^2.2.4",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"uuid": "^3.4.0"
|
|
81
81
|
},
|
|
82
82
|
"optionalDependencies": {
|
|
83
|
-
"expo-error-recovery": "~4.0.
|
|
83
|
+
"expo-error-recovery": "~4.0.1"
|
|
84
84
|
},
|
|
85
85
|
"devDependencies": {
|
|
86
86
|
"@types/fbemitter": "^2.0.32",
|
|
@@ -89,10 +89,10 @@
|
|
|
89
89
|
"@types/react-native": "~0.69.1",
|
|
90
90
|
"@types/react-test-renderer": "^18.0.0",
|
|
91
91
|
"@types/uuid": "^3.4.7",
|
|
92
|
-
"expo-module-scripts": "^
|
|
92
|
+
"expo-module-scripts": "^3.0.1",
|
|
93
93
|
"react": "18.1.0",
|
|
94
94
|
"react-dom": "18.0.0",
|
|
95
|
-
"react-native": "0.70.
|
|
95
|
+
"react-native": "0.70.4"
|
|
96
96
|
},
|
|
97
|
-
"gitHead": "
|
|
97
|
+
"gitHead": "59081bb17e727b10f2a00cd07bb45cd283a6f6a5"
|
|
98
98
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DevAppContainer.d.ts","sourceRoot":"","sources":["../../src/environment/DevAppContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,eAOpF"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import DevLoadingView from '../environment/DevLoadingView';
|
|
3
|
-
export default function DevAppContainer({ children }) {
|
|
4
|
-
return (React.createElement(React.Fragment, null,
|
|
5
|
-
children,
|
|
6
|
-
React.createElement(DevLoadingView, null)));
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=DevAppContainer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DevAppContainer.js","sourceRoot":"","sources":["../../src/environment/DevAppContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAE3D,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAmC;IACnF,OAAO,CACL;QACG,QAAQ;QACT,oBAAC,cAAc,OAAG,CACjB,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import * as React from 'react';\n\nimport DevLoadingView from '../environment/DevLoadingView';\n\nexport default function DevAppContainer({ children }: React.PropsWithChildren<object>) {\n return (\n <>\n {children}\n <DevLoadingView />\n </>\n );\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withExpoRoot.d.ts","sourceRoot":"","sources":["../../src/launch/withExpoRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAcpD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAC,SAAS,YAAY,EACzD,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GACvC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAMxB"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
// This hook can be optionally imported because __DEV__ never changes during runtime.
|
|
3
|
-
// Using __DEV__ like this enables tree shaking to remove the hook in production.
|
|
4
|
-
let useDevKeepAwake = () => { };
|
|
5
|
-
if (__DEV__) {
|
|
6
|
-
try {
|
|
7
|
-
// Optionally import expo-keep-awake
|
|
8
|
-
const { useKeepAwake, ExpoKeepAwakeTag } = require('expo-keep-awake');
|
|
9
|
-
useDevKeepAwake = () => useKeepAwake(ExpoKeepAwakeTag, { suppressDeactivateWarnings: true });
|
|
10
|
-
}
|
|
11
|
-
catch { }
|
|
12
|
-
}
|
|
13
|
-
export default function withExpoRoot(AppRootComponent) {
|
|
14
|
-
return function ExpoRoot(props) {
|
|
15
|
-
useDevKeepAwake();
|
|
16
|
-
return React.createElement(AppRootComponent, { ...props });
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=withExpoRoot.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withExpoRoot.js","sourceRoot":"","sources":["../../src/launch/withExpoRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,qFAAqF;AACrF,iFAAiF;AACjF,IAAI,eAAe,GAA2B,GAAG,EAAE,GAAE,CAAC,CAAC;AAEvD,IAAI,OAAO,EAAE;IACX,IAAI;QACF,oCAAoC;QACpC,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACtE,eAAe,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC;KAC9F;IAAC,MAAM,GAAE;CACX;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,gBAAwC;IAExC,OAAO,SAAS,QAAQ,CAAC,KAAQ;QAC/B,eAAe,EAAE,CAAC;QAElB,OAAO,oBAAC,gBAAgB,OAAK,KAAK,GAAI,CAAC;IACzC,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import * as React from 'react';\n\nimport { InitialProps } from './withExpoRoot.types';\n\n// This hook can be optionally imported because __DEV__ never changes during runtime.\n// Using __DEV__ like this enables tree shaking to remove the hook in production.\nlet useDevKeepAwake: (tag?: string) => void = () => {};\n\nif (__DEV__) {\n try {\n // Optionally import expo-keep-awake\n const { useKeepAwake, ExpoKeepAwakeTag } = require('expo-keep-awake');\n useDevKeepAwake = () => useKeepAwake(ExpoKeepAwakeTag, { suppressDeactivateWarnings: true });\n } catch {}\n}\n\nexport default function withExpoRoot<P extends InitialProps>(\n AppRootComponent: React.ComponentType<P>\n): React.ComponentType<P> {\n return function ExpoRoot(props: P) {\n useDevKeepAwake();\n\n return <AppRootComponent {...props} />;\n };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withExpoRoot.types.d.ts","sourceRoot":"","sources":["../../src/launch/withExpoRoot.types.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY,GAAG;IACzB,GAAG,EAAE;QACH,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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withExpoRoot.types.js","sourceRoot":"","sources":["../../src/launch/withExpoRoot.types.ts"],"names":[],"mappings":"","sourcesContent":["export type InitialProps = {\n exp: {\n notification?: any;\n manifestString?: string;\n [key: string]: any;\n };\n shell?: boolean;\n shellManifestUrl?: string;\n [key: string]: any;\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withExpoRoot.web.d.ts","sourceRoot":"","sources":["../../src/launch/withExpoRoot.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAC,SAAS,YAAY,EACzD,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GACvC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAMzB"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
export default function withExpoRoot(AppRootComponent) {
|
|
3
|
-
return class ExpoRootComponent extends React.Component {
|
|
4
|
-
render() {
|
|
5
|
-
return React.createElement(AppRootComponent, { ...this.props });
|
|
6
|
-
}
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=withExpoRoot.web.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withExpoRoot.web.js","sourceRoot":"","sources":["../../src/launch/withExpoRoot.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,gBAAwC;IAExC,OAAO,MAAM,iBAAkB,SAAQ,KAAK,CAAC,SAAY;QACvD,MAAM;YACJ,OAAO,oBAAC,gBAAgB,OAAK,IAAI,CAAC,KAAK,GAAI,CAAC;QAC9C,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import * as React from 'react';\n\nimport { InitialProps } from './withExpoRoot.types';\n\nexport default function withExpoRoot<P extends InitialProps>(\n AppRootComponent: React.ComponentType<P>\n): React.ComponentClass<P> {\n return class ExpoRootComponent extends React.Component<P> {\n render() {\n return <AppRootComponent {...this.props} />;\n }\n };\n}\n"]}
|