miaoda-expo-dev-launcher-55 0.1.0

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.
Files changed (310) hide show
  1. package/.eslintrc.js +2 -0
  2. package/.gitattributes +1 -0
  3. package/README.md +16 -0
  4. package/android/README.md +14 -0
  5. package/android/build.gradle +168 -0
  6. package/android/src/debug/AndroidManifest.xml +40 -0
  7. package/android/src/debug/graphql/GetBranches.graphql +44 -0
  8. package/android/src/debug/graphql/GetUpdates.graphql +21 -0
  9. package/android/src/debug/graphql/Me.graphql +18 -0
  10. package/android/src/debug/graphql/schema.graphqls +9850 -0
  11. package/android/src/debug/java/com/facebook/react/devsupport/DevLauncherDevServerHelper.kt +100 -0
  12. package/android/src/debug/java/com/facebook/react/devsupport/DevLauncherSettings.kt +22 -0
  13. package/android/src/debug/java/com/facebook/react/devsupport/NonFinalBridgeDevSupportManager.kt +109 -0
  14. package/android/src/debug/java/com/facebook/react/devsupport/NonFinalBridgelessDevSupportManager.kt +93 -0
  15. package/android/src/debug/java/expo/modules/devlauncher/DevLauncherController.kt +586 -0
  16. package/android/src/debug/java/expo/modules/devlauncher/DevLauncherPackageDelegate.kt +135 -0
  17. package/android/src/debug/java/expo/modules/devlauncher/compose/AuthActivity.kt +136 -0
  18. package/android/src/debug/java/expo/modules/devlauncher/compose/BindingView.kt +29 -0
  19. package/android/src/debug/java/expo/modules/devlauncher/compose/DevLauncherBottomTabsNavigator.kt +196 -0
  20. package/android/src/debug/java/expo/modules/devlauncher/compose/Session.kt +33 -0
  21. package/android/src/debug/java/expo/modules/devlauncher/compose/UpdatesModels.kt +14 -0
  22. package/android/src/debug/java/expo/modules/devlauncher/compose/models/BranchViewModel.kt +105 -0
  23. package/android/src/debug/java/expo/modules/devlauncher/compose/models/BranchesViewModel.kt +157 -0
  24. package/android/src/debug/java/expo/modules/devlauncher/compose/models/CrashReportModel.kt +22 -0
  25. package/android/src/debug/java/expo/modules/devlauncher/compose/models/ErrorViewModel.kt +50 -0
  26. package/android/src/debug/java/expo/modules/devlauncher/compose/models/HomeViewModel.kt +238 -0
  27. package/android/src/debug/java/expo/modules/devlauncher/compose/models/ProfileViewModel.kt +82 -0
  28. package/android/src/debug/java/expo/modules/devlauncher/compose/models/SettingsViewModel.kt +98 -0
  29. package/android/src/debug/java/expo/modules/devlauncher/compose/primitives/Accordion.kt +96 -0
  30. package/android/src/debug/java/expo/modules/devlauncher/compose/primitives/AsyncImage.kt +48 -0
  31. package/android/src/debug/java/expo/modules/devlauncher/compose/primitives/CircularProgressBar.kt +114 -0
  32. package/android/src/debug/java/expo/modules/devlauncher/compose/primitives/DefaultScaffold.kt +27 -0
  33. package/android/src/debug/java/expo/modules/devlauncher/compose/routes/CrashReport.kt +38 -0
  34. package/android/src/debug/java/expo/modules/devlauncher/compose/routes/DevelopmentServers.kt +53 -0
  35. package/android/src/debug/java/expo/modules/devlauncher/compose/routes/Home.kt +50 -0
  36. package/android/src/debug/java/expo/modules/devlauncher/compose/routes/Profile.kt +155 -0
  37. package/android/src/debug/java/expo/modules/devlauncher/compose/routes/Routes.kt +23 -0
  38. package/android/src/debug/java/expo/modules/devlauncher/compose/routes/Settings.kt +18 -0
  39. package/android/src/debug/java/expo/modules/devlauncher/compose/routes/Updates.kt +107 -0
  40. package/android/src/debug/java/expo/modules/devlauncher/compose/screens/BranchScreen.kt +252 -0
  41. package/android/src/debug/java/expo/modules/devlauncher/compose/screens/BranchesScreen.kt +345 -0
  42. package/android/src/debug/java/expo/modules/devlauncher/compose/screens/CrashReportScreen.kt +118 -0
  43. package/android/src/debug/java/expo/modules/devlauncher/compose/screens/DefaultLaunchErrorScreen.kt +95 -0
  44. package/android/src/debug/java/expo/modules/devlauncher/compose/screens/ErrorScreen.kt +133 -0
  45. package/android/src/debug/java/expo/modules/devlauncher/compose/screens/HomeScreen.kt +274 -0
  46. package/android/src/debug/java/expo/modules/devlauncher/compose/screens/NoUpdatesScreen.kt +90 -0
  47. package/android/src/debug/java/expo/modules/devlauncher/compose/screens/SettingsScreen.kt +362 -0
  48. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/AccountAvatar.kt +40 -0
  49. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/AccountSelector.kt +82 -0
  50. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/ActionButton.kt +56 -0
  51. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/AnimatedPackagerCard.kt +76 -0
  52. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/AppHeader.kt +128 -0
  53. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/AppLoadingErrorDialog.kt +110 -0
  54. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/BottomSheet.kt +87 -0
  55. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/BottomTabBar.kt +80 -0
  56. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/BottomTabButton.kt +68 -0
  57. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/DefaultScreenContainer.kt +23 -0
  58. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/DevLauncherLoadingView.kt +120 -0
  59. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/DevelopmentSession.kt +158 -0
  60. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/FetchDevelopmentServersButton.kt +59 -0
  61. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/LauncherIcons.kt +252 -0
  62. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/PullToRefresh.kt +165 -0
  63. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/RunningAppCard.kt +107 -0
  64. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/ScanQRCodeButton.kt +55 -0
  65. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/ServerUrlInput.kt +115 -0
  66. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/SignUp.kt +42 -0
  67. package/android/src/debug/java/expo/modules/devlauncher/compose/ui/StackTrace.kt +50 -0
  68. package/android/src/debug/java/expo/modules/devlauncher/compose/utils/DateFormat.kt +40 -0
  69. package/android/src/debug/java/expo/modules/devlauncher/compose/utils/Scrollbar.kt +65 -0
  70. package/android/src/debug/java/expo/modules/devlauncher/compose/utils/UpdatesUtils.kt +12 -0
  71. package/android/src/debug/java/expo/modules/devlauncher/compose/utils/UrlUtils.kt +31 -0
  72. package/android/src/debug/java/expo/modules/devlauncher/compose/utils/WithIsLast.kt +32 -0
  73. package/android/src/debug/java/expo/modules/devlauncher/helpers/DevLauncherColorsHelper.kt +31 -0
  74. package/android/src/debug/java/expo/modules/devlauncher/helpers/DevLauncherCoroutinesExtensions.kt +20 -0
  75. package/android/src/debug/java/expo/modules/devlauncher/helpers/DevLauncherEdgeToEdgeHelper.kt +18 -0
  76. package/android/src/debug/java/expo/modules/devlauncher/helpers/DevLauncherInstallationIDHelper.kt +69 -0
  77. package/android/src/debug/java/expo/modules/devlauncher/helpers/DevLauncherMetadataHelper.kt +22 -0
  78. package/android/src/debug/java/expo/modules/devlauncher/helpers/DevLauncherOkHttpExtensions.kt +49 -0
  79. package/android/src/debug/java/expo/modules/devlauncher/helpers/DevLauncherReactUtils.kt +180 -0
  80. package/android/src/debug/java/expo/modules/devlauncher/helpers/DevLauncherReflectionExtensions.kt +45 -0
  81. package/android/src/debug/java/expo/modules/devlauncher/helpers/DevLauncherURLHelper.kt +30 -0
  82. package/android/src/debug/java/expo/modules/devlauncher/helpers/DevLauncherUpdatesHelper.kt +64 -0
  83. package/android/src/debug/java/expo/modules/devlauncher/launcher/DevLauncherActivity.kt +38 -0
  84. package/android/src/debug/java/expo/modules/devlauncher/launcher/DevLauncherControllerInterface.kt +35 -0
  85. package/android/src/debug/java/expo/modules/devlauncher/launcher/DevLauncherIntentRegistry.kt +31 -0
  86. package/android/src/debug/java/expo/modules/devlauncher/launcher/DevLauncherLifecycle.kt +27 -0
  87. package/android/src/debug/java/expo/modules/devlauncher/launcher/DevLauncherNetworkInterceptor.kt +53 -0
  88. package/android/src/debug/java/expo/modules/devlauncher/launcher/DevLauncherReactActivityDelegateSupplier.kt +8 -0
  89. package/android/src/debug/java/expo/modules/devlauncher/launcher/DevLauncherRecentlyOpenedAppsRegistry.kt +109 -0
  90. package/android/src/debug/java/expo/modules/devlauncher/launcher/errors/DevLauncherAppError.kt +17 -0
  91. package/android/src/debug/java/expo/modules/devlauncher/launcher/errors/DevLauncherErrorActivity.kt +102 -0
  92. package/android/src/debug/java/expo/modules/devlauncher/launcher/errors/DevLauncherErrorRegistry.kt +58 -0
  93. package/android/src/debug/java/expo/modules/devlauncher/launcher/errors/DevLauncherUncaughtExceptionHandler.kt +134 -0
  94. package/android/src/debug/java/expo/modules/devlauncher/launcher/loaders/DevLauncherAppLoader.kt +99 -0
  95. package/android/src/debug/java/expo/modules/devlauncher/launcher/loaders/DevLauncherAppLoaderFactory.kt +80 -0
  96. package/android/src/debug/java/expo/modules/devlauncher/launcher/loaders/DevLauncherEmbeddedAppLoader.kt +22 -0
  97. package/android/src/debug/java/expo/modules/devlauncher/launcher/loaders/DevLauncherExpoAppLoader.kt +73 -0
  98. package/android/src/debug/java/expo/modules/devlauncher/launcher/loaders/DevLauncherLocalAppLoader.kt +23 -0
  99. package/android/src/debug/java/expo/modules/devlauncher/launcher/loaders/DevLauncherPublishedAppLoader.kt +23 -0
  100. package/android/src/debug/java/expo/modules/devlauncher/launcher/loaders/DevLauncherReactNativeAppLoader.kt +18 -0
  101. package/android/src/debug/java/expo/modules/devlauncher/launcher/manifest/DevLauncherManifestParser.kt +52 -0
  102. package/android/src/debug/java/expo/modules/devlauncher/launcher/manifest/DevLauncherManifestTypes.kt +13 -0
  103. package/android/src/debug/java/expo/modules/devlauncher/logs/DevLauncherRemoteLog.kt +32 -0
  104. package/android/src/debug/java/expo/modules/devlauncher/logs/DevLauncherRemoteLogManager.kt +45 -0
  105. package/android/src/debug/java/expo/modules/devlauncher/modules/DevLauncherExceptions.kt +12 -0
  106. package/android/src/debug/java/expo/modules/devlauncher/modules/DevLauncherModule.kt +29 -0
  107. package/android/src/debug/java/expo/modules/devlauncher/modules/ExpoDevLauncherModule.kt +33 -0
  108. package/android/src/debug/java/expo/modules/devlauncher/nsd/NsdDiscovery.kt +25 -0
  109. package/android/src/debug/java/expo/modules/devlauncher/nsd/NsdDiscoveryApi34.kt +57 -0
  110. package/android/src/debug/java/expo/modules/devlauncher/nsd/NsdDiscoveryBase.kt +244 -0
  111. package/android/src/debug/java/expo/modules/devlauncher/nsd/NsdDiscoveryLegacy.kt +53 -0
  112. package/android/src/debug/java/expo/modules/devlauncher/nsd/NsdDiscoveryListener.kt +33 -0
  113. package/android/src/debug/java/expo/modules/devlauncher/nsd/NsdServiceInfoExtensions.kt +26 -0
  114. package/android/src/debug/java/expo/modules/devlauncher/nsd/ResolveService.kt +67 -0
  115. package/android/src/debug/java/expo/modules/devlauncher/react/DevLauncherBridgelessDevSupportManager.kt +104 -0
  116. package/android/src/debug/java/expo/modules/devlauncher/react/DevLauncherDevSupportManagerFactory.kt +61 -0
  117. package/android/src/debug/java/expo/modules/devlauncher/react/DevLauncherDevSupportManagerSwapper.kt +122 -0
  118. package/android/src/debug/java/expo/modules/devlauncher/react/DevLauncherPackagerConnectionSettings.kt +13 -0
  119. package/android/src/debug/java/expo/modules/devlauncher/react/DevLauncherReactNativeHostHandler.kt +53 -0
  120. package/android/src/debug/java/expo/modules/devlauncher/react/activitydelegates/DevLauncherReactActivityNOPDelegate.kt +22 -0
  121. package/android/src/debug/java/expo/modules/devlauncher/react/activitydelegates/DevLauncherReactActivityRedirectDelegate.kt +18 -0
  122. package/android/src/debug/java/expo/modules/devlauncher/services/ApolloClientService.kt +98 -0
  123. package/android/src/debug/java/expo/modules/devlauncher/services/AppService.kt +77 -0
  124. package/android/src/debug/java/expo/modules/devlauncher/services/DependencyInjection.kt +105 -0
  125. package/android/src/debug/java/expo/modules/devlauncher/services/ErrorRegistryService.kt +13 -0
  126. package/android/src/debug/java/expo/modules/devlauncher/services/HttpClientService.kt +84 -0
  127. package/android/src/debug/java/expo/modules/devlauncher/services/ImageLoaderService.kt +81 -0
  128. package/android/src/debug/java/expo/modules/devlauncher/services/NsdPreferences.kt +53 -0
  129. package/android/src/debug/java/expo/modules/devlauncher/services/PackagerService.kt +41 -0
  130. package/android/src/debug/java/expo/modules/devlauncher/services/SessionService.kt +112 -0
  131. package/android/src/debug/java/expo/modules/devlauncher/splashscreen/DevLauncherSplashScreen.kt +34 -0
  132. package/android/src/debug/java/expo/modules/devlauncher/splashscreen/DevLauncherSplashScreenProvider.kt +18 -0
  133. package/android/src/debug/res/drawable/check_circle.xml +10 -0
  134. package/android/src/debug/res/drawable/chevron_right.xml +10 -0
  135. package/android/src/debug/res/drawable/download.xml +13 -0
  136. package/android/src/debug/res/drawable/expo_logo.xml +9 -0
  137. package/android/src/debug/res/drawable/home.xml +10 -0
  138. package/android/src/debug/res/drawable/link.xml +13 -0
  139. package/android/src/debug/res/drawable/log_in.xml +12 -0
  140. package/android/src/debug/res/drawable/package_search.xml +13 -0
  141. package/android/src/debug/res/drawable/plus.xml +9 -0
  142. package/android/src/debug/res/drawable/scan.xml +42 -0
  143. package/android/src/debug/res/drawable/settings.xml +14 -0
  144. package/android/src/debug/res/drawable/show_at_launch.xml +12 -0
  145. package/android/src/debug/res/drawable/updates_nav.xml +10 -0
  146. package/android/src/debug/res/drawable/user.xml +13 -0
  147. package/android/src/debug/res/drawable-mdpi/branch_icon.png +0 -0
  148. package/android/src/debug/res/drawable-mdpi/extensions_icon.png +0 -0
  149. package/android/src/debug/res/drawable-mdpi/update_icon.png +0 -0
  150. package/android/src/debug/res/drawable-xhdpi/branch_icon.png +0 -0
  151. package/android/src/debug/res/drawable-xhdpi/extensions_icon.png +0 -0
  152. package/android/src/debug/res/drawable-xhdpi/update_icon.png +0 -0
  153. package/android/src/debug/res/drawable-xxhdpi/branch_icon.png +0 -0
  154. package/android/src/debug/res/drawable-xxhdpi/extensions_icon.png +0 -0
  155. package/android/src/debug/res/drawable-xxhdpi/update_icon.png +0 -0
  156. package/android/src/debug/res/values/styles.xml +8 -0
  157. package/android/src/disableInRelease/java/expo/modules/devlauncher/DevLauncherPackageDelegate.kt +17 -0
  158. package/android/src/disableInRelease/java/expo/modules/devlauncher/modules/ExpoDevLauncherModule.kt +13 -0
  159. package/android/src/main/AndroidManifest.xml +2 -0
  160. package/android/src/main/java/expo/modules/devlauncher/DevLauncherPackage.kt +26 -0
  161. package/app.plugin.js +1 -0
  162. package/expo-dev-launcher-gradle-plugin/build.gradle.kts +40 -0
  163. package/expo-dev-launcher-gradle-plugin/src/main/kotlin/expo/modules/devlauncher/DevLauncherPlugin.kt +129 -0
  164. package/expo-dev-launcher.podspec +143 -0
  165. package/expo-module.config.json +21 -0
  166. package/ios/Assets.xcassets/Contents.json +6 -0
  167. package/ios/Assets.xcassets/TabBarTint.colorset/Contents.json +38 -0
  168. package/ios/Assets.xcassets/branch-icon.imageset/Contents.json +56 -0
  169. package/ios/Assets.xcassets/branch-icon.imageset/branch-icon-light.png +0 -0
  170. package/ios/Assets.xcassets/branch-icon.imageset/branch-icon-light@2x.png +0 -0
  171. package/ios/Assets.xcassets/branch-icon.imageset/branch-icon-light@3x.png +0 -0
  172. package/ios/Assets.xcassets/branch-icon.imageset/branch-icon.png +0 -0
  173. package/ios/Assets.xcassets/branch-icon.imageset/branch-icon@2x.png +0 -0
  174. package/ios/Assets.xcassets/branch-icon.imageset/branch-icon@3x.png +0 -0
  175. package/ios/Assets.xcassets/expo-go-logo.imageset/Contents.json +21 -0
  176. package/ios/Assets.xcassets/expo-go-logo.imageset/expo-go logo.png +0 -0
  177. package/ios/Assets.xcassets/extensions-icon.imageset/Contents.json +26 -0
  178. package/ios/Assets.xcassets/extensions-icon.imageset/extensions-filled-inactive-icon.png +0 -0
  179. package/ios/Assets.xcassets/extensions-icon.imageset/extensions-filled-inactive-icon@2x.png +0 -0
  180. package/ios/Assets.xcassets/extensions-icon.imageset/extensions-filled-inactive-icon@3x.png +0 -0
  181. package/ios/Assets.xcassets/extensions.imageset/Contents.json +23 -0
  182. package/ios/Assets.xcassets/extensions.imageset/extensions-icon.png +0 -0
  183. package/ios/Assets.xcassets/extensions.imageset/extensions-icon@2x.png +0 -0
  184. package/ios/Assets.xcassets/extensions.imageset/extensions-icon@3x.png +0 -0
  185. package/ios/Assets.xcassets/log-in.imageset/Contents.json +21 -0
  186. package/ios/Assets.xcassets/log-in.imageset/log-in.png +0 -0
  187. package/ios/Assets.xcassets/radar-icon.imageset/Contents.json +21 -0
  188. package/ios/Assets.xcassets/radar-icon.imageset/radar-icon.png +0 -0
  189. package/ios/Assets.xcassets/refresh-icon.imageset/Contents.json +23 -0
  190. package/ios/Assets.xcassets/refresh-icon.imageset/refresh-icon.png +0 -0
  191. package/ios/Assets.xcassets/refresh-icon.imageset/refresh-icon@2x.png +0 -0
  192. package/ios/Assets.xcassets/refresh-icon.imageset/refresh-icon@3x.png +0 -0
  193. package/ios/Assets.xcassets/shake-device.imageset/Contents.json +56 -0
  194. package/ios/Assets.xcassets/shake-device.imageset/shake-device-icon-light.png +0 -0
  195. package/ios/Assets.xcassets/shake-device.imageset/shake-device-icon-light@2x.png +0 -0
  196. package/ios/Assets.xcassets/shake-device.imageset/shake-device-icon-light@3x.png +0 -0
  197. package/ios/Assets.xcassets/shake-device.imageset/shake-device-icon.png +0 -0
  198. package/ios/Assets.xcassets/shake-device.imageset/shake-device-icon@2x.png +0 -0
  199. package/ios/Assets.xcassets/shake-device.imageset/shake-device-icon@3x.png +0 -0
  200. package/ios/Assets.xcassets/show-menu-at-launch.imageset/Contents.json +56 -0
  201. package/ios/Assets.xcassets/show-menu-at-launch.imageset/show-menu-at-launch-icon-light.png +0 -0
  202. package/ios/Assets.xcassets/show-menu-at-launch.imageset/show-menu-at-launch-icon-light@2x.png +0 -0
  203. package/ios/Assets.xcassets/show-menu-at-launch.imageset/show-menu-at-launch-icon-light@3x.png +0 -0
  204. package/ios/Assets.xcassets/show-menu-at-launch.imageset/show-menu-at-launch-icon.png +0 -0
  205. package/ios/Assets.xcassets/show-menu-at-launch.imageset/show-menu-at-launch-icon@2x.png +0 -0
  206. package/ios/Assets.xcassets/show-menu-at-launch.imageset/show-menu-at-launch-icon@3x.png +0 -0
  207. package/ios/Assets.xcassets/terminal-icon.imageset/Contents.json +23 -0
  208. package/ios/Assets.xcassets/terminal-icon.imageset/terminal-icon.png +0 -0
  209. package/ios/Assets.xcassets/terminal-icon.imageset/terminal-icon@2x.png +0 -0
  210. package/ios/Assets.xcassets/terminal-icon.imageset/terminal-icon@3x.png +0 -0
  211. package/ios/Assets.xcassets/three-finger-long-press.imageset/Contents.json +56 -0
  212. package/ios/Assets.xcassets/three-finger-long-press.imageset/three-finger-long-press-icon-light.png +0 -0
  213. package/ios/Assets.xcassets/three-finger-long-press.imageset/three-finger-long-press-icon-light@2x.png +0 -0
  214. package/ios/Assets.xcassets/three-finger-long-press.imageset/three-finger-long-press-icon-light@3x.png +0 -0
  215. package/ios/Assets.xcassets/three-finger-long-press.imageset/three-finger-long-press-icon.png +0 -0
  216. package/ios/Assets.xcassets/three-finger-long-press.imageset/three-finger-long-press-icon@2x.png +0 -0
  217. package/ios/Assets.xcassets/three-finger-long-press.imageset/three-finger-long-press-icon@3x.png +0 -0
  218. package/ios/Assets.xcassets/update-icon.imageset/Contents.json +56 -0
  219. package/ios/Assets.xcassets/update-icon.imageset/update-icon-light.png +0 -0
  220. package/ios/Assets.xcassets/update-icon.imageset/update-icon-light@2x.png +0 -0
  221. package/ios/Assets.xcassets/update-icon.imageset/update-icon-light@3x.png +0 -0
  222. package/ios/Assets.xcassets/update-icon.imageset/update-icon.png +0 -0
  223. package/ios/Assets.xcassets/update-icon.imageset/update-icon@2x.png +0 -0
  224. package/ios/Assets.xcassets/update-icon.imageset/update-icon@3x.png +0 -0
  225. package/ios/Assets.xcassets/user-icon.imageset/Contents.json +56 -0
  226. package/ios/Assets.xcassets/user-icon.imageset/user-icon 1.png +0 -0
  227. package/ios/Assets.xcassets/user-icon.imageset/user-icon-light.png +0 -0
  228. package/ios/Assets.xcassets/user-icon.imageset/user-icon-light@2x.png +0 -0
  229. package/ios/Assets.xcassets/user-icon.imageset/user-icon-light@3x.png +0 -0
  230. package/ios/Assets.xcassets/user-icon.imageset/user-icon@2x 1.png +0 -0
  231. package/ios/Assets.xcassets/user-icon.imageset/user-icon@3x 1.png +0 -0
  232. package/ios/DevLauncherDevMenuDelegate.swift +18 -0
  233. package/ios/DevLauncherNetworkInterceptor.swift +92 -0
  234. package/ios/EXDevLauncher.h +11 -0
  235. package/ios/EXDevLauncher.m +33 -0
  236. package/ios/EXDevLauncherController.h +97 -0
  237. package/ios/EXDevLauncherController.m +785 -0
  238. package/ios/EXDevLauncherInstallationIDHelper.swift +76 -0
  239. package/ios/EXDevLauncherPendingDeepLinkListener.swift +5 -0
  240. package/ios/EXDevLauncherPendingDeepLinkRegistry.swift +34 -0
  241. package/ios/EXDevLauncherRecentlyOpenedAppsRegistry.swift +112 -0
  242. package/ios/EXDevLauncherURLHelper.swift +88 -0
  243. package/ios/EXDevLauncherUpdatesHelper.h +16 -0
  244. package/ios/EXDevLauncherUpdatesHelper.m +33 -0
  245. package/ios/EXDevLauncherUtils.swift +66 -0
  246. package/ios/Errors/EXDevLauncherAppError.swift +13 -0
  247. package/ios/Errors/EXDevLauncherErrorManager.swift +96 -0
  248. package/ios/Errors/EXDevLauncherErrorRegistry.swift +71 -0
  249. package/ios/Errors/EXDevLauncherRedBox.h +22 -0
  250. package/ios/Errors/EXDevLauncherRedBox.m +146 -0
  251. package/ios/Errors/EXDevLauncherUncaughtExceptionHandler.swift +74 -0
  252. package/ios/Headers/EXDevLauncherRedBoxProtocol.h +37 -0
  253. package/ios/Headers/RCTBundleURLProvider+Private.h +9 -0
  254. package/ios/Headers/RCTCxxBridge+Private.h +13 -0
  255. package/ios/Logs/EXDevLauncherRemoteLogsManager.swift +55 -0
  256. package/ios/Manifest/EXDevLauncherManifestHelper.swift +78 -0
  257. package/ios/Manifest/EXDevLauncherManifestParser.h +26 -0
  258. package/ios/Manifest/EXDevLauncherManifestParser.m +116 -0
  259. package/ios/Modules/DevLauncherExceptions.swift +15 -0
  260. package/ios/Modules/DevLauncherModule.swift +26 -0
  261. package/ios/ReactDelegateHandler/ExpoDevLauncherAppDelegateSubscriber.swift +15 -0
  262. package/ios/ReactDelegateHandler/ExpoDevLauncherReactDelegateHandler.swift +177 -0
  263. package/ios/ReactNative/EXDevLauncherEarlySetup.m +35 -0
  264. package/ios/ReactNative/EXDevLauncherRCTDevSettings.h +12 -0
  265. package/ios/ReactNative/EXDevLauncherRCTDevSettings.m +47 -0
  266. package/ios/ReactNative/EXDevLauncherRedBoxInterceptor.swift +69 -0
  267. package/ios/SwiftUI/AccountSheet.swift +245 -0
  268. package/ios/SwiftUI/CrashReportView.swift +185 -0
  269. package/ios/SwiftUI/Data.swift +55 -0
  270. package/ios/SwiftUI/DevLauncherErrors.swift +38 -0
  271. package/ios/SwiftUI/DevLauncherLoadingView.swift +89 -0
  272. package/ios/SwiftUI/DevLauncherTabBarManager.swift +41 -0
  273. package/ios/SwiftUI/DevLauncherViewController.swift +84 -0
  274. package/ios/SwiftUI/DevLauncherViewModel.swift +617 -0
  275. package/ios/SwiftUI/DevLauncherViews.swift +238 -0
  276. package/ios/SwiftUI/DevServerInfoModal.swift +78 -0
  277. package/ios/SwiftUI/DevServersView.swift +242 -0
  278. package/ios/SwiftUI/ErrorView.swift +136 -0
  279. package/ios/SwiftUI/GraphQL/APIClient.swift +79 -0
  280. package/ios/SwiftUI/GraphQL/Models.swift +116 -0
  281. package/ios/SwiftUI/GraphQL/Queries.swift +150 -0
  282. package/ios/SwiftUI/HomeTabView.swift +123 -0
  283. package/ios/SwiftUI/LocalNetworkPermissionView.swift +204 -0
  284. package/ios/SwiftUI/Navigation/Navigation.swift +147 -0
  285. package/ios/SwiftUI/NetworkUtilities.swift +213 -0
  286. package/ios/SwiftUI/SettingsTabView.swift +282 -0
  287. package/ios/SwiftUI/StackFrameView.swift +29 -0
  288. package/ios/SwiftUI/UpdatesTab/NotSignedInView.swift +45 -0
  289. package/ios/SwiftUI/UpdatesTab/NotUsingUpdatesView.swift +38 -0
  290. package/ios/SwiftUI/UpdatesTab/UpdateRow.swift +80 -0
  291. package/ios/SwiftUI/UpdatesTab/UpdateUtils.swift +5 -0
  292. package/ios/SwiftUI/UpdatesTab/UpdatesListView.swift +197 -0
  293. package/ios/SwiftUI/UpdatesTab/UpdatesTabView.swift +31 -0
  294. package/ios/SwiftUI/Utils/Avatar.swift +67 -0
  295. package/ios/SwiftUI/Utils/Utils.swift +67 -0
  296. package/ios/Unsafe/RCTPackagerConnection+EXDevLauncherPackagerConnectionInterceptor.h +17 -0
  297. package/ios/Unsafe/RCTPackagerConnection+EXDevLauncherPackagerConnectionInterceptor.m +88 -0
  298. package/package.json +44 -0
  299. package/plugin/build/index.d.ts +3 -0
  300. package/plugin/build/index.js +3 -0
  301. package/plugin/build/pluginConfig.d.ts +63 -0
  302. package/plugin/build/pluginConfig.js +110 -0
  303. package/plugin/build/withDevLauncher.d.ts +4 -0
  304. package/plugin/build/withDevLauncher.js +185 -0
  305. package/plugin/index.js +1 -0
  306. package/plugin/src/index.ts +3 -0
  307. package/plugin/src/pluginConfig.ts +175 -0
  308. package/plugin/src/withDevLauncher.ts +229 -0
  309. package/plugin/tsconfig.json +9 -0
  310. package/plugin/tsconfig.tsbuildinfo +1 -0
