From 4ae60dffa2916a96c1023fea44147b321635da9e Mon Sep 17 00:00:00 2001 From: Manas Date: Fri, 30 Jun 2017 10:19:19 +0530 Subject: [PATCH 1/2] Adds `testMinification` to assist react devtools to look for minification --- src/renderers/shared/fiber/ReactFiberDevToolsHook.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/renderers/shared/fiber/ReactFiberDevToolsHook.js b/src/renderers/shared/fiber/ReactFiberDevToolsHook.js index dbf88b83492..2998dcfd281 100644 --- a/src/renderers/shared/fiber/ReactFiberDevToolsHook.js +++ b/src/renderers/shared/fiber/ReactFiberDevToolsHook.js @@ -23,6 +23,15 @@ let rendererID = null; let injectInternals = null; let onCommitRoot = null; let onCommitUnmount = null; + +// A dummy function to check for minification during runtime +// Refer https://github.com/facebook/react-devtools/issues/694#issuecomment-300535376 +var testMinification = function testMinification() { + if (__DEV__) { + return 42; + } +}; + if ( typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && __REACT_DEVTOOLS_GLOBAL_HOOK__.supportsFiber @@ -35,7 +44,7 @@ if ( injectInternals = function(internals: Object) { warning(rendererID == null, 'Cannot inject into DevTools twice.'); - rendererID = inject(internals); + rendererID = inject(Object.assign({}, internals, {testMinification})); }; onCommitRoot = function(root: FiberRoot) { From 70aa887a1e1ad7820d793c935722e3455ee9865f Mon Sep 17 00:00:00 2001 From: Manas Date: Fri, 30 Jun 2017 10:21:38 +0530 Subject: [PATCH 2/2] Adds a warning for minified development build --- src/renderers/shared/fiber/ReactFiberDevToolsHook.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/renderers/shared/fiber/ReactFiberDevToolsHook.js b/src/renderers/shared/fiber/ReactFiberDevToolsHook.js index 2998dcfd281..dd01eb4d070 100644 --- a/src/renderers/shared/fiber/ReactFiberDevToolsHook.js +++ b/src/renderers/shared/fiber/ReactFiberDevToolsHook.js @@ -32,6 +32,15 @@ var testMinification = function testMinification() { } }; +warning( + (testMinification.name || testMinification.toString()) + .indexOf('testMinification') !== -1, + "It looks like you're using a minified copy of the development build " + + 'of React. When deploying React apps to production, make sure to use ' + + 'the production build which skips development warnings and is faster. ' + + 'See https://fb.me/react-minification for more details.', +); + if ( typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && __REACT_DEVTOOLS_GLOBAL_HOOK__.supportsFiber