1. import {installHook} from 'react-devtools-shared/src/hook';
    
  2. 
    
  3. // avoid double execution
    
  4. if (!window.hasOwnProperty('__REACT_DEVTOOLS_GLOBAL_HOOK__')) {
    
  5.   installHook(window);
    
  6. 
    
  7.   // detect react
    
  8.   window.__REACT_DEVTOOLS_GLOBAL_HOOK__.on(
    
  9.     'renderer',
    
  10.     function ({reactBuildType}) {
    
  11.       window.postMessage(
    
  12.         {
    
  13.           source: 'react-devtools-hook',
    
  14.           payload: {
    
  15.             type: 'react-renderer-attached',
    
  16.             reactBuildType,
    
  17.           },
    
  18.         },
    
  19.         '*',
    
  20.       );
    
  21.     },
    
  22.   );
    
  23. 
    
  24.   // save native values
    
  25.   window.__REACT_DEVTOOLS_GLOBAL_HOOK__.nativeObjectCreate = Object.create;
    
  26.   window.__REACT_DEVTOOLS_GLOBAL_HOOK__.nativeMap = Map;
    
  27.   window.__REACT_DEVTOOLS_GLOBAL_HOOK__.nativeWeakMap = WeakMap;
    
  28.   window.__REACT_DEVTOOLS_GLOBAL_HOOK__.nativeSet = Set;
    
  29. }