package/.eslintrc.js ADDED
@@ -0,0 +1,2 @@
1
+ // @generated by expo-module-scripts
2
+ module.exports = require('expo-module-scripts/eslintrc.base.js');
package/.gitattributes ADDED
@@ -0,0 +1 @@
1
+ *.pbxproj -text
package/README.md ADDED
@@ -0,0 +1,16 @@
1
+ # expo-dev-launcher
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.dev/versions/latest/sdk/dev-client/).
4
+
5
+ ## Documentation
6
+
7
+ You can find more information in the [Expo documentation](https://docs.expo.dev/develop/development-builds/introduction).
8
+
9
+ ## Contributing
10
+
11
+ The Dev Launcher UI is built with native platform UI toolkits:
12
+
13
+ - **iOS**: SwiftUI (see `ios/SwiftUI/`)
14
+ - **Android**: Jetpack Compose (see `android/src/debug/java/expo/modules/devlauncher/compose/`)
15
+
16
+ Local development is usually done through [`bare-expo`](/apps/bare-expo). Recompile `bare-expo` after making changes to the native code.
@@ -0,0 +1,14 @@
1
+ README
2
+ ======
3
+
4
+ If you want to publish the lib as a maven dependency, follow these steps before publishing a new version to npm:
5
+
6
+ 1. Be sure to have the Android [SDK](https://developer.android.com/studio/index.html) and [NDK](https://developer.android.com/ndk/guides/index.html) installed
7
+ 2. Be sure to have a `local.properties` file in this folder that points to the Android SDK and NDK
8
+ ```
9
+ ndk.dir=/Users/{username}/Library/Android/sdk/ndk-bundle
10
+ sdk.dir=/Users/{username}/Library/Android/sdk
11
+ ```
12
+ 3. Delete the `maven` folder
13
+ 4. Run `./gradlew installArchives`
14
+ 5. Verify that latest set of generated files is in the maven folder with the correct version number
@@ -0,0 +1,168 @@
1
+ buildscript {
2
+ repositories {
3
+ mavenCentral()
4
+ }
5
+ dependencies {
6
+ classpath("org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:${kotlinVersion}")
7
+ classpath("org.jetbrains.kotlin.plugin.serialization:org.jetbrains.kotlin.plugin.serialization.gradle.plugin:${kotlinVersion}")
8
+ classpath("com.apollographql.apollo:apollo-gradle-plugin:4.4.2")
9
+ }
10
+ }
11
+
12
+ apply plugin: 'com.android.library'
13
+ apply plugin: 'expo-module-gradle-plugin'
14
+ apply plugin: 'org.jetbrains.kotlin.plugin.compose'
15
+ apply plugin: 'org.jetbrains.kotlin.plugin.serialization'
16
+ apply plugin: 'com.apollographql.apollo'
17
+
18
+ def configureInRelease = findProperty("expo.devlauncher.configureInRelease") == "true"
19
+ if (configureInRelease) {
20
+ println("expo-dev-launcher will be enabled in release")
21
+ }
22
+
23
+
24
+ expoModule {
25
+ canBePublished false
26
+ }
27
+
28
+ group = "host.exp.exponent"
29
+ version = "55.0.10"
30
+
31
+ android {
32
+ namespace "expo.modules.devlauncher"
33
+ defaultConfig {
34
+ versionCode 9
35
+ versionName "55.0.10"
36
+ }
37
+
38
+ buildTypes {
39
+ create("debugOptimized") {
40
+ initWith(buildTypes.debug)
41
+ matchingFallbacks += ["release"]
42
+ }
43
+
44
+ buildTypes.each {
45
+ it.buildConfigField 'String', 'VERSION', "\"${defaultConfig.versionName}\""
46
+ }
47
+ }
48
+
49
+ sourceSets {
50
+ debugOptimized {
51
+ setRoot 'src/debug'
52
+ }
53
+
54
+
55
+ release {
56
+ if (configureInRelease) {
57
+ java.srcDir 'src/debug/java'
58
+ res.srcDir 'src/debug/res'
59
+ } else {
60
+ java.srcDir 'src/disableInRelease/java'
61
+ res.srcDir 'src/disableInRelease/res'
62
+ }
63
+ }
64
+ }
65
+
66
+ buildFeatures {
67
+ buildConfig true
68
+ viewBinding true
69
+ }
70
+ }
71
+
72
+ apollo {
73
+ service("service") {
74
+ packageName.set("expo.modules.devlauncher")
75
+ srcDir("src/debug/graphql")
76
+
77
+ introspection {
78
+ endpointUrl.set("https://api.expo.dev/graphql")
79
+ schemaFile.set(file("src/debug/graphql/schema.graphqls"))
80
+ }
81
+
82
+ outputDir.set(project.layout.buildDirectory.dir("generated/apollo"))
83
+ outputDirConnection {
84
+ connectToKotlinSourceSet("debug")
85
+ connectToKotlinSourceSet("debugOptimized")
86
+
87
+ if (configureInRelease) {
88
+ connectToKotlinSourceSet("release")
89
+ }
90
+ }
91
+ }
92
+ }
93
+
94
+ repositories {
95
+ // ref: https://www.baeldung.com/maven-local-repository
96
+ mavenLocal()
97
+ maven {
98
+ // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
99
+ url "$rootDir/../node_modules/react-native/android"
100
+ }
101
+ maven {
102
+ // Android JSC is installed from npm
103
+ url "$rootDir/../node_modules/jsc-android/dist"
104
+ }
105
+ google()
106
+ }
107
+
108
+ dependencies {
109
+ def debugOnly = { notation ->
110
+ //noinspection DependencyNotationArgument
111
+ debugImplementation notation
112
+ //noinspection DependencyNotationArgument
113
+ debugOptimizedImplementation notation
114
+ //noinspection DependencyNotationArgument
115
+ testImplementation notation
116
+
117
+ if (configureInRelease) {
118
+ //noinspection DependencyNotationArgument
119
+ releaseImplementation notation
120
+ }
121
+ }
122
+
123
+ implementation 'com.facebook.react:react-android'
124
+ implementation 'androidx.core:core-ktx:1.17.0'
125
+
126
+ debugOnly project(":expo-dev-menu-interface")
127
+ debugOnly project(":expo-manifests")
128
+ debugOnly project(":expo-updates-interface")
129
+ debugOnly project(":expo-dev-menu")
130
+
131
+ debugOnly 'commons-io:commons-io:2.6'
132
+
133
+ debugOnly 'com.squareup.okhttp3:okhttp:4.9.2'
134
+ debugOnly 'com.google.code.gson:gson:2.13.2'
135
+
136
+ debugOnly("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2")
137
+ debugOnly("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2")
138
+ debugOnly "org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}"
139
+
140
+ def composeVersion = "1.9.0"
141
+
142
+ // it's needed by the compose compiler plugin, but it won't leak to the app module
143
+ releaseCompileOnly "androidx.compose.foundation:foundation-android:$composeVersion"
144
+ debugOnly "androidx.compose.foundation:foundation-android:$composeVersion"
145
+ debugOnly "androidx.compose.ui:ui:$composeVersion"
146
+ debugOnly "androidx.compose.ui:ui-tooling:$composeVersion"
147
+ debugOnly "androidx.navigation:navigation-compose:2.9.4"
148
+
149
+ def lifecycleVersion = "2.10.0"
150
+ debugOnly "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycleVersion"
151
+ debugOnly "androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycleVersion"
152
+
153
+ debugOnly "com.google.android.gms:play-services-code-scanner:16.1.0"
154
+ debugOnly "com.google.mlkit:barcode-scanning:17.3.0"
155
+
156
+ debugOnly("org.jetbrains.kotlinx:kotlinx-datetime:0.7.1")
157
+
158
+ debugOnly("com.apollographql.apollo:apollo-runtime:4.4.2")
159
+
160
+ debugOnly("com.composables:core:1.43.1")
161
+
162
+ testImplementation 'androidx.test:core:1.7.0'
163
+ testImplementation 'androidx.test:core-ktx:1.7.0'
164
+ testImplementation "com.google.truth:truth:1.4.5"
165
+ testImplementation 'com.squareup.okhttp3:mockwebserver:4.9.2'
166
+ testImplementation 'io.mockk:mockk:1.12.3'
167
+ testImplementation "org.robolectric:robolectric:4.16"
168
+ }
@@ -0,0 +1,40 @@
1
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android">
2
+
3
+ <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
4
+
5
+ <application>
6
+ <meta-data
7
+ android:name="com.google.mlkit.vision.DEPENDENCIES"
8
+ android:value="barcode_ui"/>
9
+
10
+ <activity
11
+ android:name="expo.modules.devlauncher.launcher.DevLauncherActivity"
12
+ android:exported="true"
13
+ android:launchMode="singleTask"
14
+ android:theme="@style/Theme.AppCompat.DayNight.NoActionBar" />
15
+
16
+ <activity
17
+ android:name="expo.modules.devlauncher.compose.AuthActivity"
18
+ android:exported="true"
19
+ android:launchMode="singleTask"
20
+ android:theme="@style/Theme.AppCompat.DayNight.NoActionBar">
21
+ <intent-filter>
22
+ <action android:name="android.intent.action.VIEW" />
23
+
24
+ <category android:name="android.intent.category.DEFAULT" />
25
+ <category android:name="android.intent.category.BROWSABLE" />
26
+
27
+ <data android:scheme="expo-dev-launcher" />
28
+ </intent-filter>
29
+ </activity>
30
+
31
+ <activity
32
+ android:name="expo.modules.devlauncher.launcher.errors.DevLauncherErrorActivity"
33
+ android:screenOrientation="portrait"
34
+ android:theme="@style/Theme.DevLauncher.ErrorActivity" />
35
+ </application>
36
+
37
+ <queries>
38
+ <package android:name="host.exp.exponent" />
39
+ </queries>
40
+ </manifest>
@@ -0,0 +1,44 @@
1
+ query getBranchesWithCompatibleUpdate(
2
+ $appId: String!
3
+ $offset: Int!
4
+ $limit: Int!
5
+ $runtimeVersion: String!
6
+ $platform: AppPlatform!
7
+ ) {
8
+ app {
9
+ byId(appId: $appId) {
10
+ updateBranches(offset: $offset, limit: $limit) {
11
+ id
12
+ name
13
+
14
+ compatibleUpdates: updates(
15
+ offset: 0
16
+ limit: 1
17
+ filter: { runtimeVersions: [$runtimeVersion], platform: $platform }
18
+ ) {
19
+ id
20
+ message
21
+ runtimeVersion
22
+ createdAt
23
+ manifestPermalink
24
+ }
25
+ }
26
+ }
27
+ }
28
+ }
29
+
30
+ query getBranches(
31
+ $appId: String!
32
+ $offset: Int!
33
+ $limit: Int!
34
+ $platform: AppPlatform!
35
+ ) {
36
+ app {
37
+ byId(appId: $appId) {
38
+ updateBranches(offset: $offset, limit: $limit) {
39
+ id
40
+ name
41
+ }
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,21 @@
1
+ query getUpdatesWithFilters(
2
+ $appId: String!
3
+ $branchName: String!
4
+ $offset: Int!
5
+ $limit: Int!
6
+ $platform: AppPlatform!
7
+ ) {
8
+ app {
9
+ byId(appId: $appId) {
10
+ updateBranchByName(name: $branchName) {
11
+ updates(offset: $offset, limit: $limit, filter: { platform: $platform }) {
12
+ id
13
+ message
14
+ runtimeVersion
15
+ createdAt
16
+ manifestPermalink
17
+ }
18
+ }
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,18 @@
1
+ query Me {
2
+ meUserActor {
3
+ id
4
+ appCount
5
+ profilePhoto
6
+ username
7
+ isExpoAdmin
8
+ accounts {
9
+ id
10
+ name
11
+ ownerUserActor {
12
+ username
13
+ fullName
14
+ profilePhoto
15
+ }
16
+ }
17
+ }
18
+ }