From adc0aec7a50aec66014e95b44371f9d9f29db45d Mon Sep 17 00:00:00 2001 From: Jakub Piasecki Date: Wed, 26 Aug 2026 00:25:24 -0700 Subject: [PATCH] Cover `jsiexecutor` with Stable API guards (#58133) Summary: Classifies `jsiexecutor:jsiexecutor` as a private target under the C++ stable API three-tier visibility model. Adds `#include ` to both exported headers (`JSIExecutor.h` and `JSINativeModules.h`), and wires the guard dependency into BUCK, CMake and the podspec. The podspec needs no `USE_FRAMEWORKS` header search path edit: it already sets `HEADER_SEARCH_PATHS` to `"$(PODS_TARGET_SRCROOT)/.."` unconditionally, and that resolves to `ReactCommon`. The guards are inert unless a consumer defines `RN_STRICT_API`, so there is no behavior change. Changelog: [Internal] Differential Revision: D117330790 --- packages/react-native/ReactCommon/jsiexecutor/CMakeLists.txt | 1 + .../ReactCommon/jsiexecutor/React-jsiexecutor.podspec | 1 + .../react-native/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h | 2 ++ .../ReactCommon/jsiexecutor/jsireact/JSINativeModules.h | 2 ++ 4 files changed, 6 insertions(+) diff --git a/packages/react-native/ReactCommon/jsiexecutor/CMakeLists.txt b/packages/react-native/ReactCommon/jsiexecutor/CMakeLists.txt index 4ba0d44f3f26..dace77cb6623 100644 --- a/packages/react-native/ReactCommon/jsiexecutor/CMakeLists.txt +++ b/packages/react-native/ReactCommon/jsiexecutor/CMakeLists.txt @@ -17,6 +17,7 @@ target_include_directories(jsireact PUBLIC .) target_link_libraries(jsireact react_cxxreact + react_cxxstableapi reactperflogger folly_runtime glog diff --git a/packages/react-native/ReactCommon/jsiexecutor/React-jsiexecutor.podspec b/packages/react-native/ReactCommon/jsiexecutor/React-jsiexecutor.podspec index 6ceb245318d1..871c9752a668 100644 --- a/packages/react-native/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +++ b/packages/react-native/ReactCommon/jsiexecutor/React-jsiexecutor.podspec @@ -35,6 +35,7 @@ Pod::Spec.new do |s| s.dependency "React-jsi" s.dependency "React-jsitooling" s.dependency "React-perflogger" + s.dependency "React-cxxstableapi" add_dependency(s, "React-debug") add_dependency(s, "React-runtimeexecutor", :additional_framework_paths => ["platform/ios"]) add_dependency(s, "React-jsinspector", :framework_name => 'jsinspector_modern') diff --git a/packages/react-native/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h b/packages/react-native/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h index b1a09bd61414..f39d3a3d155e 100644 --- a/packages/react-native/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +++ b/packages/react-native/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include #include diff --git a/packages/react-native/ReactCommon/jsiexecutor/jsireact/JSINativeModules.h b/packages/react-native/ReactCommon/jsiexecutor/jsireact/JSINativeModules.h index c23f183a1463..a5d035c4f331 100644 --- a/packages/react-native/ReactCommon/jsiexecutor/jsireact/JSINativeModules.h +++ b/packages/react-native/ReactCommon/jsiexecutor/jsireact/JSINativeModules.h @@ -7,6 +7,8 @@ #pragma once +#include + #ifndef RCT_REMOVE_LEGACY_ARCH #include