expo-modules-core 55.0.11 → 55.0.12

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 CHANGED
@@ -10,6 +10,10 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 55.0.12 — 2026-02-25
14
+
15
+ _This version does not introduce any user-facing changes._
16
+
13
17
  ## 55.0.11 — 2026-02-25
14
18
 
15
19
  ### 🐛 Bug fixes
@@ -27,7 +31,6 @@
27
31
 
28
32
  - Fixed view updates for Jetpack Compose integration. ([#42732](https://github.com/expo/expo/pull/42732) by [@kudo](https://github.com/kudo))
29
33
  - [Android] Promoted `Either` type stable. ([#43267](https://github.com/expo/expo/pull/43267) by [@lukmccall](https://github.com/lukmccall))
30
- - [Android] Remove legacy `ExpoModulesCorePlugin`. ([#43312](https://github.com/expo/expo/pull/43312) by [@lukmccall](https://github.com/lukmccall))
31
34
 
32
35
  ## 55.0.9 — 2026-02-16
33
36
 
@@ -0,0 +1,123 @@
1
+ class KotlinExpoModulesCorePlugin implements Plugin<Project> {
2
+ void apply(Project project) {
3
+ // For compatibility reasons the plugin needs to declare that it provides common build.gradle
4
+ // options for the modules
5
+ project.rootProject.ext.expoProvidesDefaultConfig = {
6
+ true
7
+ }
8
+
9
+ project.ext.safeExtGet = { prop, fallback ->
10
+ project.rootProject.ext.has(prop) ? project.rootProject.ext.get(prop) : fallback
11
+ }
12
+
13
+ project.buildscript {
14
+ project.ext.kotlinVersion = {
15
+ project.rootProject.ext.has("kotlinVersion")
16
+ ? project.rootProject.ext.get("kotlinVersion")
17
+ : "2.0.21"
18
+ }
19
+
20
+ project.ext.kspVersion = {
21
+ def kspVersionsMap = [
22
+ "1.6.10": "1.6.10-1.0.4",
23
+ "1.6.21": "1.6.21-1.0.6",
24
+ "1.7.22": "1.7.22-1.0.8",
25
+ "1.8.0": "1.8.0-1.0.9",
26
+ "1.8.10": "1.8.10-1.0.9",
27
+ "1.8.20": "1.8.20-1.0.11",
28
+ "1.8.22": "1.8.22-1.0.11",
29
+ "1.9.23": "1.9.23-1.0.20",
30
+ "1.9.24": "1.9.24-1.0.20",
31
+ "2.0.21": "2.0.21-1.0.28"
32
+ ]
33
+
34
+ project.rootProject.ext.has("kspVersion")
35
+ ? project.rootProject.ext.get("kspVersion")
36
+ : kspVersionsMap.containsKey(project.ext.kotlinVersion())
37
+ ? kspVersionsMap.get(project.ext.kotlinVersion())
38
+ : "2.0.21-1.0.28"
39
+ }
40
+ }
41
+ }
42
+ }
43
+
44
+ ext.applyKotlinExpoModulesCorePlugin = {
45
+ try {
46
+ // Tries to apply the kotlin-android plugin if the client project does not apply yet.
47
+ // On previous `applyKotlinExpoModulesCorePlugin`, it is inside the `project.buildscript` block.
48
+ // We cannot use `project.plugins.hasPlugin()` yet but only to try-catch instead.
49
+ apply plugin: 'kotlin-android'
50
+ } catch (e) {}
51
+
52
+ apply plugin: KotlinExpoModulesCorePlugin
53
+ }
54
+
55
+ // Apply JVM Toolchain version for KSP
56
+ ext.applyKspJvmToolchain = {
57
+ project.ksp {
58
+ kotlin.jvmToolchain(17)
59
+ }
60
+ }
61
+
62
+ // Setup build options that are common for all modules
63
+ ext.useDefaultAndroidSdkVersions = {
64
+ project.android {
65
+ compileSdkVersion project.ext.safeExtGet("compileSdkVersion", 36)
66
+
67
+ defaultConfig {
68
+ minSdkVersion project.ext.safeExtGet("minSdkVersion", 24)
69
+ targetSdkVersion project.ext.safeExtGet("targetSdkVersion", 36)
70
+ }
71
+
72
+ lintOptions {
73
+ abortOnError false
74
+ }
75
+ }
76
+ }
77
+
78
+ ext.useExpoPublishing = {
79
+ if (!project.plugins.hasPlugin('maven-publish')) {
80
+ apply plugin: 'maven-publish'
81
+ }
82
+
83
+ if (components.findByName("release") == null) {
84
+ return
85
+ }
86
+
87
+ project.android {
88
+ publishing {
89
+ singleVariant("release") {
90
+ withSourcesJar()
91
+ }
92
+ }
93
+ }
94
+
95
+ project.afterEvaluate {
96
+ publishing {
97
+ publications {
98
+ release(MavenPublication) {
99
+ from components.release
100
+ }
101
+ }
102
+ repositories {
103
+ maven {
104
+ url = mavenLocal().url
105
+ }
106
+ }
107
+ }
108
+ }
109
+ }
110
+
111
+ ext.useCoreDependencies = {
112
+ dependencies {
113
+ // Avoids cyclic dependencies
114
+ if (!project.project.name.startsWith("expo-modules-core")) {
115
+ implementation project.project(':expo-modules-core')
116
+ }
117
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${project.ext.kotlinVersion()}"
118
+ }
119
+ }
120
+
121
+ ext.boolish = { value ->
122
+ return value.toString().toBoolean()
123
+ }
@@ -29,7 +29,7 @@ if (shouldIncludeCompose) {
29
29
  }
30
30
 
31
31
  group = 'host.exp.exponent'
32
- version = '55.0.11'
32
+ version = '55.0.12'
33
33
 
34
34
  def isExpoModulesCoreTests = {
35
35
  Gradle gradle = getGradle()
@@ -96,7 +96,7 @@ android {
96
96
  defaultConfig {
97
97
  consumerProguardFiles 'proguard-rules.pro'
98
98
  versionCode 1
99
- versionName "55.0.11"
99
+ versionName "55.0.12"
100
100
  buildConfigField "String", "EXPO_MODULES_CORE_VERSION", "\"${versionName}\""
101
101
  buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", "true"
102
102
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-modules-core",
3
- "version": "55.0.11",
3
+ "version": "55.0.12",
4
4
  "description": "The core of Expo Modules architecture",
5
5
  "main": "src/index.ts",
6
6
  "types": "build/index.d.ts",
@@ -66,5 +66,5 @@
66
66
  "@testing-library/react-native": "^13.3.0",
67
67
  "expo-module-scripts": "^55.0.2"
68
68
  },
69
- "gitHead": "b183e5cbd95eb6ee54a878291c7077d8d63e4850"
69
+ "gitHead": "39a7a009e215eb71a112f4a20dba2d471ab21108"
70
70
  }