@granite-js/micro-frontend 2.0.1 → 2.0.2
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
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @granite-js/micro-frontend
|
|
2
2
|
|
|
3
|
+
## 2.0.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- e6a9c16: fix(micro-frontend): detect iOS JSI runtime without sending respondsToSelector: through RCTBridgeProxy
|
|
8
|
+
- @granite-js/plugin-core@2.0.2
|
|
9
|
+
- @granite-js/react-native@2.0.2
|
|
10
|
+
- @granite-js/utils@2.0.2
|
|
11
|
+
|
|
3
12
|
## 2.0.1
|
|
4
13
|
|
|
5
14
|
### Patch Changes
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
#import "GraniteMicroFrontendRuntimeHost+Internal.h"
|
|
4
4
|
#import <React/RCTBridge.h>
|
|
5
|
+
#import <objc/runtime.h>
|
|
5
6
|
#import <React/RCTBridgeProxy+Cxx.h>
|
|
6
7
|
#import <React-callinvoker/ReactCommon/CallInvoker.h>
|
|
7
8
|
#import <jsi/jsi.h>
|
|
@@ -43,7 +44,11 @@ RCT_EXPORT_MODULE(GraniteMicroFrontendRuntime)
|
|
|
43
44
|
|
|
44
45
|
- (facebook::jsi::Runtime *)jsRuntimeIfAvailable {
|
|
45
46
|
RCTBridge *bridge = self.bridge;
|
|
46
|
-
|
|
47
|
+
// RCTBridgeProxy is an NSProxy, so respondsToSelector: is forwarded and
|
|
48
|
+
// leaves the BOOL return buffer as NO even when runtime is implemented.
|
|
49
|
+
// Probe the real class without going through message dispatch.
|
|
50
|
+
if (bridge == nil ||
|
|
51
|
+
!class_respondsToSelector(object_getClass(bridge), @selector(runtime))) {
|
|
47
52
|
return nullptr;
|
|
48
53
|
}
|
|
49
54
|
return reinterpret_cast<facebook::jsi::Runtime *>(bridge.runtime);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@granite-js/micro-frontend",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"description": "Micro-frontend build, runtime, session, and Portal contracts for Granite brownfield applications",
|
|
5
5
|
"main": "./dist/module/index.js",
|
|
6
6
|
"types": "./dist/typescript/index.d.ts",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"directory": "packages/micro-frontend"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"@granite-js/utils": "2.0.
|
|
58
|
+
"@granite-js/utils": "2.0.2",
|
|
59
59
|
"@standard-schema/spec": "^1.0.0"
|
|
60
60
|
},
|
|
61
61
|
"peerDependencies": {
|
|
@@ -70,8 +70,8 @@
|
|
|
70
70
|
}
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
|
-
"@granite-js/plugin-core": "2.0.
|
|
74
|
-
"@granite-js/react-native": "2.0.
|
|
73
|
+
"@granite-js/plugin-core": "2.0.2",
|
|
74
|
+
"@granite-js/react-native": "2.0.2",
|
|
75
75
|
"@types/node": "24.10.12",
|
|
76
76
|
"@types/react": "19.2.0",
|
|
77
77
|
"@types/react-test-renderer": "^19",
|