From bfc51f97da2bb1c149cc57759bdcb6de5af9809a Mon Sep 17 00:00:00 2001 From: Alex Hunt Date: Thu, 27 Jun 2024 09:44:15 -0700 Subject: [PATCH] Expose preprocessor flag/Buck constraint for Fusebox opt in (#45203) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/45203 Configures a `REACT_NATIVE_ENABLE_FUSEBOX_DEBUG` flag, and exposes this flag in the Buck target via a [constraint setting](https://www.internalfb.com/intern/wiki/Buck-users/select-and-friends/#constraint-setting-and-c). This is an additional hook to enable the new debugger stack (codename Fusebox) as part of our internal rollout. NOTE: This approach replaces D59014161 (reverted). Changelog: [Internal] Reviewed By: hoxyq Differential Revision: D59109110 fbshipit-source-id: 7d23d9d402569b00d8dd17b9c8f3bcc108f0365f --- .../ReactCommon/jsinspector-modern/InspectorFlags.cpp | 9 ++++++--- .../ReactCommon/jsinspector-modern/InspectorFlags.h | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/react-native/ReactCommon/jsinspector-modern/InspectorFlags.cpp b/packages/react-native/ReactCommon/jsinspector-modern/InspectorFlags.cpp index 8ba4df31f5f..b134f799e7e 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/InspectorFlags.cpp +++ b/packages/react-native/ReactCommon/jsinspector-modern/InspectorFlags.cpp @@ -18,7 +18,7 @@ InspectorFlags& InspectorFlags::getInstance() { } bool InspectorFlags::getFuseboxEnabled() const { - return loadFlagsAndAssertUnchanged().fuseboxEnabledDebug; + return loadFlagsAndAssertUnchanged().fuseboxEnabled; } void InspectorFlags::dangerouslyResetFlags() { @@ -28,8 +28,11 @@ void InspectorFlags::dangerouslyResetFlags() { const InspectorFlags::Values& InspectorFlags::loadFlagsAndAssertUnchanged() const { InspectorFlags::Values newValues = { - .fuseboxEnabledDebug = -#ifdef REACT_NATIVE_FORCE_ENABLE_FUSEBOX + .fuseboxEnabled = +#if defined(REACT_NATIVE_FORCE_ENABLE_FUSEBOX) + true, +#elif defined(HERMES_ENABLE_DEBUGGER) && \ + defined(REACT_NATIVE_ENABLE_FUSEBOX_DEBUG) true, #elif defined(HERMES_ENABLE_DEBUGGER) ReactNativeFeatureFlags::fuseboxEnabledDebug(), diff --git a/packages/react-native/ReactCommon/jsinspector-modern/InspectorFlags.h b/packages/react-native/ReactCommon/jsinspector-modern/InspectorFlags.h index 821347b79f3..38f243fb40f 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/InspectorFlags.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/InspectorFlags.h @@ -32,7 +32,7 @@ class InspectorFlags { private: struct Values { - bool fuseboxEnabledDebug; + bool fuseboxEnabled; bool operator==(const Values&) const = default; };