diff --git a/package.json b/package.json index d5dfde958c032..aafb48ecb9ffc 100644 --- a/package.json +++ b/package.json @@ -63,8 +63,8 @@ "eslint-plugin-react-internal": "link:./scripts/eslint-rules", "fbjs-scripts": "^3.0.1", "filesize": "^6.0.1", - "flow-bin": "^0.234.0", - "flow-remove-types": "^2.234.0", + "flow-bin": "^0.235.0", + "flow-remove-types": "^2.235.0", "glob": "^7.1.6", "glob-stream": "^6.1.0", "google-closure-compiler": "^20230206.0.0", diff --git a/packages/react-client/src/ReactClientConsoleConfigBrowser.js b/packages/react-client/src/ReactClientConsoleConfigBrowser.js index da87324b6df27..a8a375debdc59 100644 --- a/packages/react-client/src/ReactClientConsoleConfigBrowser.js +++ b/packages/react-client/src/ReactClientConsoleConfigBrowser.js @@ -70,7 +70,7 @@ export function printToConsole( } else if (methodName === 'warn') { warn.apply(console, newArgs); } else { - // eslint-disable-next-line react-internal/no-production-logging - console[methodName].apply(console, newArgs); + // $FlowFixMe[invalid-computed-prop] + console[methodName].apply(console, newArgs); // eslint-disable-line react-internal/no-production-logging } } diff --git a/packages/react-client/src/ReactClientConsoleConfigPlain.js b/packages/react-client/src/ReactClientConsoleConfigPlain.js index a4e7c3c6d7e3c..64b61d6ed6f76 100644 --- a/packages/react-client/src/ReactClientConsoleConfigPlain.js +++ b/packages/react-client/src/ReactClientConsoleConfigPlain.js @@ -51,7 +51,7 @@ export function printToConsole( } else if (methodName === 'warn') { warn.apply(console, newArgs); } else { - // eslint-disable-next-line react-internal/no-production-logging - console[methodName].apply(console, newArgs); + // $FlowFixMe[invalid-computed-prop] + console[methodName].apply(console, newArgs); // eslint-disable-line react-internal/no-production-logging } } diff --git a/packages/react-client/src/ReactClientConsoleConfigServer.js b/packages/react-client/src/ReactClientConsoleConfigServer.js index f6ecad92f3eef..0a62707cf6494 100644 --- a/packages/react-client/src/ReactClientConsoleConfigServer.js +++ b/packages/react-client/src/ReactClientConsoleConfigServer.js @@ -71,7 +71,7 @@ export function printToConsole( } else if (methodName === 'warn') { warn.apply(console, newArgs); } else { - // eslint-disable-next-line react-internal/no-production-logging - console[methodName].apply(console, newArgs); + // $FlowFixMe[invalid-computed-prop] + console[methodName].apply(console, newArgs); // eslint-disable-line react-internal/no-production-logging } } diff --git a/packages/react-debug-tools/src/ReactDebugHooks.js b/packages/react-debug-tools/src/ReactDebugHooks.js index 09ba351235ecc..d7ffc6626c69d 100644 --- a/packages/react-debug-tools/src/ReactDebugHooks.js +++ b/packages/react-debug-tools/src/ReactDebugHooks.js @@ -774,6 +774,7 @@ const Dispatcher: DispatcherType = { const DispatcherProxyHandler = { get(target: DispatcherType, prop: string) { if (target.hasOwnProperty(prop)) { + // $FlowFixMe[invalid-computed-prop] return target[prop]; } const error = new Error('Missing method in Dispatcher: ' + prop); diff --git a/packages/react-devtools-shared/src/backend/console.js b/packages/react-devtools-shared/src/backend/console.js index e1b98b9190129..3aedfa6e39535 100644 --- a/packages/react-devtools-shared/src/backend/console.js +++ b/packages/react-devtools-shared/src/backend/console.js @@ -97,6 +97,7 @@ const injectedRenderers: Map< let targetConsole: Object = console; let targetConsoleMethods: {[string]: $FlowFixMe} = {}; for (const method in console) { + // $FlowFixMe[invalid-computed-prop] targetConsoleMethods[method] = console[method]; } @@ -110,6 +111,7 @@ export function dangerous_setTargetConsoleForTesting( targetConsoleMethods = ({}: {[string]: $FlowFixMe}); for (const method in targetConsole) { + // $FlowFixMe[invalid-computed-prop] targetConsoleMethods[method] = console[method]; } } diff --git a/packages/react-devtools-shared/src/backend/renderer.js b/packages/react-devtools-shared/src/backend/renderer.js index 59af004fb33e4..62bf7fe4a725a 100644 --- a/packages/react-devtools-shared/src/backend/renderer.js +++ b/packages/react-devtools-shared/src/backend/renderer.js @@ -3391,6 +3391,7 @@ export function attach( // Temporarily disable all console logging before re-running the hook. for (const method in console) { try { + // $FlowFixMe[invalid-computed-prop] originalConsoleMethods[method] = console[method]; // $FlowFixMe[prop-missing] console[method] = () => {}; diff --git a/packages/react-devtools-shared/src/hook.js b/packages/react-devtools-shared/src/hook.js index 0dd96dc471cbc..c16409e3d9279 100644 --- a/packages/react-devtools-shared/src/hook.js +++ b/packages/react-devtools-shared/src/hook.js @@ -32,6 +32,7 @@ export function installHook(target: any): DevToolsHook | null { let targetConsole: Object = console; let targetConsoleMethods: {[string]: $FlowFixMe} = {}; for (const method in console) { + // $FlowFixMe[invalid-computed-prop] targetConsoleMethods[method] = console[method]; } @@ -42,6 +43,7 @@ export function installHook(target: any): DevToolsHook | null { targetConsoleMethods = ({}: {[string]: $FlowFixMe}); for (const method in targetConsole) { + // $FlowFixMe[invalid-computed-prop] targetConsoleMethods[method] = console[method]; } } diff --git a/packages/react-dom-bindings/src/client/DOMAccessibilityRoles.js b/packages/react-dom-bindings/src/client/DOMAccessibilityRoles.js index 0a6bbb4c5d5a2..4c1091f2455c9 100644 --- a/packages/react-dom-bindings/src/client/DOMAccessibilityRoles.js +++ b/packages/react-dom-bindings/src/client/DOMAccessibilityRoles.js @@ -60,6 +60,7 @@ const tagToRoleMappings = { }; function getImplicitRole(element: Element): string | null { + // $FlowFixMe[invalid-computed-prop] const mappedByTag = tagToRoleMappings[element.tagName]; if (mappedByTag !== undefined) { return mappedByTag; diff --git a/packages/react-dom-bindings/src/client/DOMPropertyOperations.js b/packages/react-dom-bindings/src/client/DOMPropertyOperations.js index 1d5211e451ff2..da928058bbcf0 100644 --- a/packages/react-dom-bindings/src/client/DOMPropertyOperations.js +++ b/packages/react-dom-bindings/src/client/DOMPropertyOperations.js @@ -196,6 +196,7 @@ export function setValueForPropertyOnCustomComponent( const eventName = name.slice(2, useCapture ? name.length - 7 : undefined); const prevProps = getFiberCurrentPropsFromNode(node); + // $FlowFixMe[invalid-computed-prop] const prevValue = prevProps != null ? prevProps[name] : null; if (typeof prevValue === 'function') { node.removeEventListener(eventName, prevValue, useCapture); diff --git a/packages/react-dom-bindings/src/events/getListener.js b/packages/react-dom-bindings/src/events/getListener.js index 68ab23e219475..d6c7bab6d01c4 100644 --- a/packages/react-dom-bindings/src/events/getListener.js +++ b/packages/react-dom-bindings/src/events/getListener.js @@ -62,6 +62,7 @@ export default function getListener( // Work in progress. return null; } + // $FlowFixMe[invalid-computed-prop] const listener = props[registrationName]; if (shouldPreventMouseEvent(registrationName, inst.type, props)) { return null; diff --git a/packages/react-dom-bindings/src/server/ReactDOMFlightServerHostDispatcher.js b/packages/react-dom-bindings/src/server/ReactDOMFlightServerHostDispatcher.js index 3303c07cfb4f3..c2a9227737edf 100644 --- a/packages/react-dom-bindings/src/server/ReactDOMFlightServerHostDispatcher.js +++ b/packages/react-dom-bindings/src/server/ReactDOMFlightServerHostDispatcher.js @@ -238,6 +238,7 @@ function trimOptions< let hasProperties = false; const trimmed: T = ({}: any); for (const key in options) { + // $FlowFixMe[invalid-computed-prop] if (options[key] != null) { hasProperties = true; (trimmed: any)[key] = options[key]; diff --git a/packages/react-dom-bindings/src/server/ReactFizzConfigDOM.js b/packages/react-dom-bindings/src/server/ReactFizzConfigDOM.js index 594051dc35c2c..54504deb6e517 100644 --- a/packages/react-dom-bindings/src/server/ReactFizzConfigDOM.js +++ b/packages/react-dom-bindings/src/server/ReactFizzConfigDOM.js @@ -6073,6 +6073,7 @@ function getPreloadAsHeader( let value = `<${escapedHref}>; rel=preload; as="${escapedAs}"`; for (const paramName in params) { if (hasOwnProperty.call(params, paramName)) { + // $FlowFixMe[invalid-computed-prop] const paramValue = params[paramName]; if (typeof paramValue === 'string') { value += `; ${paramName.toLowerCase()}="${escapeStringForLinkHeaderQuotedParamValueContext( diff --git a/packages/react-native-renderer/src/legacy-events/EventPluginRegistry.js b/packages/react-native-renderer/src/legacy-events/EventPluginRegistry.js index 7d96a1eb1bd92..48cfd5759b30e 100644 --- a/packages/react-native-renderer/src/legacy-events/EventPluginRegistry.js +++ b/packages/react-native-renderer/src/legacy-events/EventPluginRegistry.js @@ -107,6 +107,7 @@ function publishEventForPlugin( if (phasedRegistrationNames) { for (const phaseName in phasedRegistrationNames) { if (phasedRegistrationNames.hasOwnProperty(phaseName)) { + // $FlowFixMe[invalid-computed-prop] const phasedRegistrationName = phasedRegistrationNames[phaseName]; publishRegistrationName( phasedRegistrationName, diff --git a/packages/react/src/ReactChildren.js b/packages/react/src/ReactChildren.js index 0e4c699f477f6..8fcc83dea4b17 100644 --- a/packages/react/src/ReactChildren.js +++ b/packages/react/src/ReactChildren.js @@ -42,6 +42,7 @@ function escape(key: string): string { ':': '=2', }; const escapedString = key.replace(escapeRegex, function (match) { + // $FlowFixMe[invalid-computed-prop] return escaperLookup[match]; }); diff --git a/packages/shared/enqueueTask.js b/packages/shared/enqueueTask.js index f2d18e7584b7c..f7e1c746e1f77 100644 --- a/packages/shared/enqueueTask.js +++ b/packages/shared/enqueueTask.js @@ -16,6 +16,7 @@ export default function enqueueTask(task: () => void): void { // read require off the module object to get around the bundlers. // we don't want them to detect a require and bundle a Node polyfill. const requireString = ('require' + Math.random()).slice(0, 7); + // $FlowFixMe[invalid-computed-prop] const nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's // version of setImmediate, bypassing fake timers if any. diff --git a/yarn.lock b/yarn.lock index 54fd49b8fff34..ea0d17ca3f448 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8321,12 +8321,12 @@ flatted@^3.2.9: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== -flow-bin@^0.234.0: - version "0.234.0" - resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.234.0.tgz#17dfc5aac1d928b6d7194f93bd0bf742d735c77d" - integrity sha512-uLmvfFRW6yEcz2wSJ2H6192RwknBpzAHBezDcXzmxJASxB6QzjKadhPxZvsJ74uJ+9Th1hDNuRB4mGrVUeneyA== +flow-bin@^0.235.0: + version "0.235.1" + resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.235.1.tgz#7dfca9c480bb7cb83fa3caca58386e9beca09bc3" + integrity sha512-SuXw5NQDIdSBMg/NgvS5mzdI6dPEYWubnucnYno9wWLd6xoK1nkH6t2Dn2GsML9bIoVqp3E/ni1jo18A4G4FrQ== -flow-remove-types@^2.234.0: +flow-remove-types@^2.235.0: version "2.238.2" resolved "https://registry.yarnpkg.com/flow-remove-types/-/flow-remove-types-2.238.2.tgz#85c9d26e83ba395f0206a23bce438223bc035609" integrity sha512-WJXRomjPiZ34nG14y7AceoPxg1L00FxjPSA3TDBTG2OPt8QFNtiYEmO4/3WG58n3C4wjxyVuoE6KjxQIvCDyjw==