Skip to content

Commit 1be7e1a

Browse files
iwoplazafacebook-github-bot
authored andcommitted
Migrate Libraries/Text, Libraries/Share and Libraries/Settings to use export syntax (#48901)
Summary: Pull Request resolved: #48901 ## Motivation Modernising the react-native codebase to allow for ingestion by modern Flow tooling. ## This diff - Updates files in `Libraries/Text`, `Libraries/Share` and `Libraries/Settings` to use `export` syntax. - Appends `.default` to requires of the changed files. - Updates test files. - Updates the public API snapshot *(intented breaking change)* Changelog: [General][Breaking] - Files inside `Libraries/Text`, `Libraries/Share` and `Libraries/Settings` use `export` syntax, which requires the addition of `.default` when imported with the CJS `require` syntax. Reviewed By: huntie Differential Revision: D68562844 fbshipit-source-id: bd71a341e33d3629121aa61549139c4b1cd62c3f
1 parent b578647 commit 1be7e1a

File tree

20 files changed

+33
-27
lines changed

20 files changed

+33
-27
lines changed

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
import SafeAreaView from '../SafeAreaView';
1515

16-
const Text = require('../../../Text/Text');
16+
const Text = require('../../../Text/Text').default;
1717
const ReactNativeTestTools = require('../../../Utilities/ReactNativeTestTools');
1818
const View = require('../../View/View');
1919
const React = require('react');

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

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

1414
const {create, unmount, update} = require('../../../../jest/renderer');
15-
const Text = require('../../../Text/Text');
15+
const Text = require('../../../Text/Text').default;
1616
const ReactNativeTestTools = require('../../../Utilities/ReactNativeTestTools');
1717
const View = require('../../View/View');
1818
const ScrollView = require('../ScrollView').default;

packages/react-native/Libraries/Components/Touchable/__tests__/TouchableOpacity-test.js

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

1313
const {create} = require('../../../../jest/renderer');
14-
const Text = require('../../../Text/Text');
14+
const Text = require('../../../Text/Text').default;
1515
const TouchableOpacity = require('../TouchableOpacity').default;
1616
const React = require('react');
1717

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import React from 'react';
1717

1818
const View = require('../Components/View/View');
1919
const StyleSheet = require('../StyleSheet/StyleSheet');
20-
const Text = require('../Text/Text');
20+
const Text = require('../Text/Text').default;
2121
const resolveBoxStyle = require('./resolveBoxStyle');
2222

2323
const blank = {

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ const TouchableWithoutFeedback =
2222
const View = require('../Components/View/View');
2323
const flattenStyle = require('../StyleSheet/flattenStyle');
2424
const StyleSheet = require('../StyleSheet/StyleSheet');
25-
const Text = require('../Text/Text');
25+
const Text = require('../Text/Text').default;
2626
const mapWithSeparator = require('../Utilities/mapWithSeparator');
2727
const BoxInspector = require('./BoxInspector');
2828
const StyleInspector = require('./StyleInspector');

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const TouchableHighlight =
2020
require('../Components/Touchable/TouchableHighlight').default;
2121
const View = require('../Components/View/View');
2222
const StyleSheet = require('../StyleSheet/StyleSheet');
23-
const Text = require('../Text/Text');
23+
const Text = require('../Text/Text').default;
2424
const ElementProperties = require('./ElementProperties');
2525
const NetworkOverlay = require('./NetworkOverlay');
2626
const PerformanceOverlay = require('./PerformanceOverlay');

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const View = require('../Components/View/View');
2121
const FlatList = require('../Lists/FlatList');
2222
const XHRInterceptor = require('../Network/XHRInterceptor');
2323
const StyleSheet = require('../StyleSheet/StyleSheet');
24-
const Text = require('../Text/Text');
24+
const Text = require('../Text/Text').default;
2525
const WebSocketInterceptor =
2626
require('../WebSocket/WebSocketInterceptor').default;
2727

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import React from 'react';
1414

1515
const View = require('../Components/View/View');
1616
const StyleSheet = require('../StyleSheet/StyleSheet');
17-
const Text = require('../Text/Text');
17+
const Text = require('../Text/Text').default;
1818
const PerformanceLogger = require('../Utilities/GlobalPerformanceLogger');
1919

2020
class PerformanceOverlay extends React.Component<{...}> {

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import React from 'react';
1717

1818
const View = require('../Components/View/View');
1919
const StyleSheet = require('../StyleSheet/StyleSheet');
20-
const Text = require('../Text/Text');
20+
const Text = require('../Text/Text').default;
2121

2222
type Props = $ReadOnly<{
2323
style?: ?____FlattenStyleProp_Internal<ViewStyleProp>,

packages/react-native/Libraries/Settings/Settings.ios.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -78,4 +78,4 @@ RCTDeviceEventEmitter.addListener(
7878
Settings._sendObservations.bind(Settings),
7979
);
8080

81-
module.exports = Settings;
81+
export default Settings;

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@ const Settings = {
3030
},
3131
};
3232

33-
module.exports = Settings;
33+
export default Settings;

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -168,4 +168,4 @@ class Share {
168168
static dismissedAction: 'dismissedAction' = 'dismissedAction';
169169
}
170170

171-
module.exports = Share;
171+
export default Share;

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -534,4 +534,4 @@ const verticalAlignToTextAlignVerticalMap = {
534534
middle: 'center',
535535
};
536536

537-
module.exports = Text;
537+
export default Text;

packages/react-native/Libraries/Text/TextAncestor.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ const TextAncestorContext: React$Context<boolean> = React.createContext(false);
1919
if (__DEV__) {
2020
TextAncestorContext.displayName = 'TextAncestorContext';
2121
}
22-
module.exports = TextAncestorContext;
22+
export default TextAncestorContext;

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import flattenStyle from '../../StyleSheet/flattenStyle';
1414
import React from 'react';
1515

1616
const render = require('../../../jest/renderer');
17-
const Text = require('../Text');
17+
const Text = require('../Text').default;
1818

1919
jest.unmock('../Text');
2020
jest.unmock('../TextNativeComponent');

packages/react-native/Libraries/Utilities/ReactNativeTestTools.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import ReactTestRenderer from 'react-test-renderer';
2020
const Switch = require('../Components/Switch/Switch').default;
2121
const TextInput = require('../Components/TextInput/TextInput');
2222
const View = require('../Components/View/View');
23-
const Text = require('../Text/Text');
23+
const Text = require('../Text/Text').default;
2424
const {VirtualizedList} = require('@react-native/virtualized-lists');
2525

2626
export type ReactTestInstance = $PropertyType<ReactTestRendererType, 'root'>;

packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap

+4-4
Original file line numberDiff line numberDiff line change
@@ -7724,7 +7724,7 @@ exports[`public API should not change unintentionally Libraries/Settings/Setting
77247724
watchKeys(keys: string | Array<string>, callback: Function): number,
77257725
clearWatch(watchId: number): void,
77267726
};
7727-
declare module.exports: Settings;
7727+
declare export default typeof Settings;
77287728
"
77297729
`;
77307730

@@ -7761,7 +7761,7 @@ declare class Share {
77617761
static sharedAction: \\"sharedAction\\";
77627762
static dismissedAction: \\"dismissedAction\\";
77637763
}
7764-
declare module.exports: Share;
7764+
declare export default typeof Share;
77657765
"
77667766
`;
77677767

@@ -8447,13 +8447,13 @@ declare const Text: component(
84478447
ref: React.RefSetter<TextForwardRef>,
84488448
...props: TextProps
84498449
);
8450-
declare module.exports: Text;
8450+
declare export default typeof Text;
84518451
"
84528452
`;
84538453

84548454
exports[`public API should not change unintentionally Libraries/Text/TextAncestor.js 1`] = `
84558455
"declare const TextAncestorContext: React$Context<boolean>;
8456-
declare module.exports: TextAncestorContext;
8456+
declare export default typeof TextAncestorContext;
84578457
"
84588458
`;
84598459

packages/react-native/index.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ module.exports = {
183183
return require('./Libraries/Components/Switch/Switch').default;
184184
},
185185
get Text(): Text {
186-
return require('./Libraries/Text/Text');
186+
return require('./Libraries/Text/Text').default;
187187
},
188188
get TextInput(): TextInput {
189189
return require('./Libraries/Components/TextInput/TextInput');
@@ -315,10 +315,10 @@ module.exports = {
315315
return require('./Libraries/PushNotificationIOS/PushNotificationIOS');
316316
},
317317
get Settings(): Settings {
318-
return require('./Libraries/Settings/Settings');
318+
return require('./Libraries/Settings/Settings').default;
319319
},
320320
get Share(): Share {
321-
return require('./Libraries/Share/Share');
321+
return require('./Libraries/Share/Share').default;
322322
},
323323
get StyleSheet(): StyleSheet {
324324
return require('./Libraries/StyleSheet/StyleSheet');

packages/react-native/jest/setup.js

+8-3
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,14 @@ jest
120120
.mock('../Libraries/Image/Image', () =>
121121
mockComponent('../Libraries/Image/Image'),
122122
)
123-
.mock('../Libraries/Text/Text', () =>
124-
mockComponent('../Libraries/Text/Text', MockNativeMethods),
125-
)
123+
.mock('../Libraries/Text/Text', () => ({
124+
__esModule: true,
125+
default: mockComponent(
126+
'../Libraries/Text/Text',
127+
MockNativeMethods,
128+
/* isESModule */ true,
129+
),
130+
}))
126131
.mock('../Libraries/Components/TextInput/TextInput', () =>
127132
mockComponent('../Libraries/Components/TextInput/TextInput', {
128133
...MockNativeMethods,

packages/rn-tester/js/examples/Text/TextExample.ios.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ const {
2626
TextInput,
2727
View,
2828
} = require('react-native');
29-
const TextAncestor = require('react-native/Libraries/Text/TextAncestor');
29+
const TextAncestor =
30+
require('react-native/Libraries/Text/TextAncestor').default;
3031

3132
// TODO: Is there a cleaner way to flip the TextAncestor value to false? I
3233
// suspect apps won't even be able to leverage this workaround because

0 commit comments

Comments
 (0)