Home / Function/ moduleName() — react Function Reference

moduleName() — react Function Reference

Architecture documentation for the moduleName() function in Environment.ts from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  79880207_5328_a00b_cfcb_8fdf6e292ccb["moduleName()"]
  a65d88c4_7784_b1f0_4559_df420613f9de["Environment"]
  79880207_5328_a00b_cfcb_8fdf6e292ccb -->|defined in| a65d88c4_7784_b1f0_4559_df420613f9de
  70b2fe48_c596_2d79_1d96_c728480e5922["throwInvalidConfig()"]
  79880207_5328_a00b_cfcb_8fdf6e292ccb -->|calls| 70b2fe48_c596_2d79_1d96_c728480e5922
  670b8233_a511_5e02_9ea8_f52b61e07c06["installTypeConfig()"]
  79880207_5328_a00b_cfcb_8fdf6e292ccb -->|calls| 670b8233_a511_5e02_9ea8_f52b61e07c06
  fd9968fe_692b_5be3_4f64_ee21075eda43["toString()"]
  79880207_5328_a00b_cfcb_8fdf6e292ccb -->|calls| fd9968fe_692b_5be3_4f64_ee21075eda43
  style 79880207_5328_a00b_cfcb_8fdf6e292ccb fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

compiler/packages/babel-plugin-react-compiler/src/HIR/Environment.ts lines 984–1026

  #resolveModuleType(moduleName: string, loc: SourceLocation): Global | null {
    let moduleType = this.#moduleTypes.get(moduleName);
    if (moduleType === undefined) {
      /*
       * NOTE: Zod doesn't work when specifying a function as a default, so we have to
       * fallback to the default value here
       */
      const moduleTypeProvider =
        this.config.moduleTypeProvider ?? defaultModuleTypeProvider;
      if (moduleTypeProvider == null) {
        return null;
      }
      if (typeof moduleTypeProvider !== 'function') {
        CompilerError.throwInvalidConfig({
          reason: `Expected a function for \`moduleTypeProvider\``,
          loc,
        });
      }
      const unparsedModuleConfig = moduleTypeProvider(moduleName);
      if (unparsedModuleConfig != null) {
        const parsedModuleConfig = TypeSchema.safeParse(unparsedModuleConfig);
        if (!parsedModuleConfig.success) {
          CompilerError.throwInvalidConfig({
            reason: `Could not parse module type, the configured \`moduleTypeProvider\` function returned an invalid module description`,
            description: parsedModuleConfig.error.toString(),
            loc,
          });
        }
        const moduleConfig = parsedModuleConfig.data;
        moduleType = installTypeConfig(
          this.#globals,
          this.#shapes,
          moduleConfig,
          moduleName,
          loc,
        );
      } else {
        moduleType = null;
      }
      this.#moduleTypes.set(moduleName, moduleType);
    }
    return moduleType;
  }

Subdomains

Frequently Asked Questions

What does moduleName() do?
moduleName() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/HIR/Environment.ts.
Where is moduleName() defined?
moduleName() is defined in compiler/packages/babel-plugin-react-compiler/src/HIR/Environment.ts at line 984.
What does moduleName() call?
moduleName() calls 3 function(s): installTypeConfig, throwInvalidConfig, toString.

Analyze Your Own Codebase

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

Try Supermodel Free