From 45dff31a7583ec0778f294b20b86c702f0bbc2b1 Mon Sep 17 00:00:00 2001 From: Brian Vaughn Date: Wed, 14 Aug 2019 11:22:28 -0700 Subject: [PATCH] Patched up react-devtools-core Webpack configs --- packages/react-devtools-core/src/backend.js | 60 ++++++++++--------- .../react-devtools-core/webpack.backend.js | 11 ++++ .../react-devtools-core/webpack.standalone.js | 11 ++++ packages/react-devtools/README.md | 2 +- 4 files changed, 55 insertions(+), 29 deletions(-) diff --git a/packages/react-devtools-core/src/backend.js b/packages/react-devtools-core/src/backend.js index 67238c3d8375..fa236c2c6b72 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 1a2dbd275885..f2e85842a6c7 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 4955a3964326..fa3caf4e00fa 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 2220a6661d5b..399bb5a5d5cd 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