Skip to content

Commit 97d75c9

Browse files
authored
Move react-dom implementation files to react-dom-bindings (#25345)
This lets us share it with react-server-dom-webpack while still having a dependency on react-dom. It also makes somewhat sense from a bundling perspective since react-dom is an external to itself.
1 parent 3de9264 commit 97d75c9

File tree

106 files changed

+72
-104
lines changed

Some content is hidden

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

106 files changed

+72
-104
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"name": "react-dom-bindings",
3+
"description": "React implementation details for react-dom.",
4+
"version": "18.2.0",
5+
"private": true,
6+
"main": "index.js",
7+
"repository": {
8+
"type": "git",
9+
"url": "https://github.com/facebook/react.git",
10+
"directory": "packages/react-dom-bindings"
11+
},
12+
"keywords": [
13+
"react"
14+
],
15+
"license": "MIT",
16+
"bugs": {
17+
"url": "https://github.com/facebook/react/issues"
18+
},
19+
"homepage": "https://reactjs.org/",
20+
"peerDependencies": {
21+
"react": "^18.2.0"
22+
}
23+
}

packages/react-dom/index.classic.fb.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @flow
88
*/
99

10-
import {isEnabled} from './src/events/ReactDOMEventListener';
10+
import {isEnabled} from 'react-dom-bindings/src/events/ReactDOMEventListener';
1111

1212
import Internals from './src/ReactDOMSharedInternals';
1313

packages/react-dom/src/ReactDOMSharedInternals.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ import {batchedUpdates} from 'react-reconciler/src/ReactFiberReconciler';
1111
import {
1212
enqueueStateRestore,
1313
restoreStateIfNeeded,
14-
} from './events/ReactDOMControlledComponent';
14+
} from 'react-dom-bindings/src/events/ReactDOMControlledComponent';
1515
import {
1616
getInstanceFromNode,
1717
getNodeFromInstance,
1818
getFiberCurrentPropsFromNode,
19-
} from './client/ReactDOMComponentTree';
19+
} from 'react-dom-bindings/src/client/ReactDOMComponentTree';
2020

