expo-modules-core 58.0.10 → 58.0.11
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 +10 -0
- package/android/build.gradle +3 -3
- package/android/src/compose/expo/modules/kotlin/views/ExpoComposeView.kt +0 -10
- package/android/src/main/java/expo/modules/kotlin/views/ExpoView.kt +15 -1
- package/android/src/main/java/expo/modules/v2/ExpoModulesV2Host.kt +1 -1
- package/expo-module-gradle-plugin/build.gradle.kts +1 -1
- package/package.json +4 -4
- package/prebuilds/output/debug/xcframeworks/ExpoModulesCore.tar.gz +0 -0
- package/prebuilds/output/debug/xcframeworks/ExpoModulesWorklets.tar.gz +0 -0
- package/prebuilds/output/release/xcframeworks/ExpoModulesCore.tar.gz +0 -0
- package/prebuilds/output/release/xcframeworks/ExpoModulesWorklets.tar.gz +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 58.0.11
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Bump precompiled artifacts due to ABI breakage in expo-modules-jsi@58.0.6. ([#50881](https://github.com/expo/expo/pull/50881) by [@kitten](https://github.com/kitten))
|
|
8
|
+
- [iOS] `@Record` now accepts properties that hold free-form `Any` values, such as `[String: Any]?` or `[Any]`. ([#50660](https://github.com/expo/expo/pull/50660) by [@tsapeta](https://github.com/tsapeta))
|
|
9
|
+
- [Android] Fixed Expo views using Android layout not completing system-forced layout passes. ([#48679](https://github.com/expo/expo/pull/48679) by [@lujjjh](https://github.com/lujjjh))
|
|
10
|
+
- Updated dependencies. ([#50881](https://github.com/expo/expo/pull/50881), [#50660](https://github.com/expo/expo/pull/50660))
|
|
11
|
+
- expo-modules-jsi@58.0.7
|
|
12
|
+
|
|
3
13
|
## 58.0.10
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
package/android/build.gradle
CHANGED
|
@@ -46,7 +46,7 @@ if (shouldIncludeCompose) {
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
group = 'host.exp.exponent'
|
|
49
|
-
version = '58.0.
|
|
49
|
+
version = '58.0.11'
|
|
50
50
|
|
|
51
51
|
def isExpoModulesCoreTests = {
|
|
52
52
|
Gradle gradle = getGradle()
|
|
@@ -97,7 +97,7 @@ if (workletsProject != null) {
|
|
|
97
97
|
|
|
98
98
|
def reactNativeWorkletsRootDir = workletsProject?.projectDir?.parentFile
|
|
99
99
|
|
|
100
|
-
def expoModulesV2Version = "0.2.
|
|
100
|
+
def expoModulesV2Version = "0.2.2"
|
|
101
101
|
|
|
102
102
|
configurations {
|
|
103
103
|
// Artifact-only: the C++ sources, not something to put on any classpath.
|
|
@@ -175,7 +175,7 @@ android {
|
|
|
175
175
|
defaultConfig {
|
|
176
176
|
consumerProguardFiles 'proguard-rules.pro'
|
|
177
177
|
versionCode 1
|
|
178
|
-
versionName "58.0.
|
|
178
|
+
versionName "58.0.11"
|
|
179
179
|
buildConfigField "String", "EXPO_MODULES_CORE_VERSION", "\"${versionName}\""
|
|
180
180
|
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", "true"
|
|
181
181
|
|
|
@@ -2,7 +2,6 @@ package expo.modules.kotlin.views
|
|
|
2
2
|
|
|
3
3
|
import android.annotation.SuppressLint
|
|
4
4
|
import android.content.Context
|
|
5
|
-
import android.content.res.Configuration
|
|
6
5
|
import android.util.Log
|
|
7
6
|
import android.view.View
|
|
8
7
|
import android.view.ViewGroup
|
|
@@ -118,15 +117,6 @@ abstract class ExpoComposeView<T : ComposeProps>(
|
|
|
118
117
|
}
|
|
119
118
|
}
|
|
120
119
|
|
|
121
|
-
override fun dispatchConfigurationChanged(newConfig: Configuration) {
|
|
122
|
-
super.dispatchConfigurationChanged(newConfig)
|
|
123
|
-
// React Native owns this view's bounds and may not schedule another Android layout pass
|
|
124
|
-
// when a configuration change leaves its Yoga layout unchanged.
|
|
125
|
-
if (withHostingView && isAttachedToWindow && isLaidOut) {
|
|
126
|
-
requestLayout()
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
120
|
/**
|
|
131
121
|
* Validates that this non-hosting Compose view has a valid Compose parent.
|
|
132
122
|
*
|
|
@@ -35,7 +35,8 @@ abstract class ExpoView(
|
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
37
|
* Manually trigger measure and layout.
|
|
38
|
-
* If [shouldUseAndroidLayout] is set to `true`, this method will be called automatically after
|
|
38
|
+
* If [shouldUseAndroidLayout] is set to `true`, this method will be called automatically after
|
|
39
|
+
* [requestLayout] or [forceLayout].
|
|
39
40
|
*/
|
|
40
41
|
@UiThread
|
|
41
42
|
fun measureAndLayout() {
|
|
@@ -54,6 +55,19 @@ abstract class ExpoView(
|
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
|
|
58
|
+
override fun forceLayout() {
|
|
59
|
+
super.forceLayout()
|
|
60
|
+
if (shouldUseAndroidLayout && isAttachedToWindow && isLaidOut) {
|
|
61
|
+
// ViewRootImpl can force-layout the hierarchy without React Native laying out its
|
|
62
|
+
// managed children. Preserve the Android-layout contract at that boundary.
|
|
63
|
+
post {
|
|
64
|
+
if (isAttachedToWindow && isLayoutRequested) {
|
|
65
|
+
measureAndLayout()
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
57
71
|
open fun clipToPaddingBox(canvas: Canvas) {
|
|
58
72
|
// When the border radius is set, we need to clip the content to the padding box.
|
|
59
73
|
// This is because the border radius is applied to the background drawable, not the view itself.
|
|
@@ -34,7 +34,7 @@ object ExpoModulesV2Host {
|
|
|
34
34
|
val registry = ModuleRegistry()
|
|
35
35
|
modules.forEach(registry::register)
|
|
36
36
|
runtime = ReactRuntime.attach(reactContext, registry)
|
|
37
|
-
logger.info("✅ Expo Modules v2 installed ${modules.size} module(s) on globalThis.
|
|
37
|
+
logger.info("✅ Expo Modules v2 installed ${modules.size} module(s) on globalThis.expo.modules")
|
|
38
38
|
} catch (e: Throwable) {
|
|
39
39
|
logger.error("❌ Cannot install Expo Modules v2: $e", e)
|
|
40
40
|
}
|
|
@@ -33,7 +33,7 @@ dependencies {
|
|
|
33
33
|
implementation("com.facebook.react:react-native-gradle-plugin")
|
|
34
34
|
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3")
|
|
35
35
|
implementation("io.github.expo.pika:pika-gradle:1.1.0")
|
|
36
|
-
implementation("io.github.expo:expo-modules-v2-gradle-plugin:0.2.
|
|
36
|
+
implementation("io.github.expo:expo-modules-v2-gradle-plugin:0.2.2")
|
|
37
37
|
|
|
38
38
|
if (isExpoAutolinkingSettingsPluginAvailable) {
|
|
39
39
|
implementation("expo.modules:expo-autolinking-plugin-shared")
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-modules-core",
|
|
3
|
-
"version": "58.0.
|
|
3
|
+
"version": "58.0.11",
|
|
4
4
|
"description": "The core of Expo Modules architecture",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"expo",
|
|
@@ -64,16 +64,16 @@
|
|
|
64
64
|
"./package.json": "./package.json"
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
|
-
"expo-modules-jsi": "~58.0.
|
|
67
|
+
"expo-modules-jsi": "~58.0.7",
|
|
68
68
|
"expo-modules-macros": "0.14.0",
|
|
69
69
|
"invariant": "^2.2.4"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
|
-
"@testing-library/react-native": "^
|
|
72
|
+
"@testing-library/react-native": "^14.0.1",
|
|
73
73
|
"@types/invariant": "^2.2.33",
|
|
74
74
|
"@types/react": "~19.3.0",
|
|
75
75
|
"@types/react-dom": "^19.1.7",
|
|
76
|
-
"expo-module-scripts": "56.0.
|
|
76
|
+
"expo-module-scripts": "56.0.5",
|
|
77
77
|
"react-dom": "19.3.0"
|
|
78
78
|
},
|
|
79
79
|
"peerDependencies": {
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|