Skip to content

Commit 754bab6

Browse files
committed
fix: Metro inline-plugin doesn't support relative ES imports of Platform and it cause dead-code in production
1 parent 8bcfb3b commit 754bab6

57 files changed

Lines changed: 105 additions & 58 deletions

File tree

Some content is hidden

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

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@
1010

1111
import type {DialogOptions} from '../NativeModules/specs/NativeDialogManagerAndroid';
1212

13-
import Platform from '../Utilities/Platform';
1413
import {alertWithArgs} from './RCTAlertManager';
1514

15+
const Platform = require('../Utilities/Platform').default;
16+
1617
/**
1718
* @platform ios
1819
*/

packages/react-native/Libraries/Animated/AnimatedExports.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@ import typeof AnimatedSectionList from './components/AnimatedSectionList';
1515
import typeof AnimatedText from './components/AnimatedText';
1616
import typeof AnimatedView from './components/AnimatedView';
1717

18-
import Platform from '../Utilities/Platform';
1918
import AnimatedImplementation from './AnimatedImplementation';
2019
import AnimatedMock from './AnimatedMock';
2120

21+
const Platform = require('../Utilities/Platform').default;
22+
2223
const Animated: typeof AnimatedImplementation = Platform.isDisableAnimations
2324
? AnimatedMock
2425
: AnimatedImplementation;

packages/react-native/Libraries/Animated/components/AnimatedScrollView.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,14 @@ import ScrollView, {
2121
import flattenStyle from '../../StyleSheet/flattenStyle';
2222
import splitLayoutProps from '../../StyleSheet/splitLayoutProps';
2323
import StyleSheet from '../../StyleSheet/StyleSheet';
24-
import Platform from '../../Utilities/Platform';
2524
import useMergeRefs from '../../Utilities/useMergeRefs';
2625
import createAnimatedComponent from '../createAnimatedComponent';
2726
import useAnimatedProps from '../useAnimatedProps';
2827
import * as React from 'react';
2928
import {cloneElement, useMemo} from 'react';
3029

30+
const Platform = require('../../Utilities/Platform').default;
31+
3132
type AnimatedScrollViewInstance = React.ElementRef<typeof ScrollView>;
3233

3334
/**

packages/react-native/Libraries/Animated/nodes/AnimatedStyle.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,13 @@ import type {AnimatedNodeConfig} from './AnimatedNode';
1313

1414
import {validateStyles} from '../../../src/private/animated/NativeAnimatedValidation';
1515
import * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags';
16-
import Platform from '../../Utilities/Platform';
1716
import AnimatedNode from './AnimatedNode';
1817
import AnimatedObject from './AnimatedObject';
1918
import AnimatedTransform from './AnimatedTransform';
2019
import AnimatedWithChildren from './AnimatedWithChildren';
2120

21+
const Platform = require('../../Utilities/Platform').default;
22+
2223
export type AnimatedStyleAllowlist = Readonly<{[string]: true}>;
2324

2425
type FlatStyle = {[string]: unknown};

packages/react-native/Libraries/Animated/shouldUseTurboAnimatedModule.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
*/
1010

1111
import * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags';
12-
import Platform from '../Utilities/Platform';
12+
13+
const Platform = require('../Utilities/Platform').default;
1314

1415
function shouldUseTurboAnimatedModule(): boolean {
1516
if (ReactNativeFeatureFlags.cxxNativeAnimatedEnabled()) {

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,11 @@
1010

1111
import NativeEventEmitter from '../EventEmitter/NativeEventEmitter';
1212
import logError from '../Utilities/logError';
13-
import Platform from '../Utilities/Platform';
1413
import {type EventSubscription} from '../vendor/emitter/EventEmitter';
1514
import NativeAppState from './NativeAppState';
1615

16+
const Platform = require('../Utilities/Platform').default;
17+
1718
/**
1819
* active - The app is running in the foreground
1920
* background - The app is running in the background. The user is either:

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ import type {EventSubscription} from '../../vendor/emitter/EventEmitter';
1313

1414
import RCTDeviceEventEmitter from '../../EventEmitter/RCTDeviceEventEmitter';
1515
import {sendAccessibilityEvent} from '../../ReactNative/RendererProxy';
16-
import Platform from '../../Utilities/Platform';
1716
import legacySendAccessibilityEvent from './legacySendAccessibilityEvent';
1817
import NativeAccessibilityInfoAndroid from './NativeAccessibilityInfo';
1918
import NativeAccessibilityManagerIOS from './NativeAccessibilityManager';
2019

20+
const Platform = require('../../Utilities/Platform').default;
21+
2122
// Events that are only supported on Android.
2223
type AccessibilityEventDefinitionsAndroid = {
2324
accessibilityServiceChanged: [boolean],

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,11 @@ import type {HostInstance} from '../../../src/private/types/HostInstance';
1313
import type {ViewProps} from '../View/ViewPropTypes';
1414

1515
import StyleSheet, {type ColorValue} from '../../StyleSheet/StyleSheet';
16-
import Platform from '../../Utilities/Platform';
1716
import View from '../View/View';
1817
import * as React from 'react';
1918

19+
const Platform = require('../../Utilities/Platform').default;
20+
2021
export type ActivityIndicatorInstance = HostInstance;
2122

2223
const PlatformActivityIndicator =

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,14 @@ import type {
2020

2121
import StyleSheet, {type ColorValue} from '../StyleSheet/StyleSheet';
2222
import Text from '../Text/Text';
23-
import Platform from '../Utilities/Platform';
2423
import TouchableNativeFeedback from './Touchable/TouchableNativeFeedback';
2524
import TouchableOpacity from './Touchable/TouchableOpacity';
2625
import View from './View/View';
2726
import invariant from 'invariant';
2827
import * as React from 'react';
2928

29+
const Platform = require('../Utilities/Platform').default;
30+
3031
/** @build-types emit-as-interface Uniwind compatibility */
3132
export type ButtonProps = Readonly<{
3233
/**

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ import type {EventSubscription} from '../../vendor/emitter/EventEmitter';
1313
import NativeEventEmitter from '../../EventEmitter/NativeEventEmitter';
1414
import LayoutAnimation from '../../LayoutAnimation/LayoutAnimation';
1515
import dismissKeyboard from '../../Utilities/dismissKeyboard';
16-
import Platform from '../../Utilities/Platform';
1716
import NativeKeyboardObserver from './NativeKeyboardObserver';
1817

18+
const Platform = require('../../Utilities/Platform').default;
19+
1920
export type KeyboardEventName = keyof KeyboardEventDefinitions;
2021

2122
export type KeyboardEventEasing =

0 commit comments

Comments
 (0)