2121
const Internals = {
2222
usingClientEntryPoint: false,

packages/react-dom/src/__tests__/InvalidEventListeners-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
'use strict';
1111

12-
jest.mock('../events/isEventSupported');
12+
jest.mock('react-dom-bindings/src/events/isEventSupported');
1313

1414
describe('InvalidEventListeners', () => {
1515
let React;

packages/react-dom/src/__tests__/ReactDOMSelection-test.internal.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ describe('ReactDOMSelection', () => {
1919
beforeEach(() => {
2020
React = require('react');
2121
ReactDOM = require('react-dom');
22-
ReactDOMSelection = require('../client/ReactDOMSelection');
22+
ReactDOMSelection = require('react-dom-bindings/src/client/ReactDOMSelection');
2323

2424
({getModernOffsetsFromPoints} = ReactDOMSelection);
2525
});

packages/react-dom/src/__tests__/ReactMount-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
'use strict';
1111

12-
const {COMMENT_NODE} = require('../shared/HTMLNodeType');
12+
const {COMMENT_NODE} = require('react-dom-bindings/src/shared/HTMLNodeType');
1313

1414
let React;
1515
let ReactDOM;

packages/react-dom/src/client/ReactDOM.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*/
99

1010
import type {ReactNodeList} from 'shared/ReactTypes';
11-
import type {Container} from './ReactDOMHostConfig';
11+
import type {Container} from 'react-dom-bindings/src/client/ReactDOMHostConfig';
1212
import type {
1313
RootType,
1414
HydrateRootOptions,
@@ -27,7 +27,7 @@ import {
2727
hydrateRoot as hydrateRootImpl,
2828
isValidContainer,
2929
} from './ReactDOMRoot';
30-
import {createEventHandle} from './ReactDOMEventHandle';
30+
import {createEventHandle} from 'react-dom-bindings/src/client/ReactDOMEventHandle';
3131

3232
import {
3333
batchedUpdates,
@@ -50,18 +50,18 @@ import {canUseDOM} from 'shared/ExecutionEnvironment';
5050
import ReactVersion from 'shared/ReactVersion';
5151
import {enableNewReconciler} from 'shared/ReactFeatureFlags';
5252

53-
import {getClosestInstanceFromNode} from './ReactDOMComponentTree';
54-
import {restoreControlledState} from './ReactDOMComponent';
53+
import {getClosestInstanceFromNode} from 'react-dom-bindings/src/client/ReactDOMComponentTree';
54+
import {restoreControlledState} from 'react-dom-bindings/src/client/ReactDOMComponent';
5555
import {
5656
setAttemptSynchronousHydration,
5757
setAttemptDiscreteHydration,
5858
setAttemptContinuousHydration,
5959
setAttemptHydrationAtCurrentPriority,
6060
setGetCurrentUpdatePriority,
6161
setAttemptHydrationAtPriority,
62-
} from '../events/ReactDOMEventReplaying';
63-
import {setBatchingImplementation} from '../events/ReactDOMUpdateBatching';
64-
import {setRestoreImplementation} from '../events/ReactDOMControlledComponent';
62+
} from 'react-dom-bindings/src/events/ReactDOMEventReplaying';
63+
import {setBatchingImplementation} from 'react-dom-bindings/src/events/ReactDOMUpdateBatching';
64+
import {setRestoreImplementation} from 'react-dom-bindings/src/events/ReactDOMControlledComponent';
6565
import Internals from '../ReactDOMSharedInternals';
6666

6767
setAttemptSynchronousHydration(attemptSynchronousHydration);

packages/react-dom/src/client/ReactDOMLegacy.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @flow
88
*/
99

10-
import type {Container} from './ReactDOMHostConfig';
10+
import type {Container} from 'react-dom-bindings/src/client/ReactDOMHostConfig';
1111
import type {FiberRoot} from 'react-reconciler/src/ReactInternalTypes';
1212
import type {ReactNodeList} from 'shared/ReactTypes';
1313

@@ -16,14 +16,14 @@ import {
1616
isContainerMarkedAsRoot,
1717
markContainerAsRoot,
1818
unmarkContainerAsRoot,
19-
} from './ReactDOMComponentTree';
20-
import {listenToAllSupportedEvents} from '../events/DOMPluginEventSystem';
19+
} from 'react-dom-bindings/src/client/ReactDOMComponentTree';
20+
import {listenToAllSupportedEvents} from 'react-dom-bindings/src/events/DOMPluginEventSystem';
2121
import {isValidContainerLegacy} from './ReactDOMRoot';
2222
import {
2323
DOCUMENT_NODE,
2424
ELEMENT_NODE,
2525
COMMENT_NODE,
26-
} from '../shared/HTMLNodeType';
26+
} from 'react-dom-bindings/src/shared/HTMLNodeType';
2727

2828
import {
2929
createContainer,

packages/react-dom/src/client/ReactDOMRoot.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import type {
1313
TransitionTracingCallbacks,
1414
} from 'react-reconciler/src/ReactInternalTypes';
1515

16-
import {queueExplicitHydrationTarget} from '../events/ReactDOMEventReplaying';
16+
import {queueExplicitHydrationTarget} from 'react-dom-bindings/src/events/ReactDOMEventReplaying';
1717
import {REACT_ELEMENT_TYPE} from 'shared/ReactSymbols';
1818
import {enableFloat} from 'shared/ReactFeatureFlags';
1919

@@ -51,14 +51,14 @@ import {
5151
isContainerMarkedAsRoot,
5252
markContainerAsRoot,
5353
unmarkContainerAsRoot,
54-
} from './ReactDOMComponentTree';
55-
import {listenToAllSupportedEvents} from '../events/DOMPluginEventSystem';
54+
} from 'react-dom-bindings/src/client/ReactDOMComponentTree';
55+
import {listenToAllSupportedEvents} from 'react-dom-bindings/src/events/DOMPluginEventSystem';
5656
import {
5757
ELEMENT_NODE,
5858
COMMENT_NODE,
5959
DOCUMENT_NODE,
6060
DOCUMENT_FRAGMENT_NODE,
61-
} from '../shared/HTMLNodeType';
61+
} from 'react-dom-bindings/src/shared/HTMLNodeType';
6262

6363
import {
6464
createContainer,

packages/react-dom/src/client/__tests__/getNodeForCharacterOffset-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
'use strict';
1111

1212
// TODO: can we express this test with only public API?
13-
const getNodeForCharacterOffset = require('../getNodeForCharacterOffset')
13+
const getNodeForCharacterOffset = require('react-dom-bindings/src/client/getNodeForCharacterOffset')
1414
.default;
1515

1616
// Create node from HTML string

packages/react-dom/src/server/ReactDOMFizzServerBrowser.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*/
99

1010
import type {ReactNodeList} from 'shared/ReactTypes';
11-
import type {BootstrapScriptDescriptor} from './ReactDOMServerFormatConfig';
11+
import type {BootstrapScriptDescriptor} from 'react-dom-bindings/src/server/ReactDOMServerFormatConfig';
1212

1313
import ReactVersion from 'shared/ReactVersion';
1414

@@ -22,7 +22,7 @@ import {
2222
import {
2323
createResponseState,
2424
createRootFormatContext,
25-
} from './ReactDOMServerFormatConfig';
25+
} from 'react-dom-bindings/src/server/ReactDOMServerFormatConfig';
2626

2727
type Options = {
2828
identifierPrefix?: string,

packages/react-dom/src/server/ReactDOMFizzServerNode.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
import type {ReactNodeList} from 'shared/ReactTypes';
1111
import type {Writable} from 'stream';
12-
import type {BootstrapScriptDescriptor} from './ReactDOMServerFormatConfig';
12+
import type {BootstrapScriptDescriptor} from 'react-dom-bindings/src/server/ReactDOMServerFormatConfig';
1313
import type {Destination} from 'react-server/src/ReactServerStreamConfigNode';
1414

1515
import ReactVersion from 'shared/ReactVersion';
@@ -24,7 +24,7 @@ import {
2424
import {
2525
createResponseState,
2626
createRootFormatContext,
27-
} from './ReactDOMServerFormatConfig';
27+
} from 'react-dom-bindings/src/server/ReactDOMServerFormatConfig';
2828

2929
function createDrainHandler(destination: Destination, request) {
3030
return () => startFlowing(request, destination);

packages/react-dom/src/server/ReactDOMFizzStaticBrowser.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*/
99

1010
import type {ReactNodeList} from 'shared/ReactTypes';
11-
import type {BootstrapScriptDescriptor} from './ReactDOMServerFormatConfig';
11+
import type {BootstrapScriptDescriptor} from 'react-dom-bindings/src/server/ReactDOMServerFormatConfig';
1212

1313
import ReactVersion from 'shared/ReactVersion';
1414

@@ -22,7 +22,7 @@ import {
2222
import {
2323
createResponseState,
2424
createRootFormatContext,
25-
} from './ReactDOMServerFormatConfig';
25+
} from 'react-dom-bindings/src/server/ReactDOMServerFormatConfig';
2626

2727
type Options = {
2828
identifierPrefix?: string,

packages/react-dom/src/server/ReactDOMFizzStaticNode.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*/
99

1010
import type {ReactNodeList} from 'shared/ReactTypes';
11-
import type {BootstrapScriptDescriptor} from './ReactDOMServerFormatConfig';
11+
import type {BootstrapScriptDescriptor} from 'react-dom-bindings/src/server/ReactDOMServerFormatConfig';
1212

1313
import {Writable, Readable} from 'stream';
1414

@@ -24,7 +24,7 @@ import {
2424
import {
2525
createResponseState,
2626
createRootFormatContext,
27-
} from './ReactDOMServerFormatConfig';
27+
} from 'react-dom-bindings/src/server/ReactDOMServerFormatConfig';
2828

2929
type Options = {
3030
identifierPrefix?: string,

packages/react-dom/src/server/ReactDOMLegacyServerImpl.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import {
2121
import {
2222
createResponseState,
2323
createRootFormatContext,
24-
} from './ReactDOMServerLegacyFormatConfig';
24+
} from 'react-dom-bindings/src/server/ReactDOMServerLegacyFormatConfig';
2525

2626
type ServerOptions = {
2727
identifierPrefix?: string,

packages/react-dom/src/server/ReactDOMLegacyServerNodeStream.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import {
2121
import {
2222
createResponseState,
2323
createRootFormatContext,
24-
} from './ReactDOMServerLegacyFormatConfig';
24+
} from 'react-dom-bindings/src/server/ReactDOMServerLegacyFormatConfig';
2525

2626
import {Readable} from 'stream';
2727

packages/react-dom/src/server/ReactThreadIDAllocator.js

Lines changed: 0 additions & 59 deletions
This file was deleted.

packages/react-dom/src/test-utils/ReactTestUtils.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ import {
1515
HostComponent,
1616
HostText,
1717
} from 'react-reconciler/src/ReactWorkTags';
18-
import {SyntheticEvent} from '../events/SyntheticEvent';
19-
import {ELEMENT_NODE} from '../shared/HTMLNodeType';
18+
import {SyntheticEvent} from 'react-dom-bindings/src/events/SyntheticEvent';
19+
import {ELEMENT_NODE} from 'react-dom-bindings/src/shared/HTMLNodeType';
2020
import {
2121
rethrowCaughtError,
2222
invokeGuardedCallbackAndCatchFirstError,

packages/react-native-renderer/src/__tests__/ResponderEventPlugin-test.internal.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1382,7 +1382,7 @@ describe('ResponderEventPlugin', () => {
13821382
const getLowestCommonAncestor = require('react-native-renderer/src/legacy-events/ResponderEventPlugin')
13831383
.getLowestCommonAncestor;
13841384
// This works by accident and will likely break in the future.
1385-
const ReactDOMComponentTree = require('react-dom/src/client/ReactDOMComponentTree');
1385+
const ReactDOMComponentTree = require('react-dom-bindings/src/client/ReactDOMComponentTree');
13861386

13871387
class ChildComponent extends React.Component {
13881388
render() {

packages/react-reconciler/src/forks/ReactFiberHostConfig.dom-browser.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
* @flow
88
*/
99

10-
export * from 'react-dom/src/client/ReactDOMHostConfig';
10+
export * from 'react-dom-bindings/src/client/ReactDOMHostConfig';

packages/react-reconciler/src/forks/ReactFiberHostConfig.dom-legacy.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
* @flow
88
*/
99

10-
export * from 'react-dom/src/client/ReactDOMHostConfig';
10+
export * from 'react-dom-bindings/src/client/ReactDOMHostConfig';

packages/react-reconciler/src/forks/ReactFiberHostConfig.dom-relay.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
* @flow
88
*/
99

10-
export * from 'react-dom/src/client/ReactDOMHostConfig';
10+
export * from 'react-dom-bindings/src/client/ReactDOMHostConfig';

packages/react-reconciler/src/forks/ReactFiberHostConfig.dom.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
* @flow
88
*/
99

10-
export * from 'react-dom/src/client/ReactDOMHostConfig';
10+
export * from 'react-dom-bindings/src/client/ReactDOMHostConfig';

packages/react-server-dom-webpack/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
},
5050
"peerDependencies": {
5151
"react": "^17.0.0",
52+
"react-dom": "^17.0.0",
5253
"webpack": "^5.59.0"
5354
},
5455
"dependencies": {

packages/react-server/src/forks/ReactServerFormatConfig.dom-browser.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
* @flow
88
*/
99

10-
export * from 'react-dom/src/server/ReactDOMServerFormatConfig';
10+
export * from 'react-dom-bindings/src/server/ReactDOMServerFormatConfig';

packages/react-server/src/forks/ReactServerFormatConfig.dom-legacy.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
* @flow
88
*/
99

10-
export * from 'react-dom/src/server/ReactDOMServerLegacyFormatConfig';
10+
export * from 'react-dom-bindings/src/server/ReactDOMServerLegacyFormatConfig';

packages/react-server/src/forks/ReactServerFormatConfig.dom-relay.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
* @flow
88
*/
99

10-
export * from 'react-dom/src/server/ReactDOMServerFormatConfig';
10+
export * from 'react-dom-bindings/src/server/ReactDOMServerFormatConfig';

0 commit comments

Comments
 (0)