react/packages/react-devtools-core
2021-05-20 11:24:30 -04:00
..
src Update entry point exports (#21488) 2021-05-12 11:28:14 -04:00
backend.js Standalone NPM packages and React Native support (#335) 2019-07-13 10:05:04 -07:00
package.json DevTools 4.13.3 -> 4.13.4 2021-05-20 11:24:30 -04:00
README.md fixed: typo in react-devtools/README.md Websocked -> Websocket (#20376) 2020-12-04 09:59:17 -05:00
standalone.js Standalone NPM packages and React Native support (#335) 2019-07-13 10:05:04 -07:00
webpack.backend.js Added new GitHub issue form for React DevTools bug reports (#21450) 2021-05-07 08:46:58 -04:00
webpack.standalone.js Added new GitHub issue form for React DevTools bug reports (#21450) 2021-05-07 08:46:58 -04:00

react-devtools-core

A standalone React DevTools implementation.

This is a low-level package. If you're looking for the Electron app you can run, use react-devtools package instead.

API

react-devtools-core

This is similar requiring the react-devtools package, but provides several configurable options. Unlike react-devtools, requiring react-devtools-core doesn't connect immediately but instead exports a function:

const { connectToDevTools } = require("react-devtools-core");
connectToDevTools(config);

Run connectToDevTools() in the same context as React to set up a connection to DevTools.
Be sure to run this function before importing e.g. react, react-dom, react-native.

The config object may contain:

  • host: string (defaults to "localhost") - Websocket will connect to this host.
  • port: number (defaults to 8097) - Websocket will connect to this port.
  • useHttps: boolean (defaults to false) - Websocket should use a secure protocol (wss).
  • websocket: Websocket - Custom websocket to use. Overrides host and port settings if provided.
  • resolveRNStyle: (style: number) => ?Object - Used by the React Native style plug-in.
  • retryConnectionDelay: number (defaults to 2000) - Milliseconds delay to wait between retrying a failed Websocket connection.
  • isAppActive: () => boolean - If provided, DevTools will poll this method and wait until it returns true before connecting to React.

react-devtools-core/standalone

Renders the DevTools interface into a DOM node.

require("react-devtools-core/standalone")
  .setContentDOMNode(document.getElementById("container"))
  .setStatusListener(status => {
    // This callback is optional...
  })
  .startServer(port);

Renders DevTools interface into a DOM node over SSL using a custom host name (Default is localhost).

const host = 'dev.server.com';
const options = {
  key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
  cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem')
};


require("react-devtools-core/standalone")
  .setContentDOMNode(document.getElementById("container"))
  .setStatusListener(status => {
    // This callback is optional...
  })
  .startServer(port, host, options);

Reference the react-devtools package for a complete integration example.

Development

Watch for changes made to the backend entry point and rebuild:

yarn start:backend

Watch for changes made to the standalone UI entry point and rebuild:

yarn start:standalone