From fa68cb45482cc5f15b41ae388a538d11c8f3d306 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Fri, 21 Jun 2019 02:11:29 +0100 Subject: [PATCH 1/2] [Flare] Move createEvent back to React object --- packages/react-dom/src/client/ReactDOM.js | 10 +--------- .../__tests__/DOMEventResponderSystem-test.internal.js | 5 +---- packages/react-dom/src/fire/ReactFire.js | 6 ------ packages/react-events/README.md | 4 ++-- packages/react-events/src/Drag.js | 4 ++-- packages/react-events/src/Focus.js | 4 ++-- packages/react-events/src/FocusScope.js | 4 ++-- packages/react-events/src/Hover.js | 4 ++-- packages/react-events/src/Press.js | 4 ++-- packages/react-events/src/Scroll.js | 4 ++-- packages/react-events/src/Swipe.js | 4 ++-- packages/react/src/React.js | 7 ++++++- 12 files changed, 24 insertions(+), 36 deletions(-) diff --git a/packages/react-dom/src/client/ReactDOM.js b/packages/react-dom/src/client/ReactDOM.js index 85816bb300c2..1db9e527efe1 100644 --- a/packages/react-dom/src/client/ReactDOM.js +++ b/packages/react-dom/src/client/ReactDOM.js @@ -42,7 +42,6 @@ import { } from 'react-reconciler/inline.dom'; import {createPortal as createPortalImpl} from 'shared/ReactPortal'; import {canUseDOM} from 'shared/ExecutionEnvironment'; -import createEvent from 'shared/createEventComponent'; import {setBatchingImplementation} from 'events/ReactGenericBatching'; import { setRestoreImplementation, @@ -64,10 +63,7 @@ import getComponentName from 'shared/getComponentName'; import invariant from 'shared/invariant'; import lowPriorityWarning from 'shared/lowPriorityWarning'; import warningWithoutStack from 'shared/warningWithoutStack'; -import { - enableStableConcurrentModeAPIs, - enableEventAPI, -} from 'shared/ReactFeatureFlags'; +import {enableStableConcurrentModeAPIs} from 'shared/ReactFeatureFlags'; import { getInstanceFromNode, @@ -881,10 +877,6 @@ if (enableStableConcurrentModeAPIs) { ReactDOM.createSyncRoot = createSyncRoot; } -if (enableEventAPI) { - ReactDOM.unstable_createEvent = createEvent; -} - const foundDevTools = injectIntoDevTools({ findFiberByHostInstance: getClosestInstanceFromNode, bundleType: __DEV__ ? 1 : 0, diff --git a/packages/react-dom/src/events/__tests__/DOMEventResponderSystem-test.internal.js b/packages/react-dom/src/events/__tests__/DOMEventResponderSystem-test.internal.js index 3344c729afd9..2b7d86770626 100644 --- a/packages/react-dom/src/events/__tests__/DOMEventResponderSystem-test.internal.js +++ b/packages/react-dom/src/events/__tests__/DOMEventResponderSystem-test.internal.js @@ -42,10 +42,7 @@ function createReactEventComponent({ allowMultipleHostChildren: allowMultipleHostChildren || false, }; - return ReactDOM.unstable_createEvent( - testEventResponder, - 'TestEventComponent', - ); + return React.unstable_createEvent(testEventResponder, 'TestEventComponent'); } function dispatchEvent(element, type) { diff --git a/packages/react-dom/src/fire/ReactFire.js b/packages/react-dom/src/fire/ReactFire.js index d0af74edb2ac..bb74931fdc3e 100644 --- a/packages/react-dom/src/fire/ReactFire.js +++ b/packages/react-dom/src/fire/ReactFire.js @@ -70,7 +70,6 @@ import invariant from 'shared/invariant'; import lowPriorityWarning from 'shared/lowPriorityWarning'; import warningWithoutStack from 'shared/warningWithoutStack'; import {enableStableConcurrentModeAPIs} from 'shared/ReactFeatureFlags'; -import createEvent from 'shared/createEventComponent'; import { getInstanceFromNode, @@ -87,7 +86,6 @@ import { DOCUMENT_FRAGMENT_NODE, } from '../shared/HTMLNodeType'; import {ROOT_ATTRIBUTE_NAME} from '../shared/DOMProperty'; -import {enableEventAPI} from 'shared/ReactFeatureFlags'; const ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner; @@ -885,10 +883,6 @@ if (enableStableConcurrentModeAPIs) { ReactDOM.createSyncRoot = createSyncRoot; } -if (enableEventAPI) { - ReactDOM.unstable_createEvent = createEvent; -} - const foundDevTools = injectIntoDevTools({ findFiberByHostInstance: getClosestInstanceFromNode, bundleType: __DEV__ ? 1 : 0, diff --git a/packages/react-events/README.md b/packages/react-events/README.md index 0e02720951c4..9e7b5e4390b2 100644 --- a/packages/react-events/README.md +++ b/packages/react-events/README.md @@ -12,10 +12,10 @@ can be found [here](./docs). ## EventComponent -An Event Component is defined using `ReactDOM.unstable_createEvent`: +An Event Component is defined using `React.unstable_createEvent`: ```js -const EventComponent = ReactDOM.unstable_createEvent( +const EventComponent = React.unstable_createEvent( responder: EventResponder, displayName: string ); diff --git a/packages/react-events/src/Drag.js b/packages/react-events/src/Drag.js index 032e8efc17d5..2cbd81cea7ba 100644 --- a/packages/react-events/src/Drag.js +++ b/packages/react-events/src/Drag.js @@ -13,7 +13,7 @@ import type { } from 'shared/ReactDOMTypes'; import type {EventPriority} from 'shared/ReactTypes'; -import ReactDOM from 'react-dom'; +import React from 'react'; import {DiscreteEvent, UserBlockingEvent} from 'shared/ReactTypes'; const targetEventTypes = ['pointerdown']; @@ -259,4 +259,4 @@ const DragResponder = { }, }; -export default ReactDOM.unstable_createEvent(DragResponder, 'Drag'); +export default React.unstable_createEvent(DragResponder, 'Drag'); diff --git a/packages/react-events/src/Focus.js b/packages/react-events/src/Focus.js index 3992ded6a07d..b011e8d1be97 100644 --- a/packages/react-events/src/Focus.js +++ b/packages/react-events/src/Focus.js @@ -13,7 +13,7 @@ import type { PointerType, } from 'shared/ReactDOMTypes'; -import ReactDOM from 'react-dom'; +import React from 'react'; import {DiscreteEvent} from 'shared/ReactTypes'; type FocusProps = { @@ -336,4 +336,4 @@ const FocusResponder = { }, }; -export default ReactDOM.unstable_createEvent(FocusResponder, 'Focus'); +export default React.unstable_createEvent(FocusResponder, 'Focus'); diff --git a/packages/react-events/src/FocusScope.js b/packages/react-events/src/FocusScope.js index dd9209f2afdf..bced42dff4eb 100644 --- a/packages/react-events/src/FocusScope.js +++ b/packages/react-events/src/FocusScope.js @@ -11,7 +11,7 @@ import type { ReactDOMResponderContext, } from 'shared/ReactDOMTypes'; -import ReactDOM from 'react-dom'; +import React from 'react'; type FocusScopeProps = { autoFocus: Boolean, @@ -157,4 +157,4 @@ const FocusScopeResponder = { }, }; -export default ReactDOM.unstable_createEvent(FocusScopeResponder, 'FocusScope'); +export default React.unstable_createEvent(FocusScopeResponder, 'FocusScope'); diff --git a/packages/react-events/src/Hover.js b/packages/react-events/src/Hover.js index 3efab72d13ac..52005cda7985 100644 --- a/packages/react-events/src/Hover.js +++ b/packages/react-events/src/Hover.js @@ -12,7 +12,7 @@ import type { ReactDOMResponderContext, } from 'shared/ReactDOMTypes'; -import ReactDOM from 'react-dom'; +import React from 'react'; import {UserBlockingEvent} from 'shared/ReactTypes'; type HoverProps = { @@ -406,4 +406,4 @@ const HoverResponder = { }, }; -export default ReactDOM.unstable_createEvent(HoverResponder, 'Hover'); +export default React.unstable_createEvent(HoverResponder, 'Hover'); diff --git a/packages/react-events/src/Press.js b/packages/react-events/src/Press.js index d762c8ac410b..902ae72e6c28 100644 --- a/packages/react-events/src/Press.js +++ b/packages/react-events/src/Press.js @@ -14,7 +14,7 @@ import type { } from 'shared/ReactDOMTypes'; import type {EventPriority} from 'shared/ReactTypes'; -import ReactDOM from 'react-dom'; +import React from 'react'; import {DiscreteEvent, UserBlockingEvent} from 'shared/ReactTypes'; type PressProps = { @@ -972,4 +972,4 @@ const PressResponder = { }, }; -export default ReactDOM.unstable_createEvent(PressResponder, 'Press'); +export default React.unstable_createEvent(PressResponder, 'Press'); diff --git a/packages/react-events/src/Scroll.js b/packages/react-events/src/Scroll.js index 27114ba51b8e..3b48f23bc5a7 100644 --- a/packages/react-events/src/Scroll.js +++ b/packages/react-events/src/Scroll.js @@ -15,7 +15,7 @@ import type { import {UserBlockingEvent} from 'shared/ReactTypes'; import type {EventPriority} from 'shared/ReactTypes'; -import ReactDOM from 'react-dom'; +import React from 'react'; type ScrollProps = { disabled: boolean, @@ -211,4 +211,4 @@ const ScrollResponder = { }, }; -export default ReactDOM.unstable_createEvent(ScrollResponder, 'Scroll'); +export default React.unstable_createEvent(ScrollResponder, 'Scroll'); diff --git a/packages/react-events/src/Swipe.js b/packages/react-events/src/Swipe.js index 9b6e74370d94..007b3d08b73a 100644 --- a/packages/react-events/src/Swipe.js +++ b/packages/react-events/src/Swipe.js @@ -13,7 +13,7 @@ import type { } from 'shared/ReactDOMTypes'; import type {EventPriority} from 'shared/ReactTypes'; -import ReactDOM from 'react-dom'; +import React from 'react'; import {UserBlockingEvent, DiscreteEvent} from 'shared/ReactTypes'; const targetEventTypes = ['pointerdown']; @@ -262,4 +262,4 @@ const SwipeResponder = { }, }; -export default ReactDOM.unstable_createEvent(SwipeResponder, 'Swipe'); +export default React.unstable_createEvent(SwipeResponder, 'Swipe'); diff --git a/packages/react/src/React.js b/packages/react/src/React.js index e4aa2ed2fc54..6a2b5a3eb1ee 100644 --- a/packages/react/src/React.js +++ b/packages/react/src/React.js @@ -51,7 +51,8 @@ import { } from './ReactElementValidator'; import ReactSharedInternals from './ReactSharedInternals'; import {error, warn} from './withComponentStack'; -import {enableJSXTransformAPI} from 'shared/ReactFeatureFlags'; +import createEvent from 'shared/createEventComponent'; +import {enableJSXTransformAPI, enableEventAPI} from 'shared/ReactFeatureFlags'; const React = { Children: { map, @@ -102,6 +103,10 @@ const React = { __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: ReactSharedInternals, }; +if (enableEventAPI) { + React.unstable_createEvent = createEvent; +} + // Note: some APIs are added with feature flags. // Make sure that stable builds for open source // don't modify the React object to avoid deopts. From aa7bc1cbcf33de396f1b2f75a08d77720e6066e7 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Fri, 21 Jun 2019 02:34:24 +0100 Subject: [PATCH 2/2] Update bundles --- scripts/rollup/bundles.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/rollup/bundles.js b/scripts/rollup/bundles.js index c8233979aaa8..516eb21037b0 100644 --- a/scripts/rollup/bundles.js +++ b/scripts/rollup/bundles.js @@ -465,7 +465,7 @@ const bundles = [ moduleType: NON_FIBER_RENDERER, entry: 'react-events/press', global: 'ReactEventsPress', - externals: ['react-dom'], + externals: ['react'], }, { @@ -480,7 +480,7 @@ const bundles = [ moduleType: NON_FIBER_RENDERER, entry: 'react-events/hover', global: 'ReactEventsHover', - externals: ['react-dom'], + externals: ['react'], }, { @@ -495,7 +495,7 @@ const bundles = [ moduleType: NON_FIBER_RENDERER, entry: 'react-events/focus', global: 'ReactEventsFocus', - externals: ['react-dom'], + externals: ['react'], }, { @@ -510,7 +510,7 @@ const bundles = [ moduleType: NON_FIBER_RENDERER, entry: 'react-events/focus-scope', global: 'ReactEventsFocusScope', - externals: ['react-dom'], + externals: ['react'], }, { @@ -525,7 +525,7 @@ const bundles = [ moduleType: NON_FIBER_RENDERER, entry: 'react-events/swipe', global: 'ReactEventsSwipe', - externals: ['react-dom'], + externals: ['react'], }, { @@ -540,7 +540,7 @@ const bundles = [ moduleType: NON_FIBER_RENDERER, entry: 'react-events/drag', global: 'ReactEventsDrag', - externals: ['react-dom'], + externals: ['react'], }, { @@ -555,7 +555,7 @@ const bundles = [ moduleType: NON_FIBER_RENDERER, entry: 'react-events/scroll', global: 'ReactEventsScroll', - externals: ['react-dom'], + externals: ['react'], }, ];