Skip to content

Commit 52ffda7

Browse files
iwoplazafacebook-github-bot
authored andcommitted
Migrate Libraries/Utilities/*.js to use export syntax. (#48665)
Summary: Pull Request resolved: #48665 ## Motivation Modernising the react-native codebase to allow for ingestion by modern Flow tooling ## This diff - Updates files in Libraries/Utilities to use `export` syntax - `export default` for qualified objects, many `export` statements for collections (determined by how it's imported) - Appends `.default` to requires of the changed files. - Updates Jest mocks of the `Platform` module, which happened to touch a lot of test files. - Updates the public API snapshot (intented breaking change) Changelog: [General][Breaking] - Files inside `Libraries/Utilities` use `export` syntax, which requires the addition of `.default` when imported with the CJS `require` syntax. Reviewed By: huntie Differential Revision: D68152910 fbshipit-source-id: 07f3a0957f1dbaf44f53974c6f28b273558406eb
1 parent 1be7e1a commit 52ffda7

File tree

88 files changed

+178
-163
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+178
-163
lines changed

packages/react-native/Libraries/BatchedBridge/MessageQueue.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@
1111
'use strict';
1212

1313
const Systrace = require('../Performance/Systrace');
14-
const deepFreezeAndThrowOnMutationInDev = require('../Utilities/deepFreezeAndThrowOnMutationInDev');
14+
const deepFreezeAndThrowOnMutationInDev =
15+
require('../Utilities/deepFreezeAndThrowOnMutationInDev').default;
1516
const stringifySafe = require('../Utilities/stringifySafe').default;
16-
const warnOnce = require('../Utilities/warnOnce');
17+
const warnOnce = require('../Utilities/warnOnce').default;
1718
const ErrorUtils = require('../vendor/core/ErrorUtils').default;
1819
const invariant = require('invariant');
1920

packages/react-native/Libraries/BatchedBridge/NativeModules.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,8 @@ if (global.nativeModuleProxy) {
187187
'__fbBatchedBridgeConfig is not set, cannot invoke native modules',
188188
);
189189

190-
const defineLazyObjectProperty = require('../Utilities/defineLazyObjectProperty');
190+
const defineLazyObjectProperty =
191+
require('../Utilities/defineLazyObjectProperty').default;
191192
(bridgeConfig.remoteModuleConfig || []).forEach(
192193
(config: ModuleConfig, moduleID: number) => {
193194
// Initially this config will only contain the module name when running in JSC. The actual

packages/react-native/Libraries/Components/Keyboard/__tests__/Keyboard-test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
*/
1111

1212
const LayoutAnimation = require('../../../LayoutAnimation/LayoutAnimation');
13-
const dismissKeyboard = require('../../../Utilities/dismissKeyboard');
13+
const dismissKeyboard = require('../../../Utilities/dismissKeyboard').default;
1414
const Keyboard = require('../Keyboard').default;
1515

1616
jest.mock('../../../LayoutAnimation/LayoutAnimation');

