expo-brownfield 55.0.23 → 55.0.25

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,18 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 55.0.25 — 2026-06-25
14
+
15
+ ### 🎉 New features
16
+
17
+ - [iOS] Make `ReactNativeHostManager` accessible directly to Objective-C. ([#46227](https://github.com/expo/expo/pull/46227) by [@gabrieldonadel](https://github.com/gabrieldonadel))
18
+
19
+ ## 55.0.24 — 2026-05-19
20
+
21
+ ### 🐛 Bug fixes
22
+
23
+ - [Android] Fixed POM rewriter appending a duplicate `<version>` element instead of replacing the existing one, which caused `publish*PublicationToMavenLocal` to fail with `POM file is invalid` for dependencies declared with a placeholder version. ([#45783](https://github.com/expo/expo/pull/45783) by [@tsapeta](https://github.com/tsapeta))
24
+
13
25
  ## 55.0.23 — 2026-05-13
14
26
 
15
27
  ### 🐛 Bug fixes
@@ -4,7 +4,7 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'expo.modules.brownfield'
7
- version = '55.0.23'
7
+ version = '55.0.25'
8
8
 
9
9
  expoModule {
10
10
  canBePublished false
@@ -14,7 +14,7 @@ android {
14
14
  namespace "expo.modules.brownfield"
15
15
  defaultConfig {
16
16
  versionCode 1
17
- versionName '55.0.23'
17
+ versionName '55.0.25'
18
18
  }
19
19
  }
20
20
 
@@ -105,7 +105,12 @@ internal fun Node.artifactId(): String? {
105
105
  * @param version The version to set.
106
106
  */
107
107
  internal fun Node.setVersion(version: String) {
108
- val versionNode = this.children().firstOrNull { it is Node && it.name() == "version" } as? Node
108
+ val versionNode =
109
+ when (val v = get("version")) {
110
+ is Node -> v
111
+ is NodeList -> v.firstOrNull() as? Node
112
+ else -> null
113
+ }
109
114
 
110
115
  if (versionNode != null) {
111
116
  versionNode.setValue(version)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-brownfield",
3
- "version": "55.0.23",
3
+ "version": "55.0.25",
4
4
  "description": "Toolkit and APIs for adding brownfield setup to Expo projects",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
@@ -53,8 +53,8 @@
53
53
  "chalk": "^4.1.2",
54
54
  "commander": "^14.0.3",
55
55
  "diff": "^5.2.0",
56
- "expo-build-properties": "~55.0.14",
57
- "expo-manifests": "~55.0.17",
56
+ "expo-build-properties": "~55.0.15",
57
+ "expo-manifests": "~55.0.18",
58
58
  "ora": "^5.4.1",
59
59
  "prompts": "^2.4.2"
60
60
  },
@@ -67,5 +67,5 @@
67
67
  "expo": "*",
68
68
  "react": "*"
69
69
  },
70
- "gitHead": "0675db12d13a5309e3109e8ecf7f6011522194c6"
70
+ "gitHead": "0c1476ccb1494a2019171f5df1d7a1b7803455e9"
71
71
  }
@@ -10,19 +10,23 @@ import UIKit
10
10
  internal import EXDevMenu
11
11
  #endif
12
12
 
13
- public class ReactNativeHostManager {
14
- public static let shared = ReactNativeHostManager()
13
+ @objc
14
+ public class ReactNativeHostManager: NSObject {
15
+ @objc public static let shared = ReactNativeHostManager()
15
16
 
16
17
  private var reactNativeDelegate: ExpoReactNativeFactoryDelegate?
17
18
  private var reactNativeFactory: RCTReactNativeFactory?
18
19
  private var firstLoad: Bool = true
19
20
  private var firstLoadInitialized: Bool = false
20
21
 
22
+ private override init() {
23
+ super.init()
24
+ }
21
25
  /**
22
26
  * Initializes ReactNativeHostManager instance
23
27
  * Instance can be initialized only once
24
28
  */
25
- public func initialize() {
29
+ @objc public func initialize() {
26
30
  if firstLoadInitialized {
27
31
  return
28
32
  }
@@ -36,7 +40,7 @@ public class ReactNativeHostManager {
36
40
  /**
37
41
  * Creates the React Native view using RCTReactNativeFactory
38
42
  */
39
- public func loadView(
43
+ @objc public func loadView(
40
44
  moduleName: String = "main",
41
45
  initialProps: [AnyHashable: Any]?,
42
46
  launchOptions: [AnyHashable: Any]?
@@ -63,7 +67,7 @@ public class ReactNativeHostManager {
63
67
  /**
64
68
  * Initializes a React Native instance
65
69
  */
66
- public func initializeInstance() {
70
+ @objc public func initializeInstance() {
67
71
  let delegate = ReactNativeDelegate()
68
72
  reactNativeFactory = ExpoReactNativeFactory(delegate: delegate)
69
73
  delegate.dependencyProvider = RCTAppDependencyProvider()
@@ -74,7 +78,7 @@ public class ReactNativeHostManager {
74
78
  * Cleans up the previous instance of React Native
75
79
  * to prevent memory leaks
76
80
  */
77
- public func cleanupPreviousInstance() {
81
+ @objc public func cleanupPreviousInstance() {
78
82
  if let rootViewFactory = reactNativeFactory?.rootViewFactory {
79
83
  rootViewFactory.setValue(nil, forKey: "_reactHost")
80
84
  reactNativeDelegate = nil