expo-dev-launcher 0.8.4 → 0.10.1
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 +42 -1
- package/README.md +3 -367
- package/android/build.gradle +10 -6
- package/android/src/debug/assets/expo_dev_launcher_android.bundle +968 -419
- package/android/src/debug/java/expo/modules/devlauncher/DevLauncherController.kt +30 -8
- package/android/src/debug/java/expo/modules/devlauncher/{DevLauncherPackage.kt → DevLauncherPackageDelegate.kt} +2 -6
- package/android/src/debug/java/expo/modules/devlauncher/launcher/DevLauncherClientHost.kt +5 -1
- package/android/src/debug/java/expo/modules/devlauncher/launcher/loaders/DevLauncherAppLoaderFactory.kt +3 -1
- package/android/src/debug/java/expo/modules/devlauncher/modules/DevLauncherInternalModule.kt +80 -4
- package/android/src/debug/res/drawable-hdpi/node_modules_reactnavigation_elements_src_assets_backicon.png +0 -0
- package/android/src/debug/res/drawable-hdpi/node_modules_reactnavigation_stack_src_views_assets_backicon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/_expodevclientcomponents_assets_checkicon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/_expodevclientcomponents_assets_chevronrighticon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/_expodevclientcomponents_assets_homefilledactiveicon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/_expodevclientcomponents_assets_homefilledinactiveicon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/_expodevclientcomponents_assets_infoicon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/_expodevclientcomponents_assets_logoicon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/_expodevclientcomponents_assets_questionmarkicon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/_expodevclientcomponents_assets_refreshicon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/_expodevclientcomponents_assets_settingsfilledactiveicon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/_expodevclientcomponents_assets_settingsfilledinactiveicon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/_expodevclientcomponents_assets_shakedeviceicon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/_expodevclientcomponents_assets_showmenuatlaunchicon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/_expodevclientcomponents_assets_terminalicon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/_expodevclientcomponents_assets_threefingerlongpressicon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/_expodevclientcomponents_assets_toolbaroverlayicon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/_expodevclientcomponents_assets_usericon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/_expodevclientcomponents_assets_xicon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/node_modules_reactnavigation_elements_src_assets_backicon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/node_modules_reactnavigation_elements_src_assets_backiconmask.png +0 -0
- package/android/src/debug/res/drawable-mdpi/node_modules_reactnavigation_stack_src_views_assets_backicon.png +0 -0
- package/android/src/debug/res/drawable-mdpi/node_modules_reactnavigation_stack_src_views_assets_backiconmask.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/_expodevclientcomponents_assets_checkicon.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/_expodevclientcomponents_assets_chevronrighticon.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/_expodevclientcomponents_assets_homefilledactiveicon.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/_expodevclientcomponents_assets_homefilledinactiveicon.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/_expodevclientcomponents_assets_infoicon.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/_expodevclientcomponents_assets_logoicon.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/_expodevclientcomponents_assets_questionmarkicon.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/_expodevclientcomponents_assets_refreshicon.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/_expodevclientcomponents_assets_settingsfilledactiveicon.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/_expodevclientcomponents_assets_settingsfilledinactiveicon.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/_expodevclientcomponents_assets_shakedeviceicon.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/_expodevclientcomponents_assets_showmenuatlaunchicon.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/_expodevclientcomponents_assets_terminalicon.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/_expodevclientcomponents_assets_threefingerlongpressicon.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/_expodevclientcomponents_assets_toolbaroverlayicon.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/_expodevclientcomponents_assets_usericon.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/_expodevclientcomponents_assets_xicon.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/node_modules_reactnavigation_elements_src_assets_backicon.png +0 -0
- package/android/src/debug/res/drawable-xhdpi/node_modules_reactnavigation_stack_src_views_assets_backicon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/_expodevclientcomponents_assets_checkicon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/_expodevclientcomponents_assets_chevronrighticon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/_expodevclientcomponents_assets_homefilledactiveicon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/_expodevclientcomponents_assets_homefilledinactiveicon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/_expodevclientcomponents_assets_infoicon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/_expodevclientcomponents_assets_logoicon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/_expodevclientcomponents_assets_questionmarkicon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/_expodevclientcomponents_assets_refreshicon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/_expodevclientcomponents_assets_settingsfilledactiveicon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/_expodevclientcomponents_assets_settingsfilledinactiveicon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/_expodevclientcomponents_assets_shakedeviceicon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/_expodevclientcomponents_assets_showmenuatlaunchicon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/_expodevclientcomponents_assets_terminalicon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/_expodevclientcomponents_assets_threefingerlongpressicon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/_expodevclientcomponents_assets_toolbaroverlayicon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/_expodevclientcomponents_assets_usericon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/_expodevclientcomponents_assets_xicon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/node_modules_reactnavigation_elements_src_assets_backicon.png +0 -0
- package/android/src/debug/res/drawable-xxhdpi/node_modules_reactnavigation_stack_src_views_assets_backicon.png +0 -0
- package/android/src/debug/res/drawable-xxxhdpi/node_modules_reactnavigation_elements_src_assets_backicon.png +0 -0
- package/android/src/debug/res/drawable-xxxhdpi/node_modules_reactnavigation_stack_src_views_assets_backicon.png +0 -0
- package/android/src/debug/res/raw/__node_modules_cssselect_lib_procedure.json +11 -0
- package/android/src/debug/res/raw/__node_modules_cssselect_node_modules_domserializer_foreignnames.json +102 -0
- package/android/src/debug/res/raw/__node_modules_csstree_data_patch.json +721 -0
- package/android/src/debug/res/raw/__node_modules_csstree_package.json +60 -0
- package/android/src/debug/res/raw/__node_modules_entities_lib_maps_decode.json +1 -0
- package/android/src/debug/res/raw/__node_modules_entities_lib_maps_entities.json +1 -0
- package/android/src/debug/res/raw/__node_modules_entities_lib_maps_legacy.json +1 -0
- package/android/src/debug/res/raw/__node_modules_entities_lib_maps_xml.json +1 -0
- package/android/src/debug/res/raw/__node_modules_mdndata_css_atrules.json +560 -0
- package/android/src/debug/res/raw/__node_modules_mdndata_css_properties.json +9163 -0
- package/android/src/debug/res/raw/__node_modules_mdndata_css_syntaxes.json +761 -0
- package/android/src/debug/res/raw/__reactnativelab_reactnative_package.json +160 -0
- package/android/src/main/AndroidManifest.xml +9 -1
- package/android/src/{release → main}/java/expo/modules/devlauncher/DevLauncherPackage.kt +3 -2
- package/android/src/main/java/expo/modules/devlauncher/helpers/DevLauncherInstallationIDHelper.kt +69 -0
- package/android/src/main/java/expo/modules/devlauncher/helpers/DevLauncherOkHttpExtension.kt +3 -2
- package/android/src/main/java/expo/modules/devlauncher/helpers/DevLauncherURLHelper.kt +1 -1
- package/android/src/main/java/expo/modules/devlauncher/helpers/DevLauncherUpdatesHelper.kt +8 -4
- package/android/src/main/java/expo/modules/devlauncher/koin/DevLauncherKoinApp.kt +2 -0
- package/android/src/main/java/expo/modules/devlauncher/launcher/DevLauncherActivity.kt +2 -1
- package/android/src/main/java/expo/modules/devlauncher/launcher/DevLauncherControllerInterface.kt +2 -0
- package/android/src/main/java/expo/modules/devlauncher/launcher/errors/DevLauncherErrorActivity.kt +70 -76
- package/android/src/main/java/expo/modules/devlauncher/launcher/errors/DevLauncherStackAdapter.kt +39 -0
- package/android/src/main/java/expo/modules/devlauncher/launcher/errors/DevLauncherUncaughtExceptionHandler.kt +87 -0
- package/android/src/main/java/expo/modules/devlauncher/launcher/manifest/DevLauncherManifestParser.kt +13 -3
- package/android/src/main/java/expo/modules/devlauncher/react/DevLauncherDevSupportManagerSwapper.kt +25 -3
- package/android/src/main/res/layout/error_console_fragment.xml +3 -3
- package/android/src/main/res/layout/error_console_list_item.xml +12 -20
- package/android/src/main/res/layout/error_fragment.xml +69 -65
- package/android/src/main/res/values/colors.xml +12 -7
- package/android/src/main/res/values/strings.xml +7 -4
- package/android/src/main/res/values/styles.xml +4 -4
- package/android/src/react-native-64/expo/modules/devlauncher/rncompatibility/DevLauncherDevSupportManager.kt +1 -1
- package/android/src/react-native-66/expo/modules/devlauncher/rncompatibility/DevLauncherDevSupportManager.kt +251 -0
- package/android/src/release/java/expo/modules/devlauncher/DevLauncherController.kt +4 -0
- package/android/src/release/java/expo/modules/devlauncher/DevLauncherPackageDelegate.kt +8 -0
- package/android/src/testDebug/java/expo/modules/devlauncher/launcher/loaders/DevLauncherAppLoaderFactoryTest.kt +3 -1
- package/build/DevLauncher.d.ts +1 -0
- package/build/DevLauncher.d.ts.map +1 -0
- package/build/DevLauncherErrorManager.d.ts +1 -0
- package/build/DevLauncherErrorManager.d.ts.map +1 -0
- package/build/DevLauncherErrorManager.web.d.ts +1 -0
- package/build/DevLauncherErrorManager.web.d.ts.map +1 -0
- package/build/WebUnsupportedError.d.ts +1 -0
- package/build/WebUnsupportedError.d.ts.map +1 -0
- package/build/setUpErrorHandler.fx.d.ts +1 -0
- package/build/setUpErrorHandler.fx.d.ts.map +1 -0
- package/build/setUpErrorHandler.fx.web.d.ts +1 -0
- package/build/setUpErrorHandler.fx.web.d.ts.map +1 -0
- package/bundle/App.tsx +57 -0
- package/bundle/DevLauncherInternal.ts +2 -0
- package/bundle/DevMenu.ts +2 -2
- package/bundle/apiClient.ts +8 -0
- package/bundle/components/redesign/AppHeader.tsx +76 -0
- package/bundle/components/redesign/AppProviders.tsx +61 -0
- package/bundle/components/redesign/DeepLinkModal.tsx +163 -0
- package/bundle/components/redesign/DevServerExplainerModal.tsx +23 -0
- package/bundle/components/redesign/LoadAppErrorModal.tsx +10 -0
- package/bundle/components/redesign/LoadInitialData.tsx +27 -0
- package/bundle/components/redesign/LogoutConfirmationModal.tsx +48 -0
- package/bundle/components/redesign/PulseIndicator.tsx +56 -0
- package/bundle/components/redesign/Splash.tsx +12 -0
- package/bundle/components/redesign/UrlDropdown.tsx +123 -0
- package/bundle/functions/createAsyncStack.ts +193 -0
- package/bundle/functions/getDevSessionsAsync.ts +57 -0
- package/bundle/functions/getInitialData.ts +21 -0
- package/bundle/functions/getUserProfileAsync.ts +48 -0
- package/bundle/functions/restoreUserAsync.ts +15 -0
- package/bundle/functions/sleepAsync.ts +3 -0
- package/bundle/functions/startAuthSessionAsync.ts +24 -0
- package/bundle/functions/validateUrl.ts +11 -0
- package/bundle/hooks/useBuildInfo.tsx +30 -0
- package/bundle/hooks/useDebounce.tsx +44 -0
- package/bundle/hooks/useDevMenuSettings.tsx +100 -0
- package/bundle/hooks/useDevSessions.tsx +73 -0
- package/bundle/hooks/useIsMounted.ts +16 -0
- package/bundle/hooks/useModalStack.tsx +160 -0
- package/bundle/hooks/usePendingDeepLink.tsx +58 -0
- package/bundle/hooks/useRecentlyOpenedApps.tsx +62 -0
- package/bundle/hooks/useUser.tsx +101 -0
- package/bundle/index.ts +5 -1
- package/bundle/native-modules/DevLauncherInternal.ts +46 -0
- package/bundle/native-modules/DevMenu.ts +40 -0
- package/bundle/native-modules/DevMenuInternal.ts +46 -0
- package/bundle/native-modules/DevMenuWebBrowser.ts +91 -0
- package/bundle/screens/HomeScreen.tsx +278 -0
- package/bundle/screens/LauncherMainScreen.tsx +19 -23
- package/bundle/screens/SettingsScreen.tsx +197 -0
- package/bundle/screens/UserProfileScreen.tsx +234 -0
- package/bundle/test-utils.tsx +22 -0
- package/bundle/types.ts +5 -0
- package/expo-dev-launcher.podspec +4 -1
- package/expo-module.config.json +7 -0
- package/ios/EXDevLauncherController.h +7 -0
- package/ios/EXDevLauncherController.m +85 -10
- package/ios/EXDevLauncherInstallationIDHelper.swift +70 -0
- package/ios/EXDevLauncherInternal.m +26 -1
- package/ios/EXDevLauncherMenuDelegate.swift +23 -24
- package/ios/EXDevLauncherPendingDeepLinkRegistry.swift +6 -6
- package/ios/EXDevLauncherRecentlyOpenedAppsRegistry.swift +16 -12
- package/ios/EXDevLauncherURLHelper.swift +8 -6
- package/ios/EXDevLauncherUpdatesHelper.h +2 -1
- package/ios/EXDevLauncherUpdatesHelper.m +7 -3
- package/ios/EXDevLauncherUtils.swift +4 -4
- package/ios/Errors/EXDevLauncherAppError.swift +13 -0
- package/ios/Errors/EXDevLauncherErrorManager.swift +16 -44
- package/ios/Errors/EXDevLauncherErrorViewController.swift +43 -30
- package/ios/Errors/EXDevLauncherRedBox.m +2 -1
- package/ios/Errors/EXDevLauncherStackTrace.swift +9 -0
- package/ios/Errors/EXDevLauncherUncaughtExceptionHandler.swift +35 -0
- package/ios/Manifest/EXDevLauncherManifestHelper.swift +8 -8
- package/ios/Manifest/EXDevLauncherManifestParser.h +3 -1
- package/ios/Manifest/EXDevLauncherManifestParser.m +9 -1
- package/ios/ReactNative/EXDevLauncherBundleURLProviderInterceptor.swift +2 -2
- package/ios/ReactNative/EXDevLauncherRCTBridge.h +4 -0
- package/ios/ReactNative/EXDevLauncherRCTBridge.m +13 -6
- package/ios/ReactNative/EXDevLauncherRedBoxInterceptor.swift +9 -9
- package/ios/Tests/EXDevLauncherControllerTest.swift +48 -0
- package/ios/Tests/EXDevLauncherInstallationIDHelperTests.swift +29 -0
- package/ios/Tests/EXDevLauncherManifestParserTests.m +53 -5
- package/ios/Tests/EXDevLauncherMenuDelegateTest.swift +89 -0
- package/ios/Tests/EXDevLauncherPendingDeepLinkRegistryTest.swift +50 -0
- package/ios/Tests/EXDevLauncherRCTBridgeTest.swift +30 -0
- package/ios/Tests/EXDevLauncherRecentlyOpenedAppsRegistryTest.swift +37 -0
- package/ios/Tests/EXDevLauncherRecentlyOpenedAppsRegistryTests.swift +1 -1
- package/ios/Tests/EXDevLauncherTest.swift +17 -0
- package/ios/Tests/EXDevLauncherURLHelperTests.swift +6 -3
- package/ios/Tests/EXDevLauncherUpdatesHelperTests.m +12 -2
- package/ios/Views/EXDevLauncherErrorView.storyboard +157 -203
- package/ios/assets/__node_modules/css-select/lib/procedure.json +11 -0
- package/ios/assets/__node_modules/css-select/node_modules/dom-serializer/foreignNames.json +102 -0
- package/ios/assets/__node_modules/css-tree/data/patch.json +721 -0
- package/ios/assets/__node_modules/entities/lib/maps/decode.json +1 -0
- package/ios/assets/__node_modules/entities/lib/maps/entities.json +1 -0
- package/ios/assets/__node_modules/entities/lib/maps/legacy.json +1 -0
- package/ios/assets/__node_modules/entities/lib/maps/xml.json +1 -0
- package/ios/assets/__node_modules/mdn-data/css/at-rules.json +560 -0
- package/ios/assets/__node_modules/mdn-data/css/properties.json +9163 -0
- package/ios/assets/__node_modules/mdn-data/css/syntaxes.json +761 -0
- package/ios/assets/_expo-dev-client-components/assets/check-icon.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/check-icon@2x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/check-icon@3x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/chevron-right-icon.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/chevron-right-icon@2x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/chevron-right-icon@3x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/home-filled-active-icon.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/home-filled-active-icon@2x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/home-filled-active-icon@3x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/home-filled-inactive-icon.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/home-filled-inactive-icon@2x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/home-filled-inactive-icon@3x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/info-icon.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/info-icon@2x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/info-icon@3x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/logo-icon.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/logo-icon@2x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/logo-icon@3x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/question-mark-icon.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/question-mark-icon@2x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/question-mark-icon@3x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/refresh-icon.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/refresh-icon@2x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/refresh-icon@3x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/settings-filled-active-icon.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/settings-filled-active-icon@2x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/settings-filled-active-icon@3x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/settings-filled-inactive-icon.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/settings-filled-inactive-icon@2x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/settings-filled-inactive-icon@3x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/shake-device-icon.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/shake-device-icon@2x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/shake-device-icon@3x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/show-menu-at-launch-icon.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/show-menu-at-launch-icon@2x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/show-menu-at-launch-icon@3x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/terminal-icon.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/terminal-icon@2x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/terminal-icon@3x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/three-finger-long-press-icon.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/three-finger-long-press-icon@2x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/three-finger-long-press-icon@3x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/toolbar-overlay-icon.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/toolbar-overlay-icon@2x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/toolbar-overlay-icon@3x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/user-icon.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/user-icon@2x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/user-icon@3x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/x-icon.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/x-icon@2x.png +0 -0
- package/ios/assets/_expo-dev-client-components/assets/x-icon@3x.png +0 -0
- package/ios/assets/node_modules/@react-navigation/elements/src/assets/back-icon-mask.png +0 -0
- package/ios/assets/node_modules/@react-navigation/elements/src/assets/back-icon.png +0 -0
- package/ios/assets/node_modules/@react-navigation/elements/src/assets/back-icon@2x.png +0 -0
- package/ios/assets/node_modules/@react-navigation/elements/src/assets/back-icon@3x.png +0 -0
- package/ios/assets/node_modules/@react-navigation/stack/src/views/assets/back-icon-mask.png +0 -0
- package/ios/assets/node_modules/@react-navigation/stack/src/views/assets/back-icon.png +0 -0
- package/ios/assets/node_modules/@react-navigation/stack/src/views/assets/back-icon@2x.png +0 -0
- package/ios/assets/node_modules/@react-navigation/stack/src/views/assets/back-icon@3x.png +0 -0
- package/ios/main.jsbundle +972 -422
- package/metro.config.js +26 -1
- package/package.json +32 -8
- package/plugin/build/resolveExpoUpdatesVersion.js +8 -1
- package/plugin/build/withDevLauncher.d.ts +1 -0
- package/plugin/build/withDevLauncher.js +79 -41
- package/plugin/build/withDevLauncherAppDelegate.js +43 -8
- package/plugin/src/resolveExpoUpdatesVersion.ts +7 -1
- package/plugin/src/withDevLauncher.ts +87 -37
- package/plugin/src/withDevLauncherAppDelegate.ts +48 -6
- package/react-native.config.js +3 -7
- package/setupTests.ts +55 -0
- package/write_embedded_bundle.sh +10 -2
- package/yarn-error.log +19045 -0
- package/android/src/main/java/expo/modules/devlauncher/launcher/errors/DevLauncherAppErrorQueueAdapter.kt +0 -35
- package/android/src/main/java/expo/modules/devlauncher/launcher/errors/fragments/DevLauncherErrorConsoleFragment.kt +0 -33
- package/android/src/main/java/expo/modules/devlauncher/launcher/errors/fragments/DevLauncherErrorFragment.kt +0 -33
- package/ios/EXDevLauncher.xcodeproj/project.pbxproj +0 -271
- package/ios/EXDevLauncher.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/EXDevLauncher.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/EXDevLauncher.xcodeproj/xcuserdata/brentvatne.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
- package/ios/EXDevLauncher.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/EXDevLauncher.xcworkspace/xcuserdata/brentvatne.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Errors/EXDevLauncherErrorLogView.swift +0 -8
- package/ios/Errors/EXDevLauncherErrorLogViewController.swift +0 -59
- package/ios/Errors/EXDevLauncherErrorNavigationController.swift +0 -29
- package/ios/devvyc 2021-05-14 18-19-10/devvyc.ipa +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -10,11 +10,52 @@
|
|
|
10
10
|
|
|
11
11
|
### 💡 Others
|
|
12
12
|
|
|
13
|
+
## 0.10.1 — 2022-01-17
|
|
14
|
+
|
|
15
|
+
### 🐛 Bug fixes
|
|
16
|
+
|
|
17
|
+
- Fix bug on iOS where all URL schemes, rather than just `exp`, were replaced with `http`. ([#15796](https://github.com/expo/expo/pull/15796) by [@esamelson](https://github.com/esamelson))
|
|
18
|
+
- Fix detecting import when using double quotes. ([#15898](https://github.com/expo/expo/pull/15898) by [@janicduplessis](https://github.com/janicduplessis))
|
|
19
|
+
|
|
20
|
+
## 0.10.0 — 2021-12-22
|
|
21
|
+
|
|
22
|
+
### 🎉 New features
|
|
23
|
+
|
|
24
|
+
- Add persisted installation ID and include in manifest requests. ([#15538](https://github.com/expo/expo/pull/15538) by [@esamelson](https://github.com/esamelson))
|
|
25
|
+
- Improve dev session request logic and use device ID when available. ([#15542](https://github.com/expo/expo/pull/15542) by [@esamelson](https://github.com/esamelson))
|
|
26
|
+
- Improve error handling when opening the app from a deep link on Android. ([#15637](https://github.com/expo/expo/pull/15637) by [@lukmccall](https://github.com/lukmccall))
|
|
27
|
+
- Implement redesigned native error screen. ([#15618](https://github.com/expo/expo/pull/15618) & [#15531](https://github.com/expo/expo/pull/15531) by [@lukmccall](https://github.com/lukmccall))
|
|
28
|
+
- Redesign the home screen. ([#15343](https://github.com/expo/expo/pull/15343) by [#ajsmth](https://github.com/ajsmth))
|
|
29
|
+
|
|
30
|
+
### 💡 Others
|
|
31
|
+
|
|
32
|
+
- Updated `@expo/config-plugins` from `4.0.2` to `4.0.14` ([#15621](https://github.com/expo/expo/pull/15621) by [@EvanBacon](https://github.com/EvanBacon))
|
|
33
|
+
|
|
34
|
+
## 0.9.1 — 2021-12-15
|
|
35
|
+
|
|
36
|
+
### 🐛 Bug fixes
|
|
37
|
+
|
|
38
|
+
- Fix plugin when `MainActivity.onNewIntent` exists. ([#15459](https://github.com/expo/expo/pull/15459) by [@janicduplessis](https://github.com/janicduplessis))
|
|
39
|
+
- Fix plugin when `expo-updates` is not present. ([#15541](https://github.com/expo/expo/pull/15541) by [@esamelson](https://github.com/esamelson))
|
|
40
|
+
- Include expo-platform header in manifest requests. ([#15563](https://github.com/expo/expo/pull/15563) by [@esamelson](https://github.com/esamelson))
|
|
41
|
+
- Fix plugin compatibility with SDK 44. ([#15562](https://github.com/expo/expo/pull/15562) & [#15570](https://github.com/expo/expo/pull/15570) by [@lukmccall](https://github.com/lukmccall) & [@esamelson](https://github.com/esamelson))
|
|
42
|
+
|
|
43
|
+
## 0.9.0 — 2021-12-03
|
|
44
|
+
|
|
45
|
+
### 🎉 New features
|
|
46
|
+
|
|
47
|
+
- Added support for th React Native `0.66.X`. ([#15242](https://github.com/expo/expo/pull/15242) by [@lukmccall](https://github.com/lukmccall))
|
|
48
|
+
|
|
49
|
+
### 🐛 Bug fixes
|
|
50
|
+
|
|
51
|
+
- Fix `No native splash screen registered for given view controller` error happening when project is using both `expo-dev-client` and `expo-splash-screen` packages. ([#14745](https://github.com/expo/expo/pull/14745) by [@kudo](https://github.com/kudo))
|
|
52
|
+
- Fix cannot load url that starts with exp. (by [@lukmccall](https://github.com/lukmccall))
|
|
53
|
+
|
|
13
54
|
## 0.8.4 — 2021-10-21
|
|
14
55
|
|
|
15
56
|
### 🐛 Bug fixes
|
|
16
57
|
|
|
17
|
-
- Fix crash in SDK 42 Android projects.
|
|
58
|
+
- Fix crash in SDK 42 Android projects. (by [@esamelson](https://github.com/esamelson))
|
|
18
59
|
|
|
19
60
|
## 0.8.3 — 2021-10-15
|
|
20
61
|
|
package/README.md
CHANGED
|
@@ -1,371 +1,7 @@
|
|
|
1
1
|
# expo-dev-launcher
|
|
2
2
|
|
|
3
|
-
`expo-dev-launcher` is an npm package installable in any Expo or React Native project. Once installed, any Debug builds of your application will gain the ability to load projects from Expo CLI. Release builds of your application will not change other than the addition of a few header files. This package is intended to be included in your project through [`expo-dev-client`](https://docs.expo.
|
|
3
|
+
`expo-dev-launcher` is an npm package installable in any Expo or React Native project. Once installed, any Debug builds of your application will gain the ability to load projects from Expo CLI. Release builds of your application will not change other than the addition of a few header files. This package is intended to be included in your project through [`expo-dev-client`](https://docs.expo.dev/clients/introduction/).
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Documentation
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
<details>
|
|
10
|
-
<summary>yarn</summary>
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
yarn add expo-dev-launcher expo-dev-menu-interface
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
</details>
|
|
17
|
-
|
|
18
|
-
<details>
|
|
19
|
-
<summary>npm</summary>
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
npm install expo-dev-launcher expo-dev-menu-interface
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
</details>
|
|
26
|
-
|
|
27
|
-
<br>
|
|
28
|
-
|
|
29
|
-
Then you can start to configure the native projects using steps below.
|
|
30
|
-
|
|
31
|
-
## 🤖 Android
|
|
32
|
-
|
|
33
|
-
1. Initialize the `DevLauncherController`.
|
|
34
|
-
|
|
35
|
-
Open your `MainApplication.{java|kt}` and add the following lines:
|
|
36
|
-
|
|
37
|
-
<details>
|
|
38
|
-
<summary>Java</summary>
|
|
39
|
-
|
|
40
|
-
```java
|
|
41
|
-
...
|
|
42
|
-
// You need to import the `DevLauncherController` class
|
|
43
|
-
import expo.modules.devlauncher.DevLauncherController;
|
|
44
|
-
...
|
|
45
|
-
public class MainApplication extends Application implements ReactApplication {
|
|
46
|
-
...
|
|
47
|
-
@Override
|
|
48
|
-
public void onCreate() {
|
|
49
|
-
super.onCreate();
|
|
50
|
-
...
|
|
51
|
-
DevLauncherController.initialize(this, mReactNativeHost); // Initialize the `DevLauncherController` with the `ReactNativeHost`
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
</details>
|
|
57
|
-
<details>
|
|
58
|
-
<summary>Kotlin</summary>
|
|
59
|
-
|
|
60
|
-
```kotlin
|
|
61
|
-
...
|
|
62
|
-
// You need to import the `DevLauncherController` class
|
|
63
|
-
import expo.modules.devlauncher.DevLauncherController;
|
|
64
|
-
...
|
|
65
|
-
public class MainApplication : Application(), ReactApplication {
|
|
66
|
-
...
|
|
67
|
-
override public fun onCreate() {
|
|
68
|
-
super.onCreate();
|
|
69
|
-
...
|
|
70
|
-
DevLauncherController.initialize(this, mReactNativeHost); // Initialize the `DevLauncherController` with the `ReactNativeHost`
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
</details>
|
|
76
|
-
<br>
|
|
77
|
-
|
|
78
|
-
2. Wrap the default `ReactActivityDelegate` with the one from `DevLauncher`.
|
|
79
|
-
|
|
80
|
-
Open your `MainActivity.{java|kt}` and add the following lines:
|
|
81
|
-
|
|
82
|
-
<details>
|
|
83
|
-
<summary>Java</summary>
|
|
84
|
-
|
|
85
|
-
```java
|
|
86
|
-
...
|
|
87
|
-
// You need to import the `DevLauncherController` class
|
|
88
|
-
import expo.modules.devlauncher.DevLauncherController;
|
|
89
|
-
...
|
|
90
|
-
public class MainActivity extends DevMenuAwareReactActivity {
|
|
91
|
-
...
|
|
92
|
-
@Override
|
|
93
|
-
protected ReactActivityDelegate createReactActivityDelegate() {
|
|
94
|
-
return DevLauncherController.wrapReactActivityDelegate(
|
|
95
|
-
this,
|
|
96
|
-
() -> new ReactActivityDelegate(this, getMainComponentName()) // Here you can pass your custom `ReactActivityDelegate`
|
|
97
|
-
);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
</details>
|
|
103
|
-
<details>
|
|
104
|
-
<summary>Kotlin</summary>
|
|
105
|
-
|
|
106
|
-
```kotlin
|
|
107
|
-
...
|
|
108
|
-
// You need to import the `DevLauncherController` class
|
|
109
|
-
import expo.modules.devlauncher.DevLauncherController;
|
|
110
|
-
...
|
|
111
|
-
public class MainActivity : DevMenuAwareReactActivity() {
|
|
112
|
-
...
|
|
113
|
-
protected override fun ReactActivityDelegate createReactActivityDelegate(): ReactActivityDelegate {
|
|
114
|
-
return DevLauncherController.wrapReactActivityDelegate(this) {
|
|
115
|
-
ReactActivityDelegate(this, getMainComponentName()) // Here you can pass your custom `ReactActivityDelegate`
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
</details>
|
|
122
|
-
|
|
123
|
-
<br>
|
|
124
|
-
|
|
125
|
-
3. Pass new intents to the `DevLauncherController`.
|
|
126
|
-
|
|
127
|
-
> **Note:** This step is not required but without it, **deep-link** handling **won't work**.
|
|
128
|
-
|
|
129
|
-
Open your `MainActivity.{java|kt}` and add the following method:
|
|
130
|
-
|
|
131
|
-
<details>
|
|
132
|
-
<summary>Java</summary>
|
|
133
|
-
|
|
134
|
-
```java
|
|
135
|
-
...
|
|
136
|
-
public class MainActivity extends DevMenuAwareReactActivity {
|
|
137
|
-
...
|
|
138
|
-
@Override
|
|
139
|
-
public void onNewIntent(Intent intent) {
|
|
140
|
-
if (DevLauncherController.tryToHandleIntent(this, intent)) {
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
super.onNewIntent(intent);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
</details>
|
|
149
|
-
<details>
|
|
150
|
-
<summary>Kotlin</summary>
|
|
151
|
-
|
|
152
|
-
```kotlin
|
|
153
|
-
...
|
|
154
|
-
public class MainActivity : DevMenuAwareReactActivity() {
|
|
155
|
-
...
|
|
156
|
-
public override fun onNewIntent(intent: Intent) {
|
|
157
|
-
if (DevLauncherController.tryToHandleIntent(this, intent)) {
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
super.onNewIntent(intent);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
</details>
|
|
166
|
-
|
|
167
|
-
## 🍏 iOS
|
|
168
|
-
|
|
169
|
-
1. Run `npx pod-install` after installing the npm package.
|
|
170
|
-
|
|
171
|
-
2. Set up the `EXDevLauncherControllerDelegate`.
|
|
172
|
-
|
|
173
|
-
<details>
|
|
174
|
-
<summary>Objective-C</summary>
|
|
175
|
-
|
|
176
|
-
Open your `AppDelegate.h` and implement `EXDevLauncherControllerDelegate`.
|
|
177
|
-
|
|
178
|
-
```objc
|
|
179
|
-
...
|
|
180
|
-
// You need to import the `EXDevLauncherController` and `EXDevLauncherControllerDelegate.
|
|
181
|
-
#import <EXDevLauncherController.h>
|
|
182
|
-
...
|
|
183
|
-
@interface AppDelegate : UMAppDelegateWrapper <RCTBridgeDelegate, EXDevLauncherControllerDelegate> // Here you're implementing the `EXDevLauncherControllerDelegate`
|
|
184
|
-
|
|
185
|
-
@end
|
|
186
|
-
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
Open your `AppDelegate.m` and add the following method:
|
|
190
|
-
|
|
191
|
-
```objc
|
|
192
|
-
...
|
|
193
|
-
@implementation AppDelegate
|
|
194
|
-
...
|
|
195
|
-
- (void)developmentClientController:(EXDevLauncherController * )devLauncherController
|
|
196
|
-
didStartWithSuccess:(BOOL)success
|
|
197
|
-
{
|
|
198
|
-
devLauncherController.appBridge = [self initializeReactNativeApp];
|
|
199
|
-
}
|
|
200
|
-
...
|
|
201
|
-
@end
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
</details>
|
|
205
|
-
|
|
206
|
-
<details>
|
|
207
|
-
<summary>Swift</summary>
|
|
208
|
-
|
|
209
|
-
Open your `AppDelegate.swift` and implement `EXDevLauncherControllerDelegate`.
|
|
210
|
-
|
|
211
|
-
```swift
|
|
212
|
-
...
|
|
213
|
-
@UIApplicationMain
|
|
214
|
-
class AppDelegate: UMAppDelegateWrapper, EXDevLauncherControllerDelegate { // You need to implement the `EXDevLauncherControllerDelegate`
|
|
215
|
-
...
|
|
216
|
-
func developmentClientController(_ devLauncherController: EXDevLauncherController!, didStartWithSuccess success: Bool) {
|
|
217
|
-
devLauncherController.appBridge = initializeReactNativeBridge()
|
|
218
|
-
}
|
|
219
|
-
...
|
|
220
|
-
}
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
</details>
|
|
224
|
-
|
|
225
|
-
<br>
|
|
226
|
-
|
|
227
|
-
3. Start the `EXDevLauncherController`.
|
|
228
|
-
|
|
229
|
-
Open your `AppDelegate.{m|swift}` and add the following lines:
|
|
230
|
-
|
|
231
|
-
<details>
|
|
232
|
-
<summary>Objective-C</summary>
|
|
233
|
-
|
|
234
|
-
```objc
|
|
235
|
-
@implementation AppDelegate
|
|
236
|
-
...
|
|
237
|
-
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
|
238
|
-
{
|
|
239
|
-
// Remove [self initializeReactNativeApp];
|
|
240
|
-
// and instead add:
|
|
241
|
-
EXDevLauncherController *controller = [EXDevLauncherController sharedInstance];
|
|
242
|
-
[controller startWithWindow:self.window delegate:self launchOptions:launchOptions];
|
|
243
|
-
}
|
|
244
|
-
...
|
|
245
|
-
@end
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
</details>
|
|
249
|
-
<details>
|
|
250
|
-
<summary>Swift</summary>
|
|
251
|
-
|
|
252
|
-
```swift
|
|
253
|
-
...
|
|
254
|
-
@UIApplicationMain
|
|
255
|
-
class AppDelegate: UMAppDelegateWrapper {
|
|
256
|
-
...
|
|
257
|
-
override func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
|
|
258
|
-
// Remove
|
|
259
|
-
// [self initializeReactNativeApp];
|
|
260
|
-
// and instead add:
|
|
261
|
-
let controller = EXDevLauncherController.sharedInstance()
|
|
262
|
-
controller?.start(with: window, delegate: self, launchOptions: launchOptions);
|
|
263
|
-
}
|
|
264
|
-
...
|
|
265
|
-
}
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
</details>
|
|
269
|
-
|
|
270
|
-
<br>
|
|
271
|
-
|
|
272
|
-
4. Change the source URL.
|
|
273
|
-
|
|
274
|
-
Open your `AppDelegate.{m|swift}` and add the following lines:
|
|
275
|
-
|
|
276
|
-
<details>
|
|
277
|
-
<summary>Objective-C</summary>
|
|
278
|
-
|
|
279
|
-
```objc
|
|
280
|
-
...
|
|
281
|
-
@implementation AppDelegate
|
|
282
|
-
...
|
|
283
|
-
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge {
|
|
284
|
-
{
|
|
285
|
-
// Remove
|
|
286
|
-
// return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
|
|
287
|
-
// and instead add:
|
|
288
|
-
return [[EXDevLauncherController sharedInstance] sourceUrl];
|
|
289
|
-
}
|
|
290
|
-
...
|
|
291
|
-
@end
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
</details>
|
|
295
|
-
<details>
|
|
296
|
-
<summary>Swift</summary>
|
|
297
|
-
|
|
298
|
-
```swift
|
|
299
|
-
...
|
|
300
|
-
@UIApplicationMain
|
|
301
|
-
class AppDelegate: UMAppDelegateWrapper {
|
|
302
|
-
...
|
|
303
|
-
func sourceURL(for bridge: RCTBridge!) -> URL! {
|
|
304
|
-
// Remove
|
|
305
|
-
// return RCTBundleURLProvider.sharedSettings()?.jsBundleURL(forBundleRoot: "index", fallbackResource: nil)
|
|
306
|
-
// and instead add:
|
|
307
|
-
return EXDevLauncherController.sharedInstance()?.sourceUrl()
|
|
308
|
-
}
|
|
309
|
-
...
|
|
310
|
-
}
|
|
311
|
-
```
|
|
312
|
-
|
|
313
|
-
</details>
|
|
314
|
-
|
|
315
|
-
<br>
|
|
316
|
-
|
|
317
|
-
5. Handle deep links.
|
|
318
|
-
|
|
319
|
-
Open your `AppDelegate.{m|swift}` and add the following lines:
|
|
320
|
-
|
|
321
|
-
<details>
|
|
322
|
-
<summary>Objective-C</summary>
|
|
323
|
-
|
|
324
|
-
```objc
|
|
325
|
-
...
|
|
326
|
-
#import <React/RCTLinkingManager.h>
|
|
327
|
-
...
|
|
328
|
-
@implementation AppDelegate
|
|
329
|
-
|
|
330
|
-
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
|
|
331
|
-
{
|
|
332
|
-
if ([EXDevLauncherController.sharedInstance onDeepLink:url options:options]) {
|
|
333
|
-
return true;
|
|
334
|
-
}
|
|
335
|
-
return [RCTLinkingManager application:application openURL:url options:options];
|
|
336
|
-
}
|
|
337
|
-
...
|
|
338
|
-
@end
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
</details>
|
|
342
|
-
<details>
|
|
343
|
-
<summary>Swift</summary>
|
|
344
|
-
|
|
345
|
-
```swift
|
|
346
|
-
...
|
|
347
|
-
class AppDelegate: UMAppDelegateWrapper {
|
|
348
|
-
...
|
|
349
|
-
func initializeReactNativeBridge() -> RCTBridge? {
|
|
350
|
-
// change
|
|
351
|
-
// RCTBridge(delegate: self, launchOptions: self.launchOptions)
|
|
352
|
-
// to
|
|
353
|
-
// RCTBridge(delegate: self, launchOptions: EXDevelopmentClientController.sharedInstance()!.getLaunchOptions())
|
|
354
|
-
// the final version looks like this:
|
|
355
|
-
if let bridge = RCTBridge(delegate: self, launchOptions: EXDevelopmentClientController.sharedInstance()!.getLaunchOptions()) {
|
|
356
|
-
...
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
...
|
|
360
|
-
override func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
|
|
361
|
-
if (useDevClient && EXDevLauncherController.sharedInstance()!.onDeepLink(url, options: options)) {
|
|
362
|
-
return true;
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
return RCTLinkingManager.application(app, open: url, options: options)
|
|
366
|
-
}
|
|
367
|
-
...
|
|
368
|
-
}
|
|
369
|
-
```
|
|
370
|
-
|
|
371
|
-
</details>
|
|
7
|
+
You can find the documentation under [https://docs.expo.dev/clients/introduction](https://docs.expo.dev/clients/introduction).
|
package/android/build.gradle
CHANGED
|
@@ -15,7 +15,7 @@ buildscript {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
dependencies {
|
|
18
|
-
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${safeExtGet('kotlinVersion', '1.
|
|
18
|
+
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${safeExtGet('kotlinVersion', '1.6.10')}")
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
|
|
@@ -25,7 +25,7 @@ android {
|
|
|
25
25
|
minSdkVersion safeExtGet('minSdkVersion', 21)
|
|
26
26
|
targetSdkVersion safeExtGet('targetSdkVersion', 30)
|
|
27
27
|
versionCode 9
|
|
28
|
-
versionName "0.
|
|
28
|
+
versionName "0.10.1"
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
lintOptions {
|
|
@@ -57,7 +57,9 @@ android {
|
|
|
57
57
|
java {
|
|
58
58
|
def rnVersion = getRNVersion()
|
|
59
59
|
|
|
60
|
-
if (rnVersion >= versionToNumber(0,
|
|
60
|
+
if (rnVersion >= versionToNumber(0, 66, 0)) {
|
|
61
|
+
srcDirs += "src/react-native-66"
|
|
62
|
+
} else if (rnVersion >= versionToNumber(0, 65, 0)) {
|
|
61
63
|
srcDirs += "src/react-native-65"
|
|
62
64
|
} else {
|
|
63
65
|
srcDirs += 'src/react-native-64'
|
|
@@ -90,9 +92,11 @@ repositories {
|
|
|
90
92
|
}
|
|
91
93
|
|
|
92
94
|
dependencies {
|
|
95
|
+
implementation project(":expo-modules-core")
|
|
93
96
|
implementation project(":expo-dev-menu-interface")
|
|
94
97
|
implementation project(":expo-manifests")
|
|
95
98
|
implementation project(":expo-updates-interface")
|
|
99
|
+
implementation project(":expo-dev-menu")
|
|
96
100
|
|
|
97
101
|
//noinspection GradleDynamicVersion
|
|
98
102
|
implementation 'com.facebook.react:react-native:+' // From node_modules
|
|
@@ -108,10 +112,10 @@ dependencies {
|
|
|
108
112
|
api "androidx.appcompat:appcompat:1.1.0"
|
|
109
113
|
api "androidx.lifecycle:lifecycle-extensions:2.2.0"
|
|
110
114
|
|
|
111
|
-
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${safeExtGet('kotlinVersion', '1.
|
|
115
|
+
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${safeExtGet('kotlinVersion', '1.6.10')}"
|
|
112
116
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.3")
|
|
113
117
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1")
|
|
114
|
-
implementation "org.jetbrains.kotlin:kotlin-reflect:${safeExtGet('kotlinVersion', '1.
|
|
118
|
+
implementation "org.jetbrains.kotlin:kotlin-reflect:${safeExtGet('kotlinVersion', '1.6.10')}"
|
|
115
119
|
|
|
116
120
|
api "io.insert-koin:koin-core:3.1.2"
|
|
117
121
|
|
|
@@ -130,7 +134,7 @@ configurations.all {
|
|
|
130
134
|
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
|
|
131
135
|
def requested = details.requested
|
|
132
136
|
if (requested.group == 'org.jetbrains.kotlin') {
|
|
133
|
-
details.useVersion safeExtGet('kotlinVersion', '1.
|
|
137
|
+
details.useVersion safeExtGet('kotlinVersion', '1.6.10')
|
|
134
138
|
}
|
|
135
139
|
}
|
|
136
140
|
}
|