Home / Function/ validateNoUntransformedReferences() — react Function Reference

validateNoUntransformedReferences() — react Function Reference

Architecture documentation for the validateNoUntransformedReferences() function in ValidateNoUntransformedReferences.ts from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  e9305144_35b9_6cfd_0fec_af0783a96987["validateNoUntransformedReferences()"]
  93f3a2c7_a7ce_3c94_87fe_ee7d66d9b64b["ValidateNoUntransformedReferences.ts"]
  e9305144_35b9_6cfd_0fec_af0783a96987 -->|defined in| 93f3a2c7_a7ce_3c94_87fe_ee7d66d9b64b
  8b3d020f_cfed_25b4_5f08_f8818958ca03["BabelPluginReactCompiler()"]
  8b3d020f_cfed_25b4_5f08_f8818958ca03 -->|calls| e9305144_35b9_6cfd_0fec_af0783a96987
  4663af75_e270_25e3_3415_1230be609d66["getOrInsertWith()"]
  e9305144_35b9_6cfd_0fec_af0783a96987 -->|calls| 4663af75_e270_25e3_3415_1230be609d66
  6c6008c2_2667_c1e0_d0ae_ea81069aa361["transformProgram()"]
  e9305144_35b9_6cfd_0fec_af0783a96987 -->|calls| 6c6008c2_2667_c1e0_d0ae_ea81069aa361
  style e9305144_35b9_6cfd_0fec_af0783a96987 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

compiler/packages/babel-plugin-react-compiler/src/Entrypoint/ValidateNoUntransformedReferences.ts lines 144–180

export default function validateNoUntransformedReferences(
  path: NodePath<t.Program>,
  filename: string | null,
  logger: Logger | null,
  env: EnvironmentConfig,
  compileResult: CompileProgramMetadata | null,
): void {
  const moduleLoadChecks = new Map<
    string,
    Map<string, CheckInvalidReferenceFn>
  >();
  if (env.enableFire) {
    /**
     * Error on any untransformed references to `fire` (e.g. including non-call
     * expressions)
     */
    for (const module of Environment.knownReactModules) {
      const react = getOrInsertWith(moduleLoadChecks, module, () => new Map());
      react.set('fire', assertValidFireImportReference);
    }
  }
  if (env.inferEffectDependencies) {
    for (const {
      function: {source, importSpecifierName},
      autodepsIndex,
    } of env.inferEffectDependencies) {
      const module = getOrInsertWith(moduleLoadChecks, source, () => new Map());
      module.set(
        importSpecifierName,
        assertValidEffectImportReference.bind(null, autodepsIndex),
      );
    }
  }
  if (moduleLoadChecks.size > 0) {
    transformProgram(path, moduleLoadChecks, filename, logger, compileResult);
  }
}

Domain

Subdomains

Frequently Asked Questions

What does validateNoUntransformedReferences() do?
validateNoUntransformedReferences() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/Entrypoint/ValidateNoUntransformedReferences.ts.
Where is validateNoUntransformedReferences() defined?
validateNoUntransformedReferences() is defined in compiler/packages/babel-plugin-react-compiler/src/Entrypoint/ValidateNoUntransformedReferences.ts at line 144.
What does validateNoUntransformedReferences() call?
validateNoUntransformedReferences() calls 2 function(s): getOrInsertWith, transformProgram.
What calls validateNoUntransformedReferences()?
validateNoUntransformedReferences() is called by 1 function(s): BabelPluginReactCompiler.

Analyze Your Own Codebase

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

Try Supermodel Free