mirror of
https://github.com/facebook/react.git
synced 2026-02-26 18:58:05 +00:00
# Affected flags: ### alwaysThrottleRetries In RN OSS changed from `true` to `false`. This is what FB build uses. This flag was a root cause for big perf regression internally. ### enableDeferRootSchedulingToMicrotask In RN OSS build changed from `true` to `false`. This is what FB build uses. ### debugRenderPhaseSideEffectsForStrictMode Changed from true to __DEV__ in FB and OSS build. The flag is only used in debug builds and was previously `false` in RN OSS builds ### enableUnifiedSyncLane Changed from `__VARIANT__` to `true` in FB build. This is what OSS build uses. This flag is shipped internally. cc @tyao1 ### enableLegacyHidden In RN FB changed from `true` to `false`. This is what OSS uses. ### allowConcurrentByDefault In RN FB changed from `true` to `false`. I ran `yarn flags --diff rn rn-fb` to get the difference between feature flags and unify them. ## Before ``` yarn run v1.22.19 $ node ./scripts/flags/flags.js --diff rn rn-fb ┌───────────────────────────────────────────────┬────────┬───────┐ │ (index) │ RN OSS │ RN FB │ ├───────────────────────────────────────────────┼────────┼───────┤ │ allowConcurrentByDefault │ '❌' │ '✅' │ │ debugRenderPhaseSideEffectsForStrictMode │ '❌' │ '✅' │ │ disableModulePatternComponents │ '❌' │ '✅' │ │ enableCPUSuspense │ '❌' │ '✅' │ │ enableCacheElement │ '❌' │ '✅' │ │ enableGetInspectorDataForInstanceInProduction │ '❌' │ '✅' │ │ enableLegacyHidden │ '❌' │ '✅' │ │ enableSchedulingProfiler │ '❌' │ '📊' │ │ enableUseDeferredValueInitialArg │ '❌' │ '✅' │ │ enableUseMemoCacheHook │ '❌' │ '✅' │ │ enableUseRefAccessWarning │ '❌' │ '🧪' │ │ passChildrenWhenCloningPersistedNodes │ '❌' │ '🧪' │ │ useMicrotasksForSchedulingInFabric │ '❌' │ '🧪' │ │ alwaysThrottleRetries │ '✅' │ '🧪' │ │ enableDeferRootSchedulingToMicrotask │ '✅' │ '🧪' │ │ enableUnifiedSyncLane │ '✅' │ '🧪' │ └───────────────────────────────────────────────┴────────┴───────┘ ``` ## After ``` yarn run v1.22.19 $ node ./scripts/flags/flags.js --diff rn rn-fb ┌───────────────────────────────────────────────┬────────┬───────┐ │ (index) │ RN OSS │ RN FB │ ├───────────────────────────────────────────────┼────────┼───────┤ │ alwaysThrottleRetries │ '❌' │ '🧪' │ │ disableModulePatternComponents │ '❌' │ '✅' │ │ enableCPUSuspense │ '❌' │ '✅' │ │ enableCacheElement │ '❌' │ '✅' │ │ enableDeferRootSchedulingToMicrotask │ '❌' │ '🧪' │ │ enableGetInspectorDataForInstanceInProduction │ '❌' │ '✅' │ │ enableSchedulingProfiler │ '❌' │ '📊' │ │ enableUseDeferredValueInitialArg │ '❌' │ '✅' │ │ enableUseMemoCacheHook │ '❌' │ '✅' │ │ enableUseRefAccessWarning │ '❌' │ '🧪' │ │ passChildrenWhenCloningPersistedNodes │ '❌' │ '🧪' │ │ useMicrotasksForSchedulingInFabric │ '❌' │ '🧪' │ └───────────────────────────────────────────────┴────────┴───────┘ ```
17 lines
570 B
JavaScript
17 lines
570 B
JavaScript
/**
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @flow
|
|
*/
|
|
|
|
declare module 'ReactNativeInternalFeatureFlags' {
|
|
declare export var alwaysThrottleRetries: boolean;
|
|
declare export var enableDeferRootSchedulingToMicrotask: boolean;
|
|
declare export var enableUseRefAccessWarning: boolean;
|
|
declare export var passChildrenWhenCloningPersistedNodes: boolean;
|
|
declare export var useMicrotasksForSchedulingInFabric: boolean;
|
|
}
|