Home / File/ utils.js — react Source File

utils.js — react Source File

Architecture documentation for utils.js, a javascript file in the react codebase. 8 imports, 18 dependents.

File javascript BabelCompiler Validation 8 imports 18 dependents 13 functions

Entity Profile

Dependency Diagram

graph LR
  7ea1760e_9c01_71c9_3ba5_32a9a10a0ce4["utils.js"]
  c2945cf4_a916_9f3b_61d2_fd38683ed088["ReactVersions.js"]
  7ea1760e_9c01_71c9_3ba5_32a9a10a0ce4 --> c2945cf4_a916_9f3b_61d2_fd38683ed088
  4eb12198_9a41_d26c_5aca_d7d500655e3a["semver"]
  7ea1760e_9c01_71c9_3ba5_32a9a10a0ce4 --> 4eb12198_9a41_d26c_5aca_d7d500655e3a
  c35c44bf_9a2b_ea9d_66a5_fdc3214df637["react-test-renderer"]
  7ea1760e_9c01_71c9_3ba5_32a9a10a0ce4 --> c35c44bf_9a2b_ea9d_66a5_fdc3214df637
  4077b620_5c59_61c2_0910_273f565da757["bridge"]
  7ea1760e_9c01_71c9_3ba5_32a9a10a0ce4 --> 4077b620_5c59_61c2_0910_273f565da757
  baf70b0e_4867_b3ed_962a_e5c9ae820fef["store"]
  7ea1760e_9c01_71c9_3ba5_32a9a10a0ce4 --> baf70b0e_4867_b3ed_962a_e5c9ae820fef
  3b8e08d7_68a2_d5e4_cf40_47447be1f73a["types"]
  7ea1760e_9c01_71c9_3ba5_32a9a10a0ce4 --> 3b8e08d7_68a2_d5e4_cf40_47447be1f73a
  aec7978f_0a19_ba93_de9e_ac8cf5ddc74b["types"]
  7ea1760e_9c01_71c9_3ba5_32a9a10a0ce4 --> aec7978f_0a19_ba93_de9e_ac8cf5ddc74b
  ac587885_e294_a1e9_b13f_5e7b920fdb42["react"]
  7ea1760e_9c01_71c9_3ba5_32a9a10a0ce4 --> ac587885_e294_a1e9_b13f_5e7b920fdb42
  35825149_7222_671b_4c04_d647edd2f55a["FastRefreshDevToolsIntegration-test.js"]
  35825149_7222_671b_4c04_d647edd2f55a --> 7ea1760e_9c01_71c9_3ba5_32a9a10a0ce4
  cf4707e8_dec8_5b3b_7a75_23dfe1f321e7["TimelineProfiler-test.js"]
  cf4707e8_dec8_5b3b_7a75_23dfe1f321e7 --> 7ea1760e_9c01_71c9_3ba5_32a9a10a0ce4
  df7cfb22_5a3b_8a9a_0fbe_95af9bc186f9["compiler-integration-test.js"]
  df7cfb22_5a3b_8a9a_0fbe_95af9bc186f9 --> 7ea1760e_9c01_71c9_3ba5_32a9a10a0ce4
  bd74aa33_85ac_3db3_8a83_21cf5643c02f["editing-test.js"]
  bd74aa33_85ac_3db3_8a83_21cf5643c02f --> 7ea1760e_9c01_71c9_3ba5_32a9a10a0ce4
  2a396cf5_bb0d_850e_8c1a_5b2c4d0ca132["ownersListContext-test.js"]
  2a396cf5_bb0d_850e_8c1a_5b2c4d0ca132 --> 7ea1760e_9c01_71c9_3ba5_32a9a10a0ce4
  b139f981_ae09_68e0_da47_94ab791ceff1["preprocessData-test.js"]
  b139f981_ae09_68e0_da47_94ab791ceff1 --> 7ea1760e_9c01_71c9_3ba5_32a9a10a0ce4
  style 7ea1760e_9c01_71c9_3ba5_32a9a10a0ce4 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 semver from 'semver';

import typeof ReactTestRenderer from 'react-test-renderer';

import type {FrontendBridge} from 'react-devtools-shared/src/bridge';
import type Store from 'react-devtools-shared/src/devtools/store';
import type {ProfilingDataFrontend} from 'react-devtools-shared/src/devtools/views/Profiler/types';
import type {ElementType} from 'react-devtools-shared/src/frontend/types';
import type {Node as ReactNode} from 'react';

import {ReactVersion} from '../../../../ReactVersions';

const requestedReactVersion = process.env.REACT_VERSION || ReactVersion;
export function getActDOMImplementation(): () => void | Promise<void> {
  // This is for React < 17, where act wasn't shipped yet.
  if (semver.lt(requestedReactVersion, '17.0.0')) {
    require('react-dom/test-utils');
    return cb => cb();
  }

  // This is for React < 18, where act was distributed in react-dom/test-utils.
  if (semver.lt(requestedReactVersion, '18.0.0')) {
    const ReactDOMTestUtils = require('react-dom/test-utils');
    return ReactDOMTestUtils.act;
  }

  const React = require('react');
  // This is for React 18, where act was distributed in react as unstable.
  if (React.unstable_act) {
    return React.unstable_act;
  }

  // This is for React > 18, where act is marked as stable.
  if (React.act) {
    return React.act;
  }

  throw new Error("Couldn't find any available act implementation");
}

export function getActTestRendererImplementation(): () => void | Promise<void> {
  // This is for React < 17, where act wasn't shipped yet.
  if (semver.lt(requestedReactVersion, '17.0.0')) {
    require('react-test-renderer');
    return cb => cb();
  }

  const RTR = require('react-test-renderer');
  if (RTR.act) {
    return RTR.act;
  }
// ... (449 more lines)

Domain

Subdomains

Dependencies

Frequently Asked Questions

What does utils.js do?
utils.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 utils.js?
utils.js defines 13 function(s): beforeEachProfiling, createActivitySliceFilter, createDisplayNameFilter, createElementTypeFilter, createEnvironmentNameFilter, createHOCFilter, createLocationFilter, exportImportHelper, getLegacyRenderImplementation, getModernRenderImplementation, and 3 more.
What does utils.js depend on?
utils.js imports 8 module(s): ReactVersions.js, bridge, react, react-test-renderer, semver, store, types, types.
What files import utils.js?
utils.js is imported by 18 file(s): FastRefreshDevToolsIntegration-test.js, TimelineProfiler-test.js, compiler-integration-test.js, editing-test.js, ownersListContext-test.js, preprocessData-test.js, profilerChangeDescriptions-test.js, profilerContext-test.js, and 10 more.
Where is utils.js in the architecture?
utils.js is located at packages/react-devtools-shared/src/__tests__/utils.js (domain: BabelCompiler, subdomain: Validation, directory: packages/react-devtools-shared/src/__tests__).

Analyze Your Own Codebase

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

Try Supermodel Free