@granite-js/micro-frontend 2.0.0 → 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 ADDED
@@ -0,0 +1,32 @@
1
+ # @granite-js/micro-frontend
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
+
12
+ ## 2.0.1
13
+
14
+ ### Patch Changes
15
+
16
+ - c0440e5: Republish the micro-frontend package with normalized internal dependency versions.
17
+ - @granite-js/plugin-core@2.0.1
18
+ - @granite-js/react-native@2.0.1
19
+ - @granite-js/utils@2.0.1
20
+
21
+ ## 2.0.0
22
+
23
+ ### Patch Changes
24
+
25
+ - 864fa2a: Add the Granite micro-frontend runtime, TurboModule contract, native session host integration, Portal primitives, and build plugin.
26
+ - 864fa2a: Forward shared module exports lazily so unused host getters are not evaluated during bundle loading.
27
+ - 864fa2a: Route session visibility through Granite's existing visibility provider and expose native session lifecycle as React state so remote apps can continue using `useVisibility()`.
28
+ - Updated dependencies [864fa2a]
29
+ - Updated dependencies [864fa2a]
30
+ - @granite-js/react-native@2.0.0
31
+ - @granite-js/plugin-core@2.0.0
32
+ - @granite-js/utils@2.0.0
File without 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
- if (bridge == nil || ![bridge respondsToSelector:@selector(runtime)]) {
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.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": "workspace:*",
58
+ "@granite-js/utils": "2.0.2",
59
59
  "@standard-schema/spec": "^1.0.0"
60
60
  },
61
61
  "peerDependencies": {
@@ -70,16 +70,16 @@
70
70
  }
71
71
  },
72
72
  "devDependencies": {
73
- "@granite-js/plugin-core": "workspace:*",
74
- "@granite-js/react-native": "workspace:*",
75
- "@types/node": "catalog:tools",
76
- "@types/react": "catalog:react-native",
73
+ "@granite-js/plugin-core": "2.0.2",
74
+ "@granite-js/react-native": "2.0.2",
75
+ "@types/node": "24.10.12",
76
+ "@types/react": "19.2.0",
77
77
  "@types/react-test-renderer": "^19",
78
- "react": "catalog:react-native",
79
- "react-native": "catalog:react-native",
80
- "react-native-builder-bob": "catalog:tools",
78
+ "react": "19.2.3",
79
+ "react-native": "0.84.0",
80
+ "react-native-builder-bob": "0.40.17",
81
81
  "react-test-renderer": "19.2.3",
82
- "typescript": "catalog:tools",
82
+ "typescript": "5.9.3",
83
83
  "vitest": "^4.0.12"
84
84
  },
85
85
  "react-native-builder-bob": {
@@ -110,4 +110,4 @@
110
110
  }
111
111
  },
112
112
  "sideEffects": false
113
- }
113
+ }