Home / File/ DevTools.js — react Source File

DevTools.js — react Source File

Architecture documentation for DevTools.js, a javascript file in the react codebase. 46 imports, 0 dependents.

File javascript BabelCompiler Validation 46 imports 2 functions

Entity Profile

Dependency Diagram

graph LR
  e2c52a93_982e_407f_9fee_e89aa134ae9d["DevTools.js"]
  bba85af0_a356_d0c5_4d12_914508b89593["store.js"]
  e2c52a93_982e_407f_9fee_e89aa134ae9d --> bba85af0_a356_d0c5_4d12_914508b89593
  913bb343_55ea_f1b8_08f5_b75cb0a92b76["context.js"]
  e2c52a93_982e_407f_9fee_e89aa134ae9d --> 913bb343_55ea_f1b8_08f5_b75cb0a92b76
  a2fac529_5caa_fd15_61d0_e5b11d75bdd2["Components.js"]
  e2c52a93_982e_407f_9fee_e89aa134ae9d --> a2fac529_5caa_fd15_61d0_e5b11d75bdd2
  f1044dd1_197d_f5ff_fe4b_853c7bf91daf["Components"]
  e2c52a93_982e_407f_9fee_e89aa134ae9d --> f1044dd1_197d_f5ff_fe4b_853c7bf91daf
  2e59ff66_9c56_6e37_8843_8e474e6b0d70["Profiler.js"]
  e2c52a93_982e_407f_9fee_e89aa134ae9d --> 2e59ff66_9c56_6e37_8843_8e474e6b0d70
  2f16f870_123e_9558_ebe4_b2572ca1bd37["Profiler"]
  e2c52a93_982e_407f_9fee_e89aa134ae9d --> 2f16f870_123e_9558_ebe4_b2572ca1bd37
  3249b7c1_ae10_2672_10ce_a66fd0ee6f60["SuspenseTab.js"]
  e2c52a93_982e_407f_9fee_e89aa134ae9d --> 3249b7c1_ae10_2672_10ce_a66fd0ee6f60
  8fa34834_c8ed_e954_92d8_678860d0b139["SuspenseTab"]
  e2c52a93_982e_407f_9fee_e89aa134ae9d --> 8fa34834_c8ed_e954_92d8_678860d0b139
  1356ba82_c85f_323e_8c5f_e616c171f6ad["TabBar.js"]
  e2c52a93_982e_407f_9fee_e89aa134ae9d --> 1356ba82_c85f_323e_8c5f_e616c171f6ad
  cbbc189a_3397_6ee7_339c_6996a36ac0e5["TabBar"]
  e2c52a93_982e_407f_9fee_e89aa134ae9d --> cbbc189a_3397_6ee7_339c_6996a36ac0e5
  6b10ae9e_a560_a310_ddb0_99f0d8e5ab0c["EditorPane.js"]
  e2c52a93_982e_407f_9fee_e89aa134ae9d --> 6b10ae9e_a560_a310_ddb0_99f0d8e5ab0c
  176a72fa_ccf9_6b77_cd18_6adab3402c52["EditorPane"]
  e2c52a93_982e_407f_9fee_e89aa134ae9d --> 176a72fa_ccf9_6b77_cd18_6adab3402c52
  1c1974f8_c118_3dce_d6df_e0608b9225b6["InspectedElementPane.js"]
  e2c52a93_982e_407f_9fee_e89aa134ae9d --> 1c1974f8_c118_3dce_d6df_e0608b9225b6
  05a02a5e_0fb5_4040_b325_0d77d8227daf["InspectedElementPane"]
  e2c52a93_982e_407f_9fee_e89aa134ae9d --> 05a02a5e_0fb5_4040_b325_0d77d8227daf
  style e2c52a93_982e_407f_9fee_e89aa134ae9d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @flow
 */

// Reach styles need to come before any component styles.
// This makes overriding the styles simpler.
import '@reach/menu-button/styles.css';
import '@reach/tooltip/styles.css';

import * as React from 'react';
import {useCallback, useEffect, useLayoutEffect, useMemo, useRef} from 'react';
import Store from '../store';
import {
  BridgeContext,
  ContextMenuContext,
  StoreContext,
  OptionsContext,
} from './context';
import Components from './Components/Components';
import Profiler from './Profiler/Profiler';
import SuspenseTab from './SuspenseTab/SuspenseTab';
import TabBar from './TabBar';
import EditorPane from './Editor/EditorPane';
import InspectedElementPane from './InspectedElement/InspectedElementPane';
import {SettingsContextController} from './Settings/SettingsContext';
import {TreeContextController} from './Components/TreeContext';
import ViewElementSourceContext from './Components/ViewElementSourceContext';
import FetchFileWithCachingContext from './Components/FetchFileWithCachingContext';
import {InspectedElementContextController} from './Components/InspectedElementContext';
import HookNamesModuleLoaderContext from 'react-devtools-shared/src/devtools/views/Components/HookNamesModuleLoaderContext';
import {ProfilerContextController} from './Profiler/ProfilerContext';
import {SuspenseTreeContextController} from './SuspenseTab/SuspenseTreeContext';
import {TimelineContextController} from 'react-devtools-timeline/src/TimelineContext';
import {ModalDialogContextController} from './ModalDialog';
import ReactLogo from './ReactLogo';
import UnsupportedBridgeProtocolDialog from './UnsupportedBridgeProtocolDialog';
import UnsupportedVersionDialog from './UnsupportedVersionDialog';
import WarnIfLegacyBackendDetected from './WarnIfLegacyBackendDetected';
import {useLocalStorage} from './hooks';
import ThemeProvider from './ThemeProvider';
import {LOCAL_STORAGE_DEFAULT_TAB_KEY} from '../../constants';
import {logEvent} from '../../Logger';

import styles from './DevTools.css';

import './root.css';

import type {FetchFileWithCaching} from './Components/FetchFileWithCachingContext';
import type {HookNamesModuleLoaderFunction} from 'react-devtools-shared/src/devtools/views/Components/HookNamesModuleLoaderContext';
import type {FrontendBridge} from 'react-devtools-shared/src/bridge';
import type {BrowserTheme} from 'react-devtools-shared/src/frontend/types';
import type {ReactFunctionLocation, ReactCallSite} from 'shared/ReactTypes';
import type {SourceSelection} from './Editor/EditorPane';

export type TabID = 'components' | 'profiler' | 'suspense';
// ... (353 more lines)

Domain

Subdomains

Frequently Asked Questions

What does DevTools.js do?
DevTools.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain, Validation subdomain.
What functions are defined in DevTools.js?
DevTools.js defines 2 function(s): DevTools, useIsSuspenseTabEnabled.
What does DevTools.js depend on?
DevTools.js imports 46 module(s): Components, Components.js, DevTools.css, EditorPane, EditorPane.js, FetchFileWithCachingContext.js, HookNamesModuleLoaderContext, InspectedElementContext.js, and 38 more.
Where is DevTools.js in the architecture?
DevTools.js is located at packages/react-devtools-shared/src/devtools/views/DevTools.js (domain: BabelCompiler, subdomain: Validation, directory: packages/react-devtools-shared/src/devtools/views).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free