expo-dev-launcher 6.0.12 → 6.1.0-canary-20250930-9dc59d3
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 +6 -8
- package/android/build.gradle +14 -14
- package/expo-dev-launcher-gradle-plugin/build.gradle.kts +3 -2
- package/ios/EXDevLauncherController.h +1 -1
- package/ios/EXDevLauncherController.m +3 -5
- package/ios/ReactDelegateHandler/ExpoDevLauncherReactDelegateHandler.swift +6 -6
- package/ios/SwiftUI/DevServersView.swift +1 -0
- package/ios/SwiftUI/HomeTabView.swift +3 -0
- package/ios/SwiftUI/SettingsTabView.swift +3 -0
- package/ios/SwiftUI/UpdatesTab/UpdatesTabView.swift +3 -0
- package/package.json +5 -6
package/CHANGELOG.md
CHANGED
|
@@ -6,19 +6,17 @@
|
|
|
6
6
|
|
|
7
7
|
### 🎉 New features
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
### 💡 Others
|
|
12
|
-
|
|
13
|
-
## 6.0.12 — 2025-09-22
|
|
14
|
-
|
|
15
|
-
### 🎉 New features
|
|
16
|
-
|
|
9
|
+
- Remove `ExpoAppDelegate` inheritance requirement ([#39417](https://github.com/expo/expo/pull/39417) by [@gabrieldonadel](https://github.com/gabrieldonadel))
|
|
17
10
|
- [Android] Adds loading state when connecting to a development server. ([#39873](https://github.com/expo/expo/pull/39873) by [@lukmccall](https://github.com/lukmccall))
|
|
18
11
|
|
|
19
12
|
### 🐛 Bug fixes
|
|
20
13
|
|
|
21
14
|
- [expo-dev-launcher] Fix manual URL entry: decode percent-encoded URLs, enable return key submit, and support dark mode text. ([#39840](https://github.com/expo/expo/pull/39840) by [@blazejkustra](https://github.com/blazejkustra))
|
|
15
|
+
- [iOS] Adjust tvOS colors. ([#40006](https://github.com/expo/expo/pull/40006) by [@douglowder](https://github.com/douglowder))
|
|
16
|
+
|
|
17
|
+
### 💡 Others
|
|
18
|
+
|
|
19
|
+
- [Android] Migrated from `kotlinOptions` to `compilerOptions` DSL. ([#39794](https://github.com/expo/expo/pull/39794) by [@huextrat](https://github.com/huextrat))
|
|
22
20
|
|
|
23
21
|
## 6.0.11 — 2025-09-11
|
|
24
22
|
|
package/android/build.gradle
CHANGED
|
@@ -20,13 +20,13 @@ expoModule {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
group = "host.exp.exponent"
|
|
23
|
-
version = "6.0
|
|
23
|
+
version = "6.1.0-canary-20250930-9dc59d3"
|
|
24
24
|
|
|
25
25
|
android {
|
|
26
26
|
namespace "expo.modules.devlauncher"
|
|
27
27
|
defaultConfig {
|
|
28
28
|
versionCode 9
|
|
29
|
-
versionName "6.0
|
|
29
|
+
versionName "6.1.0-canary-20250930-9dc59d3"
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
buildTypes {
|
|
@@ -75,17 +75,17 @@ dependencies {
|
|
|
75
75
|
|
|
76
76
|
implementation 'commons-io:commons-io:2.6'
|
|
77
77
|
|
|
78
|
-
implementation 'com.squareup.okhttp3:okhttp:
|
|
79
|
-
implementation 'com.google.code.gson:gson:2.
|
|
78
|
+
implementation 'com.squareup.okhttp3:okhttp:4.9.2'
|
|
79
|
+
implementation 'com.google.code.gson:gson:2.13.2'
|
|
80
80
|
|
|
81
81
|
// Fixes
|
|
82
82
|
// Cannot access 'androidx....' which is a supertype of 'expo.modules.devmenu.DevMenuActivity'.
|
|
83
83
|
// Check your module classpath for missing or conflicting dependencies
|
|
84
|
-
api "androidx.appcompat:appcompat:1.1
|
|
84
|
+
api "androidx.appcompat:appcompat:1.7.1"
|
|
85
85
|
api "androidx.lifecycle:lifecycle-extensions:2.2.0"
|
|
86
86
|
|
|
87
|
-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.
|
|
88
|
-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.
|
|
87
|
+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2")
|
|
88
|
+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2")
|
|
89
89
|
implementation "org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}"
|
|
90
90
|
|
|
91
91
|
api project.dependencies.platform("io.insert-koin:koin-bom:3.5.6")
|
|
@@ -96,7 +96,7 @@ dependencies {
|
|
|
96
96
|
implementation "androidx.compose.foundation:foundation-android:$composeVersion"
|
|
97
97
|
implementation "androidx.compose.ui:ui:$composeVersion"
|
|
98
98
|
implementation "androidx.compose.ui:ui-tooling:$composeVersion"
|
|
99
|
-
implementation "androidx.navigation:navigation-compose:2.9.
|
|
99
|
+
implementation "androidx.navigation:navigation-compose:2.9.4"
|
|
100
100
|
implementation "com.google.android.gms:play-services-code-scanner:16.1.0"
|
|
101
101
|
implementation "com.google.mlkit:barcode-scanning:17.3.0"
|
|
102
102
|
|
|
@@ -104,14 +104,14 @@ dependencies {
|
|
|
104
104
|
|
|
105
105
|
implementation("com.apollographql.apollo:apollo-runtime:4.3.1")
|
|
106
106
|
|
|
107
|
-
implementation("com.composables:core:1.
|
|
107
|
+
implementation("com.composables:core:1.43.1")
|
|
108
108
|
|
|
109
|
-
testImplementation 'androidx.test:core:1.
|
|
110
|
-
testImplementation 'androidx.test:core-ktx:1.
|
|
111
|
-
testImplementation "com.google.truth:truth:1.
|
|
112
|
-
testImplementation 'com.squareup.okhttp3:mockwebserver:4.
|
|
109
|
+
testImplementation 'androidx.test:core:1.7.0'
|
|
110
|
+
testImplementation 'androidx.test:core-ktx:1.7.0'
|
|
111
|
+
testImplementation "com.google.truth:truth:1.4.5"
|
|
112
|
+
testImplementation 'com.squareup.okhttp3:mockwebserver:4.9.2'
|
|
113
113
|
testImplementation "io.insert-koin:koin-test"
|
|
114
114
|
testImplementation "io.insert-koin:koin-test-junit4"
|
|
115
115
|
testImplementation 'io.mockk:mockk:1.12.3'
|
|
116
|
-
testImplementation "org.robolectric:robolectric:4.
|
|
116
|
+
testImplementation "org.robolectric:robolectric:4.16"
|
|
117
117
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
|
1
2
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
|
2
3
|
|
|
3
4
|
plugins {
|
|
@@ -22,8 +23,8 @@ java {
|
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
tasks.withType<KotlinCompile> {
|
|
25
|
-
|
|
26
|
-
jvmTarget
|
|
26
|
+
compilerOptions {
|
|
27
|
+
jvmTarget.set(JvmTarget.JVM_11)
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
|
|
@@ -50,7 +50,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
50
50
|
|
|
51
51
|
+ (instancetype)sharedInstance;
|
|
52
52
|
|
|
53
|
-
- (void)startWithWindow:(UIWindow *)window
|
|
53
|
+
- (void)startWithWindow:(UIWindow *)window;
|
|
54
54
|
|
|
55
55
|
- (void)autoSetupPrepare:(id<EXDevLauncherControllerDelegate>)delegate launchOptions:(NSDictionary * _Nullable)launchOptions;
|
|
56
56
|
|
|
@@ -252,15 +252,13 @@
|
|
|
252
252
|
return _errorManager;
|
|
253
253
|
}
|
|
254
254
|
|
|
255
|
-
- (void)startWithWindow:(UIWindow *)window
|
|
255
|
+
- (void)startWithWindow:(UIWindow *)window
|
|
256
256
|
{
|
|
257
257
|
_isStarted = YES;
|
|
258
|
-
_delegate = delegate;
|
|
259
|
-
_launchOptions = launchOptions;
|
|
260
258
|
_window = window;
|
|
261
259
|
EXDevLauncherUncaughtExceptionHandler.isInstalled = true;
|
|
262
260
|
|
|
263
|
-
if (
|
|
261
|
+
if (_launchOptions[UIApplicationLaunchOptionsURLKey]) {
|
|
264
262
|
// For deeplink launch, we need the keyWindow for expo-splash-screen to setup correctly.
|
|
265
263
|
[_window makeKeyWindow];
|
|
266
264
|
return;
|
|
@@ -310,7 +308,7 @@
|
|
|
310
308
|
- (void)autoSetupStart:(UIWindow *)window
|
|
311
309
|
{
|
|
312
310
|
if (_delegate != nil) {
|
|
313
|
-
[self startWithWindow:window
|
|
311
|
+
[self startWithWindow:window];
|
|
314
312
|
} else {
|
|
315
313
|
@throw [NSException exceptionWithName:NSInternalInconsistencyException reason:@"[EXDevLauncherController autoSetupStart:] was called before autoSetupPrepare:. Make sure you've set up expo-modules correctly in AppDelegate and are using ReactDelegate to create a bridge before calling [super application:didFinishLaunchingWithOptions:]." userInfo:nil];
|
|
316
314
|
}
|
|
@@ -50,21 +50,21 @@ public class ExpoDevLauncherReactDelegateHandler: ExpoReactDelegateHandler, EXDe
|
|
|
50
50
|
// MARK: EXDevelopmentClientControllerDelegate implementations
|
|
51
51
|
|
|
52
52
|
public func devLauncherController(_ developmentClientController: EXDevLauncherController, didStartWithSuccess success: Bool) {
|
|
53
|
-
guard let
|
|
54
|
-
(
|
|
55
|
-
fatalError("`UIApplication.shared.delegate` must be an `ExpoAppDelegate` or `EXAppDelegateWrapper`")
|
|
53
|
+
guard let reactDelegate = self.reactDelegate else {
|
|
54
|
+
fatalError("`reactDelegate` should not be nil")
|
|
56
55
|
}
|
|
57
|
-
|
|
56
|
+
|
|
57
|
+
self.reactNativeFactory = reactDelegate.reactNativeFactory as? RCTReactNativeFactory
|
|
58
58
|
|
|
59
59
|
// Reset rctAppDelegate so we can relaunch the app
|
|
60
|
-
if
|
|
60
|
+
if RCTIsNewArchEnabled() {
|
|
61
61
|
self.reactNativeFactory?.rootViewFactory.setValue(nil, forKey: "_reactHost")
|
|
62
62
|
} else {
|
|
63
63
|
self.reactNativeFactory?.bridge = nil
|
|
64
64
|
self.reactNativeFactory?.rootViewFactory.bridge = nil
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
let rootView =
|
|
67
|
+
let rootView = reactDelegate.reactNativeFactory.recreateRootView(
|
|
68
68
|
withBundleURL: developmentClientController.sourceUrl(),
|
|
69
69
|
moduleName: self.rootViewModuleName,
|
|
70
70
|
initialProps: self.rootViewInitialProperties,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-dev-launcher",
|
|
3
3
|
"title": "Expo Development Launcher",
|
|
4
|
-
"version": "6.0
|
|
4
|
+
"version": "6.1.0-canary-20250930-9dc59d3",
|
|
5
5
|
"description": "Pre-release version of the Expo development launcher package for testing.",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -15,11 +15,10 @@
|
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"homepage": "https://docs.expo.dev",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"expo-dev-menu": "7.0.
|
|
19
|
-
"expo-manifests": "
|
|
18
|
+
"expo-dev-menu": "7.0.13-canary-20250930-9dc59d3",
|
|
19
|
+
"expo-manifests": "1.0.9-canary-20250930-9dc59d3"
|
|
20
20
|
},
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"expo": "
|
|
23
|
-
}
|
|
24
|
-
"gitHead": "6523053d0d997d2a21f580d2752b2f873c122038"
|
|
22
|
+
"expo": "55.0.0-canary-20250930-9dc59d3"
|
|
23
|
+
}
|
|
25
24
|
}
|