From 2eeca938f0b56967cac8d9c00f5f44556f4d5ecb Mon Sep 17 00:00:00 2001 From: Ricky Date: Mon, 29 Jan 2024 14:03:39 -0500 Subject: [PATCH] Clean up experimental flags (#28116) ## Overview Adds a new global to disambiguate experimental flags that we intend to land when we can make breaking changes. --- packages/shared/ReactFeatureFlags.js | 58 +++++++++++++++++----------- 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/packages/shared/ReactFeatureFlags.js b/packages/shared/ReactFeatureFlags.js index cb41887de70b3..6094e8c75d5de 100644 --- a/packages/shared/ReactFeatureFlags.js +++ b/packages/shared/ReactFeatureFlags.js @@ -131,6 +131,41 @@ export const retryLaneExpirationMs = 5000; export const syncLaneExpirationMs = 250; export const transitionLaneExpirationMs = 5000; +// ----------------------------------------------------------------------------- +// Ready for next major. +// +// Alias __NEXT_MAJOR__ to __EXPERIMENTAL__ for easier skimming. +// ----------------------------------------------------------------------------- +const __NEXT_MAJOR__ = __EXPERIMENTAL__; + +// Not ready to break experimental yet. +export const disableLegacyContext = false; + +// Not ready to break experimental yet. +// Disable javascript: URL strings in href for XSS protection. +export const disableJavaScriptURLs = false; + +// Not ready to break experimental yet. +// Modern behaviour aligns more with what components +// components will encounter in production, especially when used With . +// TODO: clean up legacy once tests pass WWW. +export const useModernStrictMode = false; + +// Not ready to break experimental yet. +// Remove IE and MsApp specific workarounds for innerHTML +export const disableIEWorkarounds = __NEXT_MAJOR__; + +// Changes the behavior for rendering custom elements in both server rendering +// and client rendering, mostly to allow JSX attributes to apply to the custom +// element's object properties instead of only HTML attributes. +// https://github.com/facebook/react/issues/11347 +export const enableCustomElementPropertySupport = __NEXT_MAJOR__; + +// Filter certain DOM attributes (e.g. src, href) if their values are empty +// strings. This prevents e.g. from making an unnecessary HTTP +// request for certain browsers. +export const enableFilterEmptyStringAttributesDOM = __NEXT_MAJOR__; + // ----------------------------------------------------------------------------- // Chopping Block // @@ -147,8 +182,6 @@ export const createRootStrictEffectsByDefault = false; export const disableModulePatternComponents = false; -export const disableLegacyContext = false; - export const enableUseRefAccessWarning = false; // Enables time slicing for updates that aren't wrapped in startTransition. @@ -170,29 +203,12 @@ export const allowConcurrentByDefault = false; // in open source, but www codebase still relies on it. Need to remove. export const disableCommentsAsDOMContainers = true; -// Disable javascript: URL strings in href for XSS protection. -export const disableJavaScriptURLs = false; - export const enableTrustedTypesIntegration = false; // Prevent the value and checked attributes from syncing with their related // DOM properties export const disableInputAttributeSyncing = false; -// Remove IE and MsApp specific workarounds for innerHTML -export const disableIEWorkarounds = __EXPERIMENTAL__; - -// Filter certain DOM attributes (e.g. src, href) if their values are empty -// strings. This prevents e.g. from making an unnecessary HTTP -// request for certain browsers. -export const enableFilterEmptyStringAttributesDOM = __EXPERIMENTAL__; - -// Changes the behavior for rendering custom elements in both server rendering -// and client rendering, mostly to allow JSX attributes to apply to the custom -// element's object properties instead of only HTML attributes. -// https://github.com/facebook/react/issues/11347 -export const enableCustomElementPropertySupport = __EXPERIMENTAL__; - // Disables children for