@samitouri / QOS-React-1 / commits / 9b1300209e

Setup Wave 2 of Feature Flags for React Native (#28990)

## Summary Sets up dynamic feature flags for `disableStringRefs`, `enableFastJSX`, and `enableRefAsProp` in React Native (at Meta). ## How did you test this change? ``` $ yarn test $ yarn flow fabric ```

Timothy Yung committed May 6, 2024 at 10:30 UTC 9b1300209eb00a2d6c645fddf6d2729d67d7b10a
3 files changed +15 -15
packages/shared/forks/ReactFeatureFlags.native-fb-dynamic.js
+6 -3
@@ -19,10 +19,13 @@
19
20 export const alwaysThrottleRetries = __VARIANT__;
21 export const consoleManagedByDevToolsDuringStrictMode = __VARIANT__;
22 -export const enableEarlyReturnForPropDiffing = __VARIANT__;
22 +export const disableDefaultPropsExceptForClasses = __VARIANT__;
23 +export const disableStringRefs = __VARIANT__;
24 +export const enableAddPropertiesFastPath = __VARIANT__;
25 export const enableDeferRootSchedulingToMicrotask = __VARIANT__;
26 +export const enableEarlyReturnForPropDiffing = __VARIANT__;
27 +export const enableFastJSX = __VARIANT__;
28 export const enableInfiniteRenderLoopDetection = __VARIANT__;
29 +export const enableRefAsProp = __VARIANT__;
30 export const enableUnifiedSyncLane = __VARIANT__;
31 export const passChildrenWhenCloningPersistedNodes = __VARIANT__;
27 -export const disableDefaultPropsExceptForClasses = __VARIANT__;
28 -export const enableAddPropertiesFastPath = __VARIANT__;
packages/shared/forks/ReactFeatureFlags.native-fb.js
+6 -9
@@ -21,13 +21,16 @@ const dynamicFlags: DynamicExportsType = (dynamicFlagsUntyped: any);
21 export const {
22 alwaysThrottleRetries,
23 consoleManagedByDevToolsDuringStrictMode,
24 - enableEarlyReturnForPropDiffing,
24 + disableDefaultPropsExceptForClasses,
25 + disableStringRefs,
26 + enableAddPropertiesFastPath,
27 enableDeferRootSchedulingToMicrotask,
28 + enableEarlyReturnForPropDiffing,
29 + enableFastJSX,
30 enableInfiniteRenderLoopDetection,
31 + enableRefAsProp,
32 enableUnifiedSyncLane,
33 passChildrenWhenCloningPersistedNodes,
29 - disableDefaultPropsExceptForClasses,
30 - enableAddPropertiesFastPath,
34 } = dynamicFlags;
35
36 // The rest of the flags are static for better dead code elimination.
@@ -94,12 +97,6 @@ export const disableClientCache = true;
97 export const enableServerComponentKeys = true;
98 export const enableServerComponentLogs = true;
99
97 -// TODO: Roll out with GK. Don't keep as dynamic flag for too long, though,
98 -// because JSX is an extremely hot path.
99 -export const enableRefAsProp = false;
100 -export const disableStringRefs = false;
101 -export const enableFastJSX = false;
102 -
100 export const enableReactTestRendererWarning = false;
101 export const disableLegacyMode = false;
102 export const disableDOMTestUtils = false;
packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js
+3 -3
@@ -80,9 +80,9 @@ export const disableClientCache = true;
80 export const enableServerComponentKeys = true;
81 export const enableServerComponentLogs = true;
82
83 -export const enableRefAsProp = false;
84 -export const disableStringRefs = false;
85 -export const enableFastJSX = false;
83 +export const enableRefAsProp = true;
84 +export const disableStringRefs = true;
85 +export const enableFastJSX = true;
86
87 export const enableReactTestRendererWarning = false;
88 export const disableLegacyMode = false;