mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Extend ReactNativeFeatureFlags to support prereleaseChannels (#49141)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/49141 This diff extends ReactNativeFeatureFlags to support prereleaseChannels, the goal is to be able to configure what release channel each feature flag will be enabled / disabled changelog: [internal] internal Reviewed By: rubennorte Differential Revision: D68583324 fbshipit-source-id: 09fde8511dcf5dff63821f15afe0a2530a0845fd
This commit is contained in:
committed by
Facebook GitHub Bot
parent
dab8f6097e
commit
bdb394f754
@@ -30,6 +30,7 @@ const testDefinitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'operational',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
commonTestFlagWithoutNativeImplementation: {
|
||||
defaultValue: false,
|
||||
@@ -39,6 +40,7 @@ const testDefinitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'operational',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
skipNativeAPI: true,
|
||||
},
|
||||
},
|
||||
@@ -50,6 +52,7 @@ const testDefinitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'operational',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
},
|
||||
};
|
||||
@@ -66,6 +69,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableAccumulatedUpdatesInRawPropsAndroid: {
|
||||
defaultValue: false,
|
||||
@@ -76,6 +80,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableBridgelessArchitecture: {
|
||||
defaultValue: false,
|
||||
@@ -85,6 +90,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'release',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableCppPropsIteratorSetter: {
|
||||
defaultValue: false,
|
||||
@@ -95,6 +101,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableEagerRootViewAttachment: {
|
||||
defaultValue: false,
|
||||
@@ -105,6 +112,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableEventEmitterRetentionDuringGesturesOnAndroid: {
|
||||
defaultValue: false,
|
||||
@@ -115,6 +123,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableFabricLogs: {
|
||||
defaultValue: false,
|
||||
@@ -123,6 +132,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'operational',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableFabricRenderer: {
|
||||
defaultValue: false,
|
||||
@@ -131,6 +141,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'release',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableFixForViewCommandRace: {
|
||||
defaultValue: false,
|
||||
@@ -141,6 +152,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableGranularShadowTreeStateReconciliation: {
|
||||
defaultValue: false,
|
||||
@@ -151,6 +163,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableIOSViewClipToPaddingBox: {
|
||||
defaultValue: false,
|
||||
@@ -160,6 +173,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableImagePrefetchingAndroid: {
|
||||
defaultValue: false,
|
||||
@@ -170,6 +184,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableJSRuntimeGCOnMemoryPressureOnIOS: {
|
||||
defaultValue: false,
|
||||
@@ -178,6 +193,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'release',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableLayoutAnimationsOnAndroid: {
|
||||
defaultValue: false,
|
||||
@@ -187,6 +203,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'release',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableLayoutAnimationsOnIOS: {
|
||||
defaultValue: true,
|
||||
@@ -196,6 +213,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'release',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableLongTaskAPI: {
|
||||
defaultValue: false,
|
||||
@@ -205,6 +223,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'release',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableNewBackgroundAndBorderDrawables: {
|
||||
defaultValue: false,
|
||||
@@ -215,6 +234,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enablePreciseSchedulingForPremountItemsOnAndroid: {
|
||||
defaultValue: false,
|
||||
@@ -225,6 +245,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enablePropsUpdateReconciliationAndroid: {
|
||||
defaultValue: false,
|
||||
@@ -235,6 +256,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableReportEventPaintTime: {
|
||||
defaultValue: false,
|
||||
@@ -244,6 +266,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'release',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableSynchronousStateUpdates: {
|
||||
defaultValue: false,
|
||||
@@ -254,6 +277,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableUIConsistency: {
|
||||
defaultValue: false,
|
||||
@@ -264,6 +288,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableViewRecycling: {
|
||||
defaultValue: false,
|
||||
@@ -274,6 +299,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
excludeYogaFromRawProps: {
|
||||
defaultValue: false,
|
||||
@@ -284,6 +310,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
fixDifferentiatorEmittingUpdatesWithWrongParentTag: {
|
||||
defaultValue: true,
|
||||
@@ -293,6 +320,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'release',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
fixMappingOfEventPrioritiesBetweenFabricAndReact: {
|
||||
defaultValue: false,
|
||||
@@ -303,6 +331,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
fixMountingCoordinatorReportedPendingTransactionsOnAndroid: {
|
||||
defaultValue: false,
|
||||
@@ -313,6 +342,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
fuseboxEnabledRelease: {
|
||||
defaultValue: false,
|
||||
@@ -322,6 +352,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'release',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
fuseboxNetworkInspectionEnabled: {
|
||||
defaultValue: false,
|
||||
@@ -332,6 +363,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
lazyAnimationCallbacks: {
|
||||
defaultValue: false,
|
||||
@@ -342,6 +374,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
traceTurboModulePromiseRejectionsOnAndroid: {
|
||||
defaultValue: false,
|
||||
@@ -351,6 +384,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'operational',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
useAlwaysAvailableJSErrorHandling: {
|
||||
defaultValue: false,
|
||||
@@ -360,6 +394,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'release',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
useEditTextStockAndroidFocusBehavior: {
|
||||
defaultValue: true,
|
||||
@@ -369,6 +404,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'release',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
useFabricInterop: {
|
||||
defaultValue: false,
|
||||
@@ -378,6 +414,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'release',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
useNativeViewConfigsInBridgelessMode: {
|
||||
defaultValue: false,
|
||||
@@ -388,6 +425,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
useOptimizedEventBatchingOnAndroid: {
|
||||
defaultValue: false,
|
||||
@@ -398,6 +436,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
useRawPropsJsiValue: {
|
||||
defaultValue: false,
|
||||
@@ -408,6 +447,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
useRuntimeShadowNodeReferenceUpdate: {
|
||||
defaultValue: true,
|
||||
@@ -418,6 +458,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
useTurboModuleInterop: {
|
||||
defaultValue: false,
|
||||
@@ -428,6 +469,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
useTurboModules: {
|
||||
defaultValue: false,
|
||||
@@ -437,6 +479,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'release',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
},
|
||||
|
||||
@@ -452,6 +495,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
animatedShouldUseSingleOp: {
|
||||
defaultValue: false,
|
||||
@@ -462,6 +506,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
disableInteractionManager: {
|
||||
defaultValue: false,
|
||||
@@ -472,6 +517,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableAccessToHostTreeInFabric: {
|
||||
defaultValue: false,
|
||||
@@ -481,6 +527,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'release',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableAnimatedClearImmediateFix: {
|
||||
defaultValue: true,
|
||||
@@ -491,6 +538,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
enableDOMDocumentAPI: {
|
||||
defaultValue: false,
|
||||
@@ -502,6 +550,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
fixVirtualizeListCollapseWindowSize: {
|
||||
defaultValue: false,
|
||||
@@ -512,6 +561,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
isLayoutAnimationEnabled: {
|
||||
defaultValue: true,
|
||||
@@ -521,6 +571,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'release',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
scheduleAnimatedCleanupInMicrotask: {
|
||||
defaultValue: false,
|
||||
@@ -531,6 +582,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
shouldSkipStateUpdatesForLoopingAnimations: {
|
||||
defaultValue: true,
|
||||
@@ -541,6 +593,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
shouldUseAnimatedObjectForTransform: {
|
||||
defaultValue: false,
|
||||
@@ -551,6 +604,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
shouldUseRemoveClippedSubviewsAsDefaultOnIOS: {
|
||||
defaultValue: false,
|
||||
@@ -561,6 +615,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
shouldUseSetNativePropsInFabric: {
|
||||
defaultValue: true,
|
||||
@@ -570,6 +625,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
useRefsForTextInputState: {
|
||||
defaultValue: false,
|
||||
@@ -580,6 +636,7 @@ const definitions: FeatureFlagDefinitions = {
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
@@ -15,9 +15,16 @@ export type FeatureFlagDefinitions = $ReadOnly<{
|
||||
jsOnly: JsOnlyFeatureFlagList,
|
||||
}>;
|
||||
|
||||
export type OSSReleaseStageValue =
|
||||
| 'none'
|
||||
| 'experimental'
|
||||
| 'canary'
|
||||
| 'stable';
|
||||
|
||||
export type CommonFeatureFlagConfig = $ReadOnly<{
|
||||
defaultValue: FeatureFlagValue,
|
||||
metadata: FeatureFlagMetadata,
|
||||
ossReleaseStage: OSSReleaseStageValue,
|
||||
// Indicates if this API should only be defined in JavaScript, only to
|
||||
// preserve backwards compatibility with existing native code temporarily.
|
||||
skipNativeAPI?: true,
|
||||
@@ -30,6 +37,7 @@ export type CommonFeatureFlagList = $ReadOnly<{
|
||||
export type JsOnlyFeatureFlagConfig = $ReadOnly<{
|
||||
defaultValue: FeatureFlagValue,
|
||||
metadata: FeatureFlagMetadata,
|
||||
ossReleaseStage: OSSReleaseStageValue,
|
||||
}>;
|
||||
|
||||
export type JsOnlyFeatureFlagList = $ReadOnly<{
|
||||
|
||||
Reference in New Issue
Block a user