main
js 101 lines 4.67 KB
Raw
1 /**
2 * Copyright (c) Meta Platforms, Inc. and affiliates.
3 *
4 * This source code is licensed under the MIT license found in the
5 * LICENSE file in the root directory of this source tree.
6 *
7 * @flow
8 */
9
10 import typeof * as FeatureFlagsType from 'shared/ReactFeatureFlags';
11 import typeof * as ExportsType from './ReactFeatureFlags.native-fb';
12 import typeof * as DynamicExportsType from './ReactFeatureFlags.native-fb-dynamic';
13
14 // Re-export dynamic flags from the internal module.
15 // Intentionally using * because this import is compiled to a `require` call.
16 import * as dynamicFlagsUntyped from 'ReactNativeInternalFeatureFlags';
17 const dynamicFlags: DynamicExportsType = dynamicFlagsUntyped as any;
18
19 // We destructure each value before re-exporting to avoid a dynamic look-up on
20 // the exports object every time a flag is read.
21 export const {
22 alwaysThrottleRetries,
23 enableObjectFiber,
24 passChildrenWhenCloningPersistedNodes,
25 enableFragmentRefs,
26 enableFragmentRefsScrollIntoView,
27 enableFragmentRefsInstanceHandles,
28 enableFragmentRefsTextNodes,
29 enableViewTransitionForPersistenceMode,
30 enableConditionalUseWarning,
31 } = dynamicFlags;
32
33 // The rest of the flags are static for better dead code elimination.
34 export const disableClientCache: boolean = true;
35 export const disableCommentsAsDOMContainers: boolean = true;
36 export const disableInputAttributeSyncing: boolean = false;
37 export const disableLegacyContext: boolean = false;
38 export const disableLegacyContextForFunctionComponents: boolean = false;
39 export const disableLegacyMode: boolean = false;
40 export const disableSchedulerTimeoutInWorkLoop: boolean = false;
41 export const disableTextareaChildren: boolean = false;
42 export const enableAsyncDebugInfo: boolean = true;
43 export const enableAsyncIterableChildren: boolean = false;
44 export const enableFlightWeakThenables: boolean = false;
45 export const enableCPUSuspense: boolean = true;
46 export const enableCreateEventHandleAPI: boolean = false;
47 export const enableBrowserAPI: boolean = true;
48 export const enableEffectEventMutationPhase: boolean = true;
49 export const enableMoveBefore: boolean = true;
50 export const enableFizzExternalRuntime: boolean = true;
51 export const enableInfiniteRenderLoopDetection: boolean = false;
52 export const enableInfiniteRenderLoopDetectionForceThrow: boolean = false;
53 export const enableLegacyCache: boolean = false;
54 export const enableLegacyFBSupport: boolean = false;
55 export const enableLegacyHidden: boolean = false;
56 export const enableNoCloningMemoCache: boolean = false;
57 export const enableProfilerCommitHooks: boolean = __PROFILE__;
58 export const enableProfilerNestedUpdatePhase: boolean = __PROFILE__;
59 export const enableProfilerTimer: boolean = __PROFILE__;
60 export const enableReactTestRendererWarning: boolean = false;
61 export const enableRetryLaneExpiration: boolean = false;
62 export const enableSchedulingProfiler: boolean = __PROFILE__;
63 export const enableScopeAPI: boolean = false;
64 export const enableSuspenseAvoidThisFallback: boolean = false;
65 export const enableSuspenseCallback: boolean = true;
66 export const enableTaint: boolean = true;
67 export const enableTransitionTracing: boolean = false;
68 export const enableTrustedTypesIntegration: boolean = true;
69 export const enableUpdaterTracking: boolean = __PROFILE__;
70 export const retryLaneExpirationMs = 5000;
71 export const syncLaneExpirationMs = 250;
72 export const transitionLaneExpirationMs = 5000;
73 export const enableYieldingBeforePassive: boolean = false;
74 export const enableThrottledScheduling: boolean = false;
75 export const enableViewTransition: boolean = true;
76 export const enableViewTransitionParentEnterExit: boolean = true;
77 export const enableGestureTransition: boolean = false;
78 export const enableScrollEndPolyfill: boolean = true;
79 export const enableSuspenseyImages: boolean = false;
80 export const enableFizzBlockingRender: boolean = true;
81 export const enableSrcObject: boolean = false;
82 export const enableHydrationChangeEvent: boolean = true;
83 export const enableDefaultTransitionIndicator: boolean = true;
84 export const ownerStackLimit = 1e4;
85 export const enableComponentPerformanceTrack: boolean = true;
86 export const enablePerformanceIssueReporting: boolean =
87 enableComponentPerformanceTrack;
88 export const enableInternalInstanceMap: boolean = false;
89 export const enableOptimisticKey: boolean = false;
90 export const enableParallelTransitions: boolean = true;
91
92 export const eprh_enableUseKeyedStateCompilerLint: boolean = false;
93 export const eprh_enableVerboseNoSetStateInEffectCompilerLint: boolean = false;
94 export const eprh_enableExhaustiveEffectDependenciesCompilerLint:
95 | 'off'
96 | 'all'
97 | 'extra-only'
98 | 'missing-only' = 'off';
99
100 // Flow magic to verify the exports of this file match the original version.
101 null as any as ExportsType as FeatureFlagsType as ExportsType;