Home / File/ CommitTreeBuilder.js — react Source File

CommitTreeBuilder.js — react Source File

Architecture documentation for CommitTreeBuilder.js, a javascript file in the react codebase. 5 imports, 1 dependents.

File javascript BabelCompiler Validation 5 imports 1 dependents 1 functions

Entity Profile

Dependency Diagram

graph LR
  9a35328e_d36f_c6be_c574_b617a15cc7b2["CommitTreeBuilder.js"]
  55d27179_f566_db64_927b_e95655abee00["constants"]
  9a35328e_d36f_c6be_c574_b617a15cc7b2 --> 55d27179_f566_db64_927b_e95655abee00
  627bb742_21aa_b4fd_fe2d_4a963a1f9278["utils"]
  9a35328e_d36f_c6be_c574_b617a15cc7b2 --> 627bb742_21aa_b4fd_fe2d_4a963a1f9278
  aec7978f_0a19_ba93_de9e_ac8cf5ddc74b["types"]
  9a35328e_d36f_c6be_c574_b617a15cc7b2 --> aec7978f_0a19_ba93_de9e_ac8cf5ddc74b
  a492fbd6_4e1c_c19f_6b2f_72218f3abe3f["ProfilerStore"]
  9a35328e_d36f_c6be_c574_b617a15cc7b2 --> a492fbd6_4e1c_c19f_6b2f_72218f3abe3f
  3b8e08d7_68a2_d5e4_cf40_47447be1f73a["types"]
  9a35328e_d36f_c6be_c574_b617a15cc7b2 --> 3b8e08d7_68a2_d5e4_cf40_47447be1f73a
  a1b99932_7927_263d_aa52_4f1dbce5079e["SidebarCommitInfo.js"]
  a1b99932_7927_263d_aa52_4f1dbce5079e --> 9a35328e_d36f_c6be_c574_b617a15cc7b2
  style 9a35328e_d36f_c6be_c574_b617a15cc7b2 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
 */

import {
  __DEBUG__,
  TREE_OPERATION_ADD,
  TREE_OPERATION_REMOVE,
  TREE_OPERATION_REORDER_CHILDREN,
  TREE_OPERATION_SET_SUBTREE_MODE,
  TREE_OPERATION_UPDATE_TREE_BASE_DURATION,
  TREE_OPERATION_UPDATE_ERRORS_OR_WARNINGS,
  TREE_OPERATION_APPLIED_ACTIVITY_SLICE_CHANGE,
  SUSPENSE_TREE_OPERATION_ADD,
  SUSPENSE_TREE_OPERATION_REMOVE,
  SUSPENSE_TREE_OPERATION_REORDER_CHILDREN,
  SUSPENSE_TREE_OPERATION_RESIZE,
  SUSPENSE_TREE_OPERATION_SUSPENDERS,
} from 'react-devtools-shared/src/constants';
import {
  parseElementDisplayNameFromBackend,
  utfDecodeStringWithRanges,
} from 'react-devtools-shared/src/utils';
import {ElementTypeRoot} from 'react-devtools-shared/src/frontend/types';
import ProfilerStore from 'react-devtools-shared/src/devtools/ProfilerStore';

import type {ElementType} from 'react-devtools-shared/src/frontend/types';
import type {
  CommitTree,
  CommitTreeNode,
  ProfilingDataForRootFrontend,
} from 'react-devtools-shared/src/devtools/views/Profiler/types';

const debug = (methodName: string, ...args: Array<string>) => {
  if (__DEBUG__) {
    console.log(
      `%cCommitTreeBuilder %c${methodName}`,
      'color: pink; font-weight: bold;',
      'font-weight: bold;',
      ...args,
    );
  }
};

const rootToCommitTreeMap: Map<number, Array<CommitTree>> = new Map();

export function getCommitTree({
  commitIndex,
  profilerStore,
  rootID,
}: {
  commitIndex: number,
  profilerStore: ProfilerStore,
  rootID: number,
}): CommitTree {
// ... (479 more lines)

Domain

Subdomains

Functions

Dependencies

  • ProfilerStore
  • constants
  • types
  • types
  • utils

Frequently Asked Questions

What does CommitTreeBuilder.js do?
CommitTreeBuilder.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 CommitTreeBuilder.js?
CommitTreeBuilder.js defines 1 function(s): __printTree.
What does CommitTreeBuilder.js depend on?
CommitTreeBuilder.js imports 5 module(s): ProfilerStore, constants, types, types, utils.
What files import CommitTreeBuilder.js?
CommitTreeBuilder.js is imported by 1 file(s): SidebarCommitInfo.js.
Where is CommitTreeBuilder.js in the architecture?
CommitTreeBuilder.js is located at packages/react-devtools-shared/src/devtools/views/Profiler/CommitTreeBuilder.js (domain: BabelCompiler, subdomain: Validation, directory: packages/react-devtools-shared/src/devtools/views/Profiler).

Analyze Your Own Codebase

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

Try Supermodel Free