Home / File/ shouldIgnoreConsoleError.js — react Source File

shouldIgnoreConsoleError.js — react Source File

Architecture documentation for shouldIgnoreConsoleError.js, a javascript file in the react codebase.

Entity Profile

Relationship Graph

Source Code

'use strict';

module.exports = function shouldIgnoreConsoleError(format, args) {
  if (__DEV__) {
    if (typeof format === 'string') {
      if (format.startsWith('%c%s')) {
        // Looks like a badged error message
        args.splice(0, 3);
      }
      if (
        args[0] != null &&
        ((typeof args[0] === 'object' &&
          typeof args[0].message === 'string' &&
          // This specific log has the same signature as error logging.
          // The trick is to get rid of this whole file.
          !format.includes('Failed to serialize an action') &&
          typeof args[0].stack === 'string') ||
          (typeof args[0] === 'string' &&
            args[0].indexOf('An error occurred in ') === 0))
      ) {
        // This looks like an error with addendum from ReactFiberErrorLogger.
        // They are noisy too so we'll try to ignore them.
        return true;
      }
      if (
        format.indexOf('ReactDOM.render was removed in React 19') !== -1 ||
        format.indexOf('ReactDOM.hydrate was removed in React 19') !== -1 ||
        format.indexOf(
          'ReactDOM.render has not been supported since React 18',
        ) !== -1 ||
        format.indexOf(
          'ReactDOM.hydrate has not been supported since React 18',
        ) !== -1 ||
        format.indexOf('react-test-renderer is deprecated.') !== -1
      ) {
        // We haven't finished migrating our tests to use createRoot.
        return true;
      }
    }
  } else {
    if (
      format != null &&
      typeof format.message === 'string' &&
      typeof format.stack === 'string' &&
      args.length === 0
    ) {
      // In production, ReactFiberErrorLogger logs error objects directly.
      // They are noisy too so we'll try to ignore them.
      return true;
    }
  }
  // Looks legit
  return false;
};

Domain

Subdomains

Functions

Frequently Asked Questions

What does shouldIgnoreConsoleError.js do?
shouldIgnoreConsoleError.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain, Entrypoint subdomain.
What functions are defined in shouldIgnoreConsoleError.js?
shouldIgnoreConsoleError.js defines 1 function(s): module.
Where is shouldIgnoreConsoleError.js in the architecture?
shouldIgnoreConsoleError.js is located at packages/internal-test-utils/shouldIgnoreConsoleError.js (domain: BabelCompiler, subdomain: Entrypoint, directory: packages/internal-test-utils).

Analyze Your Own Codebase

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

Try Supermodel Free