packages/react-native/Libraries/Components/LayoutConformance/LayoutConformance.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ function LayoutConformance(props: Props): React.Node {
3737

3838
function UnimplementedLayoutConformance(props: Props): React.Node {
3939
if (__DEV__) {
40-
const warnOnce = require('../../Utilities/warnOnce');
40+
const warnOnce = require('../../Utilities/warnOnce').default;
4141

4242
warnOnce(
4343
'layoutconformance-unsupported',

packages/react-native/Libraries/Components/RefreshControl/RefreshControl.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import PullToRefreshViewNativeComponent, {
1919
} from './PullToRefreshViewNativeComponent';
2020
import React from 'react';
2121

22-
const Platform = require('../../Utilities/Platform');
22+
const Platform = require('../../Utilities/Platform').default;
2323

2424
type IOSProps = $ReadOnly<{
2525
/**

packages/react-native/Libraries/Components/ScrollView/ScrollViewNativeComponent.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
4242
},
4343
validAttributes: {
4444
contentOffset: {
45-
diff: require('../../Utilities/differ/pointsDiffer'),
45+
diff: require('../../Utilities/differ/pointsDiffer').default,
4646
},
4747
decelerationRate: true,
4848
disableIntervalMomentum: true,
@@ -126,10 +126,10 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
126126
canCancelContentTouches: true,
127127
centerContent: true,
128128
contentInset: {
129-
diff: require('../../Utilities/differ/insetsDiffer'),
129+
diff: require('../../Utilities/differ/insetsDiffer').default,
130130
},
131131
contentOffset: {
132-
diff: require('../../Utilities/differ/pointsDiffer'),
132+
diff: require('../../Utilities/differ/pointsDiffer').default,
133133
},
134134
contentInsetAdjustmentBehavior: true,
135135
decelerationRate: true,
@@ -147,7 +147,7 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
147147
scrollEnabled: true,
148148
scrollEventThrottle: true,
149149
scrollIndicatorInsets: {
150-
diff: require('../../Utilities/differ/insetsDiffer'),
150+
diff: require('../../Utilities/differ/insetsDiffer').default,
151151
},
152152
scrollToOverflowEnabled: true,
153153
scrollsToTop: true,
@@ -159,7 +159,7 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
159159
snapToOffsets: true,
160160
snapToStart: true,
161161
verticalScrollIndicatorInsets: {
162-
diff: require('../../Utilities/differ/insetsDiffer'),
162+
diff: require('../../Utilities/differ/insetsDiffer').default,
163163
},
164164
zoomScale: true,
165165
...ConditionallyIgnoredEventHandlers({

packages/react-native/Libraries/Components/TextInput/RCTTextInputViewConfig.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,9 @@ const RCTTextInputViewConfig = {
9797
fontSize: true,
9898
fontWeight: true,
9999
fontVariant: true,
100-
// flowlint-next-line untyped-import:off
101-
textShadowOffset: {diff: require('../../Utilities/differ/sizesDiffer')},
100+
textShadowOffset: {
101+
diff: require('../../Utilities/differ/sizesDiffer').default,
102+
},
102103
allowFontScaling: true,
103104
fontStyle: true,
104105
textTransform: true,

packages/react-native/Libraries/Components/TextInput/TextInputState.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import {Commands as AndroidTextInputCommands} from '../../Components/TextInput/A
2323
import {Commands as iOSTextInputCommands} from '../../Components/TextInput/RCTSingelineTextInputNativeComponent';
2424

2525
const {findNodeHandle} = require('../../ReactNative/RendererProxy');
26-
const Platform = require('../../Utilities/Platform');
26+
const Platform = require('../../Utilities/Platform').default;
2727

2828
let currentlyFocusedInputRef: ?HostInstance = null;
2929
const inputs = new Set<{

packages/react-native/Libraries/Core/InitializeCore.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@ if (__DEV__) {
5151

5252
require('../ReactNative/AppRegistry');
5353

54-
const GlobalPerformanceLogger = require('../Utilities/GlobalPerformanceLogger');
54+
const GlobalPerformanceLogger =
55+
require('../Utilities/GlobalPerformanceLogger').default;
5556
// We could just call GlobalPerformanceLogger.markPoint at the top of the file,
5657
// but then we'd be excluding the time it took to require the logger.
5758
// Instead, we just use Date.now and backdate the timestamp.

packages/react-native/Libraries/Core/setUpBatchedBridge.js

+9-5
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,24 @@ registerModule('Systrace', () => require('../Performance/Systrace'));
1616
if (!(global.RN$Bridgeless === true)) {
1717
registerModule('JSTimers', () => require('./Timers/JSTimers').default);
1818
}
19-
registerModule('RCTLog', () => require('../Utilities/RCTLog'));
19+
registerModule('RCTLog', () => require('../Utilities/RCTLog').default);
2020
registerModule(
2121
'RCTDeviceEventEmitter',
2222
() => require('../EventEmitter/RCTDeviceEventEmitter').default,
2323
);
2424
registerModule('RCTNativeAppEventEmitter', () =>
2525
require('../EventEmitter/RCTNativeAppEventEmitter'),
2626
);
27-
registerModule('GlobalPerformanceLogger', () =>
28-
require('../Utilities/GlobalPerformanceLogger'),
27+
registerModule(
28+
'GlobalPerformanceLogger',
29+
() => require('../Utilities/GlobalPerformanceLogger').default,
2930
);
3031

3132
if (__DEV__) {
32-
registerModule('HMRClient', () => require('../Utilities/HMRClient'));
33+
registerModule('HMRClient', () => require('../Utilities/HMRClient').default);
3334
} else {
34-
registerModule('HMRClient', () => require('../Utilities/HMRClientProdShim'));
35+
registerModule(
36+
'HMRClient',
37+
() => require('../Utilities/HMRClientProdShim').default,
38+
);
3539
}

packages/react-native/Libraries/Core/setUpDeveloperTools.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ if (__DEV__) {
3838
global.navigator.appName === 'Netscape'; // Any real browser
3939

4040
if (!Platform.isTesting) {
41-
const HMRClient = require('../Utilities/HMRClient');
41+
const HMRClient = require('../Utilities/HMRClient').default;
4242

4343
if (global.__FUSEBOX_HAS_FULL_CONSOLE_SUPPORT__) {
4444
HMRClient.unstable_notifyFuseboxConsoleEnabled();

packages/react-native/Libraries/Core/setUpReactRefresh.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
'use strict';
1212

1313
if (__DEV__) {
14-
const DevSettings = require('../Utilities/DevSettings');
14+
const DevSettings = require('../Utilities/DevSettings').default;
1515

1616
if (typeof DevSettings.reload !== 'function') {
1717
throw new Error('Could not find the reload() implementation.');

packages/react-native/Libraries/Image/AssetSourceResolver.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import type {
2424
} from '@react-native/assets-registry/registry';
2525

2626
const PixelRatio = require('../Utilities/PixelRatio').default;
27-
const Platform = require('../Utilities/Platform');
27+
const Platform = require('../Utilities/Platform').default;
2828
const {pickScale} = require('./AssetUtils');
2929
const {
3030
getAndroidResourceFolderName,

packages/react-native/Libraries/Image/ImageViewNativeComponent.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
143143
validAttributes: {
144144
blurRadius: true,
145145
capInsets: {
146-
diff: require('../Utilities/differ/insetsDiffer'),
146+
diff: require('../Utilities/differ/insetsDiffer').default,
147147
},
148148
defaultSource: {
149149
process: require('./resolveAssetSource'),

packages/react-native/Libraries/Image/__tests__/resolveAssetSource-test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ describe('resolveAssetSource', () => {
2323
resolveAssetSource = require('../resolveAssetSource');
2424
NativeSourceCode =
2525
require('../../NativeModules/specs/NativeSourceCode').default;
26-
Platform = require('../../Utilities/Platform');
26+
Platform = require('../../Utilities/Platform').default;
2727
});
2828

2929
it('returns same source for simple static and network images', () => {

packages/react-native/Libraries/Inspector/ElementProperties.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ const View = require('../Components/View/View');
2323
const flattenStyle = require('../StyleSheet/flattenStyle');
2424
const StyleSheet = require('../StyleSheet/StyleSheet');
2525
const Text = require('../Text/Text').default;
26-
const mapWithSeparator = require('../Utilities/mapWithSeparator');
26+
const mapWithSeparator = require('../Utilities/mapWithSeparator').default;
2727
const BoxInspector = require('./BoxInspector');
2828
const StyleInspector = require('./StyleInspector');
2929

packages/react-native/Libraries/Inspector/Inspector.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ const PressabilityDebug = require('../Pressability/PressabilityDebug');
2626
const {findNodeHandle} = require('../ReactNative/RendererProxy');
2727
const StyleSheet = require('../StyleSheet/StyleSheet');
2828
const Dimensions = require('../Utilities/Dimensions').default;
29-
const Platform = require('../Utilities/Platform');
29+
const Platform = require('../Utilities/Platform').default;
3030
const getInspectorDataForViewAtPoint = require('./getInspectorDataForViewAtPoint');
3131
const InspectorOverlay = require('./InspectorOverlay');
3232
const InspectorPanel = require('./InspectorPanel');

packages/react-native/Libraries/Inspector/PerformanceOverlay.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ import React from 'react';
1515
const View = require('../Components/View/View');
1616
const StyleSheet = require('../StyleSheet/StyleSheet');
1717
const Text = require('../Text/Text').default;
18-
const PerformanceLogger = require('../Utilities/GlobalPerformanceLogger');
18+
const PerformanceLogger =
19+
require('../Utilities/GlobalPerformanceLogger').default;
1920

2021
class PerformanceOverlay extends React.Component<{...}> {
2122
render(): React.Node {

packages/react-native/Libraries/Interaction/InteractionManager.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNa
1414
import EventEmitter from '../vendor/emitter/EventEmitter';
1515

1616
const BatchedBridge = require('../BatchedBridge/BatchedBridge').default;
17-
const infoLog = require('../Utilities/infoLog');
17+
const infoLog = require('../Utilities/infoLog').default;
1818
const TaskQueue = require('./TaskQueue');
1919
const invariant = require('invariant');
2020

packages/react-native/Libraries/Interaction/JSEventLoopWatchdog.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
'use strict';
1212

13-
const infoLog = require('../Utilities/infoLog');
13+
const infoLog = require('../Utilities/infoLog').default;
1414

1515
type Handler = {
1616
onIterate?: () => void,

packages/react-native/Libraries/Interaction/TaskQueue.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
'use strict';
1212

13-
const infoLog = require('../Utilities/infoLog');
13+
const infoLog = require('../Utilities/infoLog').default;
1414
const invariant = require('invariant');
1515

1616
type SimpleTask = {

packages/react-native/Libraries/Lists/FlatList.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ import memoizeOne from 'memoize-one';
2828
import React from 'react';
2929

3030
const StyleSheet = require('../StyleSheet/StyleSheet');
31-
const deepDiffer = require('../Utilities/differ/deepDiffer');
32-
const Platform = require('../Utilities/Platform');
31+
const deepDiffer = require('../Utilities/differ/deepDiffer').default;
32+
const Platform = require('../Utilities/Platform').default;
3333
const invariant = require('invariant');
3434

3535
type RequiredProps<ItemT> = {

packages/react-native/Libraries/Modal/Modal.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ const AppContainer = require('../ReactNative/AppContainer');
2626
const I18nManager = require('../ReactNative/I18nManager');
2727
const {RootTagContext} = require('../ReactNative/RootTag');
2828
const StyleSheet = require('../StyleSheet/StyleSheet');
29-
const Platform = require('../Utilities/Platform');
29+
const Platform = require('../Utilities/Platform').default;
3030

3131
type ModalEventDefinitions = {
3232
modalDismissed: [{modalID: number}],

packages/react-native/Libraries/NativeComponent/BaseViewConfig.ios.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -201,13 +201,13 @@ const validAttributesForNonEventProps = {
201201
cursor: true,
202202
opacity: true,
203203
shadowColor: {process: require('../StyleSheet/processColor').default},
204-
shadowOffset: {diff: require('../Utilities/differ/sizesDiffer')},
204+
shadowOffset: {diff: require('../Utilities/differ/sizesDiffer').default},
205205
shadowOpacity: true,
206206
shadowRadius: true,
207207
needsOffscreenAlphaCompositing: true,
208208
overflow: true,
209209
shouldRasterizeIOS: true,
210-
transform: {diff: require('../Utilities/differ/matricesDiffer')},
210+
transform: {diff: require('../Utilities/differ/matricesDiffer').default},
211211
transformOrigin: true,
212212
accessibilityRole: true,
213213
accessibilityState: true,
@@ -222,7 +222,7 @@ const validAttributesForNonEventProps = {
222222
borderWidth: true,
223223
borderBlockWidth: true,
224224
borderStyle: true,
225-
hitSlop: {diff: require('../Utilities/differ/insetsDiffer')},
225+
hitSlop: {diff: require('../Utilities/differ/insetsDiffer').default},
226226
collapsable: true,
227227
collapsableChildren: true,
228228
filter: {

packages/react-native/Libraries/Network/XMLHttpRequest.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ import {type EventSubscription} from '../vendor/emitter/EventEmitter';
1616
import EventTarget from 'event-target-shim';
1717

1818
const BlobManager = require('../Blob/BlobManager').default;
19-
const GlobalPerformanceLogger = require('../Utilities/GlobalPerformanceLogger');
19+
const GlobalPerformanceLogger =
20+
require('../Utilities/GlobalPerformanceLogger').default;
2021
const RCTNetworking = require('./RCTNetworking').default;
2122
const base64 = require('base64-js');
2223
const invariant = require('invariant');

packages/react-native/Libraries/Network/__tests__/XMLHttpRequest-test.js

+10-3
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,19 @@
1212

1313
const createPerformanceLogger =
1414
require('../../Utilities/createPerformanceLogger').default;
15-
const GlobalPerformanceLogger = require('../../Utilities/GlobalPerformanceLogger');
16-
const Platform = require('../../Utilities/Platform');
15+
const GlobalPerformanceLogger =
16+
require('../../Utilities/GlobalPerformanceLogger').default;
17+
const Platform = require('../../Utilities/Platform').default;
1718
const XMLHttpRequest = require('../XMLHttpRequest');
1819

1920
jest.unmock('../../Utilities/Platform');
20-
jest.mock('../../Utilities/GlobalPerformanceLogger');
21+
jest
22+
.spyOn(GlobalPerformanceLogger, 'startTimespan')
23+
.mockImplementation(() => {});
24+
jest
25+
.spyOn(GlobalPerformanceLogger, 'stopTimespan')
26+
.mockImplementation(() => {});
27+
2128
let requestId = 1;
2229
function setRequestId(id) {
2330
if (Platform.OS === 'ios') {

packages/react-native/Libraries/Network/convertRequestBody.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import typeof BlobT from '../Blob/Blob';
1414

1515
const Blob: BlobT = require('../Blob/Blob').default;
16-
const binaryToBase64 = require('../Utilities/binaryToBase64');
16+
const binaryToBase64 = require('../Utilities/binaryToBase64').default;
1717
const FormData = require('./FormData');
1818

1919
export type RequestBody =

packages/react-native/Libraries/PermissionsAndroid/PermissionsAndroid.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import NativeDialogManagerAndroid from '../NativeModules/specs/NativeDialogManag
1717
import NativePermissionsAndroid from './NativePermissionsAndroid';
1818
import invariant from 'invariant';
1919

20-
const Platform = require('../Utilities/Platform');
20+
const Platform = require('../Utilities/Platform').default;
2121

2222
export type Rationale = {
2323
title: string,

packages/react-native/Libraries/Pressability/__tests__/Pressability-test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import type {PressEvent} from '../../Types/CoreEventTypes';
1616
import type {PressabilityConfig} from '../Pressability';
1717

1818
const UIManager = require('../../ReactNative/UIManager');
19-
const Platform = require('../../Utilities/Platform');
19+
const Platform = require('../../Utilities/Platform').default;
2020
const HoverState = require('../HoverState');
2121
const Pressability = require('../Pressability').default;
2222
const invariant = require('invariant');

packages/react-native/Libraries/ReactNative/PaperUIManager.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@ import NativeUIManager from './NativeUIManager';
1515
import nullthrows from 'nullthrows';
1616

1717
const NativeModules = require('../BatchedBridge/NativeModules').default;
18-
const defineLazyObjectProperty = require('../Utilities/defineLazyObjectProperty');
19-
const Platform = require('../Utilities/Platform');
18+
const defineLazyObjectProperty =
19+
require('../Utilities/defineLazyObjectProperty').default;
20+
const Platform = require('../Utilities/Platform').default;
2021
const UIManagerProperties = require('./UIManagerProperties');
2122

2223
const viewManagerConfigs: {[string]: any | null} = {};

packages/react-native/Libraries/ReactNative/getNativeComponentAttributes.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ const processBackgroundImage =
1919
const processColor = require('../StyleSheet/processColor').default;
2020
const processColorArray = require('../StyleSheet/processColorArray');
2121
const processFilter = require('../StyleSheet/processFilter').default;
22-
const insetsDiffer = require('../Utilities/differ/insetsDiffer');
23-
const matricesDiffer = require('../Utilities/differ/matricesDiffer');
24-
const pointsDiffer = require('../Utilities/differ/pointsDiffer');
25-
const sizesDiffer = require('../Utilities/differ/sizesDiffer');
22+
const insetsDiffer = require('../Utilities/differ/insetsDiffer').default;
23+
const matricesDiffer = require('../Utilities/differ/matricesDiffer').default;
24+
const pointsDiffer = require('../Utilities/differ/pointsDiffer').default;
25+
const sizesDiffer = require('../Utilities/differ/sizesDiffer').default;
2626
const UIManager = require('./UIManager');
2727
const nullthrows = require('nullthrows');
2828

0 commit comments

Comments
 (0)