Skip to content

Commit fea4f14

Browse files
committed
Update devtools
1 parent ecedff2 commit fea4f14

File tree

11 files changed

+23
-19
lines changed

11 files changed

+23
-19
lines changed

packages/react-devtools-core/src/standalone.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@ import {createElement} from 'react';
1111
import {
1212
// $FlowFixMe Flow does not yet know about flushSync()
1313
flushSync,
14-
// $FlowFixMe Flow does not yet know about createRoot()
15-
createRoot,
16-
} from 'react-dom';
14+
} from 'react-dom/client';
15+
import {createRoot} from 'react-dom/client';
1716
import Bridge from 'react-devtools-shared/src/bridge';
1817
import Store from 'react-devtools-shared/src/devtools/store';
1918
import {

packages/react-devtools-core/webpack.standalone.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ module.exports = {
6565
'react-debug-tools': resolve(builtModulesDir, 'react-debug-tools'),
6666
'react-devtools-feature-flags': resolveFeatureFlags(featureFlagTarget),
6767
'react-dom': resolve(builtModulesDir, 'react-dom'),
68+
'react-dom/client': resolve(builtModulesDir, 'react-dom/client'),
6869
'react-is': resolve(builtModulesDir, 'react-is'),
6970
scheduler: resolve(builtModulesDir, 'scheduler'),
7071
},

packages/react-devtools-extensions/webpack.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ module.exports = {
7777
'react-debug-tools': resolve(builtModulesDir, 'react-debug-tools'),
7878
'react-devtools-feature-flags': resolveFeatureFlags(featureFlagTarget),
7979
'react-dom': resolve(builtModulesDir, 'react-dom'),
80+
'react-dom/client': resolve(builtModulesDir, 'react-dom/client'),
8081
'react-is': resolve(builtModulesDir, 'react-is'),
8182
scheduler: resolve(builtModulesDir, 'scheduler'),
8283
},

packages/react-devtools-inline/README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ const contentWindow = iframe.contentWindow;
6060
const DevTools = initialize(contentWindow);
6161
```
6262

63-
<sup>3</sup> Because the DevTools interface makes use of several new React APIs (e.g. suspense, concurrent mode) it should be rendered using either `ReactDOM.createRoot` or `ReactDOM.createSyncRoot`. **It should not be rendered with `ReactDOM.render`.**
63+
<sup>3</sup> Because the DevTools interface makes use of several new React APIs (e.g. suspense, concurrent mode) it should be rendered using `ReactDOMClient.createRoot`. **It should not be rendered with `ReactDOM.render`.**
6464

6565
## Examples
6666

@@ -110,8 +110,7 @@ const DevTools = initializeFrontend(contentWindow);
110110
// as setting the src of the <iframe> would load a new page (without the injected backend).
111111

112112
// <DevTools /> interface can be rendered in the parent window at any time now...
113-
// Be sure to use either ReactDOM.createRoot()
114-
// or ReactDOM.createSyncRoot() to render this component.
113+
// Be sure to use ReactDOMClient.createRoot() to render this component.
115114

116115
// Let the backend know the frontend is ready and listening.
117116
activateBackend(contentWindow);
@@ -154,8 +153,7 @@ const { contentWindow } = iframe;
154153

155154
// Initialize DevTools UI to listen to the iframe.
156155
// This returns a React component we can render anywhere in the main window.
157-
// Be sure to use either ReactDOM.createRoot()
158-
// or ReactDOM.createSyncRoot() to render this component.
156+
// Be sure to use ReactDOMClient.createRoot() to render this component.
159157
const DevTools = initialize(contentWindow);
160158

161159
// Let the backend know to initialize itself.

packages/react-devtools-inline/webpack.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ module.exports = {
5151
externals: {
5252
react: 'react',
5353
'react-dom': 'react-dom',
54+
'react-dom/client': 'react-dom/client',
5455
'react-is': 'react-is',
5556
scheduler: 'scheduler',
5657
},

packages/react-devtools-shell/src/app/index.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,8 @@
33
// This test harness mounts each test app as a separate root to test multi-root applications.
44

55
import {createElement} from 'react';
6-
import {
7-
// $FlowFixMe Flow does not yet know about createRoot()
8-
createRoot,
9-
render,
10-
unmountComponentAtNode,
11-
} from 'react-dom';
6+
import {createRoot} from 'react-dom/client';
7+
import {render, unmountComponentAtNode} from 'react-dom';
128
import DeeplyNestedComponents from './DeeplyNestedComponents';
139
import Iframe from './Iframe';
1410
import EditableProps from './EditableProps';

packages/react-devtools-shell/src/e2e/app.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import * as React from 'react';
66
import * as ReactDOM from 'react-dom';
7+
import * as ReactDOMClient from 'react-dom/client';
78

89
const container = document.createElement('div');
910

@@ -13,8 +14,7 @@ const container = document.createElement('div');
1314
// so that it can load things other than just ToDoList.
1415
const App = require('./apps/ListApp').default;
1516

16-
// $FlowFixMe Flow doesn't know about createRoot() yet.
17-
const root = ReactDOM.createRoot(container);
17+
const root = ReactDOMClient.createRoot(container);
1818
root.render(<App />);
1919

2020
// ReactDOM Test Selector APIs used by Playwright e2e tests

packages/react-devtools-shell/src/e2e/devtools.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import * as ReactDOMClient from 'react-dom/client';
34
import {
45
activate as activateBackend,
56
initialize as initializeBackend,
@@ -33,7 +34,7 @@ function init(appIframe, devtoolsContainer, appSource) {
3334

3435
inject(contentDocument, appSource, () => {
3536
// $FlowFixMe Flow doesn't know about createRoot() yet.
36-
ReactDOM.createRoot(devtoolsContainer).render(
37+
ReactDOMClient.createRoot(devtoolsContainer).render(
3738
<DevTools
3839
hookNamesModuleLoaderFunction={hookNamesModuleLoaderFunction}
3940
showTabBar={true}

packages/react-devtools-shell/webpack.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ const config = {
6161
'react-debug-tools': resolve(builtModulesDir, 'react-debug-tools'),
6262
'react-devtools-feature-flags': resolveFeatureFlags('shell'),
6363
'react-dom': resolve(builtModulesDir, 'react-dom/unstable_testing'),
64+
'react-dom/client': resolve(builtModulesDir, 'react-dom/client'),
6465
'react-is': resolve(builtModulesDir, 'react-is'),
6566
scheduler: resolve(builtModulesDir, 'scheduler'),
6667
},

packages/react-dom/client.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import {
2525

2626
export function createRoot(
2727
container: Container,
28-
options: CreateRootOptions,
28+
options?: CreateRootOptions,
2929
): RootType {
3030
if (__DEV__) {
3131
Internals.usingClientEntryPoint = true;
@@ -42,7 +42,7 @@ export function createRoot(
4242
export function hydrateRoot(
4343
container: Container,
4444
children: ReactNodeList,
45-
options: HydrateRootOptions,
45+
options?: HydrateRootOptions,
4646
): RootType {
4747
if (__DEV__) {
4848
Internals.usingClientEntryPoint = true;

scripts/shared/inlinedHostConfigs.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,15 @@ module.exports = [
1818
],
1919
paths: [
2020
'react-dom',
21+
'react-dom/client',
2122
'react-dom/src/server/ReactDOMFizzServerNode.js', // react-dom/server.node
2223
'react-server-dom-webpack',
2324
'react-server-dom-webpack/writer',
2425
'react-server-dom-webpack/writer.node.server',
2526
'react-server-dom-webpack/src/ReactFlightDOMServerNode.js', // react-server-dom-webpack/writer.node.server
2627
'react-client/src/ReactFlightClientStream.js', // We can only type check this in streaming configurations.
28+
'react-devtools-core',
29+
'react-devtools-shell',
2730
'react-interactions',
2831
],
2932
isFlowTyped: true,
@@ -40,12 +43,15 @@ module.exports = [
4043
],
4144
paths: [
4245
'react-dom',
46+
'react-dom/client',
4347
'react-dom/unstable_testing',
4448
'react-dom/src/server/ReactDOMFizzServerBrowser.js', // react-dom/server.browser
4549
'react-server-dom-webpack',
4650
'react-server-dom-webpack/writer.browser.server',
4751
'react-server-dom-webpack/src/ReactFlightDOMServerBrowser.js', // react-server-dom-webpack/writer.browser.server
4852
'react-client/src/ReactFlightClientStream.js', // We can only type check this in streaming configurations.
53+
'react-devtools-core',
54+
'react-devtools-shell',
4955
],
5056
isFlowTyped: true,
5157
isServerSupported: true,

0 commit comments

Comments
 (0)