diff --git a/packages/react-devtools-core/src/backend.js b/packages/react-devtools-core/src/backend.js index 67238c3d83..fa236c2c6b 100644 --- a/packages/react-devtools-core/src/backend.js +++ b/packages/react-devtools-core/src/backend.js @@ -189,34 +189,38 @@ export function connectToDevTools(options: ?ConnectOptions) { } }; - Object.defineProperty( - hook, - 'resolveRNStyle', - ({ - enumerable: false, - get() { - return lazyResolveRNStyle; - }, - set(value) { - lazyResolveRNStyle = value; - initAfterTick(); - }, - }: Object), - ); - Object.defineProperty( - hook, - 'nativeStyleEditorValidAttributes', - ({ - enumerable: false, - get() { - return lazyNativeStyleEditorValidAttributes; - }, - set(value) { - lazyNativeStyleEditorValidAttributes = value; - initAfterTick(); - }, - }: Object), - ); + if (!hook.hasOwnProperty('resolveRNStyle')) { + Object.defineProperty( + hook, + 'resolveRNStyle', + ({ + enumerable: false, + get() { + return lazyResolveRNStyle; + }, + set(value) { + lazyResolveRNStyle = value; + initAfterTick(); + }, + }: Object), + ); + } + if (!hook.hasOwnProperty('nativeStyleEditorValidAttributes')) { + Object.defineProperty( + hook, + 'nativeStyleEditorValidAttributes', + ({ + enumerable: false, + get() { + return lazyNativeStyleEditorValidAttributes; + }, + set(value) { + lazyNativeStyleEditorValidAttributes = value; + initAfterTick(); + }, + }: Object), + ); + } } }; diff --git a/packages/react-devtools-core/webpack.backend.js b/packages/react-devtools-core/webpack.backend.js index 1a2dbd2758..f2e85842a6 100644 --- a/packages/react-devtools-core/webpack.backend.js +++ b/packages/react-devtools-core/webpack.backend.js @@ -11,6 +11,8 @@ if (!NODE_ENV) { process.exit(1); } +const builtModulesDir = resolve(__dirname, '..', '..', 'build', 'node_modules'); + const __DEV__ = NODE_ENV === 'development'; const GITHUB_URL = getGitHubURL(); @@ -30,6 +32,15 @@ module.exports = { library: 'ReactDevToolsBackend', libraryTarget: 'umd', }, + resolve: { + alias: { + react: resolve(builtModulesDir, 'react'), + 'react-dom': resolve(builtModulesDir, 'react-dom'), + 'react-debug-tools': resolve(builtModulesDir, 'react-debug-tools'), + 'react-is': resolve(builtModulesDir, 'react-is'), + scheduler: resolve(builtModulesDir, 'scheduler'), + }, + }, plugins: [ new DefinePlugin({ __DEV__: true, diff --git a/packages/react-devtools-core/webpack.standalone.js b/packages/react-devtools-core/webpack.standalone.js index 4955a39643..fa3caf4e00 100644 --- a/packages/react-devtools-core/webpack.standalone.js +++ b/packages/react-devtools-core/webpack.standalone.js @@ -11,6 +11,8 @@ if (!NODE_ENV) { process.exit(1); } +const builtModulesDir = resolve(__dirname, '..', '..', 'build', 'node_modules'); + const __DEV__ = NODE_ENV === 'development'; const GITHUB_URL = getGitHubURL(); @@ -29,6 +31,15 @@ module.exports = { library: '[name]', libraryTarget: 'commonjs2', }, + resolve: { + alias: { + react: resolve(builtModulesDir, 'react'), + 'react-dom': resolve(builtModulesDir, 'react-dom'), + 'react-debug-tools': resolve(builtModulesDir, 'react-debug-tools'), + 'react-is': resolve(builtModulesDir, 'react-is'), + scheduler: resolve(builtModulesDir, 'scheduler'), + }, + }, plugins: [ new DefinePlugin({ __DEV__: false, diff --git a/packages/react-devtools/README.md b/packages/react-devtools/README.md index 2220a6661d..399bb5a5d5 100644 --- a/packages/react-devtools/README.md +++ b/packages/react-devtools/README.md @@ -92,7 +92,7 @@ By default DevTools listen to port `8097` on `localhost`. If you need to customi ## Developing -* Run `yarn run backend:watch` and `yarn run standalone:watch` in `../react-devtools-core` +* Run `yarn start:backend` and `yarn start:standalone` in `../react-devtools-core` * Run `yarn start` in this folder * Refresh the app after it has recompiled a change * For React Native, copy `react-devtools-core` to its `node_modules` to test your changes. \ No newline at end of file