From 166846e45b83114ad4b175e1d6437c5699b195d2 Mon Sep 17 00:00:00 2001 From: Iwo Plaza Date: Thu, 13 Feb 2025 09:34:56 -0800 Subject: [PATCH] Migrate Utilities/dismissKeyboard.js, Utilities/GlobalPerformanceLogger.js & Utilities/SceneTracker.js to use export syntax (#49402) Summary: ## Motivation Modernising the RN codebase to allow for modern Flow tooling to process it. ## This diff - Migrates `Utilities/dismissKeyboard.js`, `Utilities/GlobalPerformanceLogger.js` and `Utilities/SceneTracker.js` to use the export syntax. - Updates deep-imports of these files to use `.default` - Updates jest mocks - Updates the current iteration of API snapshots (intended). Changelog: [General][Breaking] - Deep imports to `Utilities/dismissKeyboard.js`, `Utilities/GlobalPerformanceLogger.js` or `Utilities/SceneTracker.js` with `require` syntax need to be appended with '.default'. Differential Revision: D69599636 --- .../Components/Keyboard/__tests__/Keyboard-test.js | 2 +- packages/react-native/Libraries/Core/InitializeCore.js | 3 ++- packages/react-native/Libraries/Core/setUpBatchedBridge.js | 5 +++-- .../react-native/Libraries/Network/XMLHttpRequest_new.js | 3 ++- .../react-native/Libraries/Network/XMLHttpRequest_old.js | 3 ++- .../Libraries/Network/__tests__/XMLHttpRequest-test.js | 3 ++- .../Libraries/Utilities/GlobalPerformanceLogger.js | 2 +- packages/react-native/Libraries/Utilities/SceneTracker.js | 2 +- .../Utilities/__mocks__/GlobalPerformanceLogger.js | 4 ++-- .../Libraries/Utilities/__tests__/SceneTracker-test.js | 2 +- .../react-native/Libraries/Utilities/dismissKeyboard.js | 2 +- .../__tests__/__snapshots__/public-api-test.js.snap | 6 +++--- .../src/private/inspector/PerformanceOverlay.js | 3 ++- 13 files changed, 23 insertions(+), 17 deletions(-) diff --git a/packages/react-native/Libraries/Components/Keyboard/__tests__/Keyboard-test.js b/packages/react-native/Libraries/Components/Keyboard/__tests__/Keyboard-test.js index f560ced1caa7..522f65733832 100644 --- a/packages/react-native/Libraries/Components/Keyboard/__tests__/Keyboard-test.js +++ b/packages/react-native/Libraries/Components/Keyboard/__tests__/Keyboard-test.js @@ -11,7 +11,7 @@ const LayoutAnimation = require('../../../LayoutAnimation/LayoutAnimation').default; -const dismissKeyboard = require('../../../Utilities/dismissKeyboard'); +const dismissKeyboard = require('../../../Utilities/dismissKeyboard').default; const Keyboard = require('../Keyboard').default; jest.mock('../../../LayoutAnimation/LayoutAnimation'); diff --git a/packages/react-native/Libraries/Core/InitializeCore.js b/packages/react-native/Libraries/Core/InitializeCore.js index 5fb0bc191cd2..5be464bd590c 100644 --- a/packages/react-native/Libraries/Core/InitializeCore.js +++ b/packages/react-native/Libraries/Core/InitializeCore.js @@ -51,7 +51,8 @@ if (__DEV__) { require('../ReactNative/AppRegistry'); -const GlobalPerformanceLogger = require('../Utilities/GlobalPerformanceLogger'); +const GlobalPerformanceLogger = + require('../Utilities/GlobalPerformanceLogger').default; // We could just call GlobalPerformanceLogger.markPoint at the top of the file, // but then we'd be excluding the time it took to require the logger. // Instead, we just use Date.now and backdate the timestamp. diff --git a/packages/react-native/Libraries/Core/setUpBatchedBridge.js b/packages/react-native/Libraries/Core/setUpBatchedBridge.js index 32116c5d160f..8d82f35bcea6 100644 --- a/packages/react-native/Libraries/Core/setUpBatchedBridge.js +++ b/packages/react-native/Libraries/Core/setUpBatchedBridge.js @@ -25,8 +25,9 @@ registerModule( 'RCTNativeAppEventEmitter', () => require('../EventEmitter/RCTNativeAppEventEmitter').default, ); -registerModule('GlobalPerformanceLogger', () => - require('../Utilities/GlobalPerformanceLogger'), +registerModule( + 'GlobalPerformanceLogger', + () => require('../Utilities/GlobalPerformanceLogger').default, ); if (__DEV__) { diff --git a/packages/react-native/Libraries/Network/XMLHttpRequest_new.js b/packages/react-native/Libraries/Network/XMLHttpRequest_new.js index 66123efdfabf..85fbc8665e41 100644 --- a/packages/react-native/Libraries/Network/XMLHttpRequest_new.js +++ b/packages/react-native/Libraries/Network/XMLHttpRequest_new.js @@ -27,7 +27,8 @@ import ProgressEvent from '../../src/private/webapis/xhr/events/ProgressEvent'; import {type EventSubscription} from '../vendor/emitter/EventEmitter'; const BlobManager = require('../Blob/BlobManager').default; -const GlobalPerformanceLogger = require('../Utilities/GlobalPerformanceLogger'); +const GlobalPerformanceLogger = + require('../Utilities/GlobalPerformanceLogger').default; const RCTNetworking = require('./RCTNetworking').default; const base64 = require('base64-js'); const invariant = require('invariant'); diff --git a/packages/react-native/Libraries/Network/XMLHttpRequest_old.js b/packages/react-native/Libraries/Network/XMLHttpRequest_old.js index c249f38e50ea..c9f9e0b2f264 100644 --- a/packages/react-native/Libraries/Network/XMLHttpRequest_old.js +++ b/packages/react-native/Libraries/Network/XMLHttpRequest_old.js @@ -16,7 +16,8 @@ import {type EventSubscription} from '../vendor/emitter/EventEmitter'; import EventTarget from 'event-target-shim'; const BlobManager = require('../Blob/BlobManager').default; -const GlobalPerformanceLogger = require('../Utilities/GlobalPerformanceLogger'); +const GlobalPerformanceLogger = + require('../Utilities/GlobalPerformanceLogger').default; const RCTNetworking = require('./RCTNetworking').default; const base64 = require('base64-js'); const invariant = require('invariant'); diff --git a/packages/react-native/Libraries/Network/__tests__/XMLHttpRequest-test.js b/packages/react-native/Libraries/Network/__tests__/XMLHttpRequest-test.js index c3d6fc55e4e3..d7eae2e1c565 100644 --- a/packages/react-native/Libraries/Network/__tests__/XMLHttpRequest-test.js +++ b/packages/react-native/Libraries/Network/__tests__/XMLHttpRequest-test.js @@ -12,7 +12,8 @@ const createPerformanceLogger = require('../../Utilities/createPerformanceLogger').default; -const GlobalPerformanceLogger = require('../../Utilities/GlobalPerformanceLogger'); +const GlobalPerformanceLogger = + require('../../Utilities/GlobalPerformanceLogger').default; const Platform = require('../../Utilities/Platform'); const XMLHttpRequest = require('../XMLHttpRequest').default; diff --git a/packages/react-native/Libraries/Utilities/GlobalPerformanceLogger.js b/packages/react-native/Libraries/Utilities/GlobalPerformanceLogger.js index d119f6316c12..de3ea27ae2be 100644 --- a/packages/react-native/Libraries/Utilities/GlobalPerformanceLogger.js +++ b/packages/react-native/Libraries/Utilities/GlobalPerformanceLogger.js @@ -21,4 +21,4 @@ import createPerformanceLogger from './createPerformanceLogger'; */ const GlobalPerformanceLogger: IPerformanceLogger = createPerformanceLogger(); -module.exports = GlobalPerformanceLogger; +export default GlobalPerformanceLogger; diff --git a/packages/react-native/Libraries/Utilities/SceneTracker.js b/packages/react-native/Libraries/Utilities/SceneTracker.js index 1b85f8d7dec7..0ad62560877b 100644 --- a/packages/react-native/Libraries/Utilities/SceneTracker.js +++ b/packages/react-native/Libraries/Utilities/SceneTracker.js @@ -39,4 +39,4 @@ const SceneTracker = { }, }; -module.exports = SceneTracker; +export default SceneTracker; diff --git a/packages/react-native/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js b/packages/react-native/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js index 37b5d5269d3d..9844715ac223 100644 --- a/packages/react-native/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +++ b/packages/react-native/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js @@ -11,6 +11,6 @@ const GlobalPerformanceLogger = jest .unmock('../createPerformanceLogger') - .genMockFromModule('../GlobalPerformanceLogger'); + .genMockFromModule('../GlobalPerformanceLogger').default; -module.exports = GlobalPerformanceLogger; +export default GlobalPerformanceLogger; diff --git a/packages/react-native/Libraries/Utilities/__tests__/SceneTracker-test.js b/packages/react-native/Libraries/Utilities/__tests__/SceneTracker-test.js index 44a42a526811..f6dc21746cb9 100644 --- a/packages/react-native/Libraries/Utilities/__tests__/SceneTracker-test.js +++ b/packages/react-native/Libraries/Utilities/__tests__/SceneTracker-test.js @@ -10,7 +10,7 @@ 'use strict'; -const SceneTracker = require('../SceneTracker'); +const SceneTracker = require('../SceneTracker').default; describe('setActiveScene', function () { it('can handle multiple listeners and unsubscribe', function () { diff --git a/packages/react-native/Libraries/Utilities/dismissKeyboard.js b/packages/react-native/Libraries/Utilities/dismissKeyboard.js index 9de937dac958..8b1017fa60ef 100644 --- a/packages/react-native/Libraries/Utilities/dismissKeyboard.js +++ b/packages/react-native/Libraries/Utilities/dismissKeyboard.js @@ -19,4 +19,4 @@ function dismissKeyboard() { TextInputState.blurTextInput(TextInputState.currentlyFocusedInput()); } -module.exports = dismissKeyboard; +export default dismissKeyboard; diff --git a/packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap b/packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap index 8142087b19f3..18224a390417 100644 --- a/packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap +++ b/packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap @@ -8156,7 +8156,7 @@ declare module.exports: { exports[`public API should not change unintentionally Libraries/Utilities/GlobalPerformanceLogger.js 1`] = ` "declare const GlobalPerformanceLogger: IPerformanceLogger; -declare module.exports: GlobalPerformanceLogger; +declare export default typeof GlobalPerformanceLogger; " `; @@ -8434,7 +8434,7 @@ declare const SceneTracker: { ... }, }; -declare module.exports: SceneTracker; +declare export default typeof SceneTracker; " `; @@ -8555,7 +8555,7 @@ declare export default typeof sizesDiffer; exports[`public API should not change unintentionally Libraries/Utilities/dismissKeyboard.js 1`] = ` "declare function dismissKeyboard(): void; -declare module.exports: dismissKeyboard; +declare export default typeof dismissKeyboard; " `; diff --git a/packages/react-native/src/private/inspector/PerformanceOverlay.js b/packages/react-native/src/private/inspector/PerformanceOverlay.js index d76035caf6f0..6b33b23b0325 100644 --- a/packages/react-native/src/private/inspector/PerformanceOverlay.js +++ b/packages/react-native/src/private/inspector/PerformanceOverlay.js @@ -15,7 +15,8 @@ import React from 'react'; const View = require('../../../Libraries/Components/View/View').default; const StyleSheet = require('../../../Libraries/StyleSheet/StyleSheet').default; const Text = require('../../../Libraries/Text/Text').default; -const PerformanceLogger = require('../../../Libraries/Utilities/GlobalPerformanceLogger'); +const PerformanceLogger = + require('../../../Libraries/Utilities/GlobalPerformanceLogger').default; class PerformanceOverlay extends React.Component<{...}> { render(): React.Node {