Home / File/ RunReactCompilerBabelPlugin.ts — react Source File

RunReactCompilerBabelPlugin.ts — react Source File

Architecture documentation for RunReactCompilerBabelPlugin.ts, a typescript file in the react codebase. 6 imports, 1 dependents.

File typescript BabelCompiler Validation 6 imports 1 dependents 1 functions

Entity Profile

Dependency Diagram

graph LR
  c6896d44_e5ce_4c66_954a_6a203b10cde4["RunReactCompilerBabelPlugin.ts"]
  6ec70299_8c45_d057_8deb_dd41bb1f7153["index.ts"]
  c6896d44_e5ce_4c66_954a_6a203b10cde4 --> 6ec70299_8c45_d057_8deb_dd41bb1f7153
  f3b73a1d_8eeb_a8b2_a886_c8b8c2f58490["BabelPlugin.ts"]
  c6896d44_e5ce_4c66_954a_6a203b10cde4 --> f3b73a1d_8eeb_a8b2_a886_c8b8c2f58490
  8b3d020f_cfed_25b4_5f08_f8818958ca03["BabelPluginReactCompiler"]
  c6896d44_e5ce_4c66_954a_6a203b10cde4 --> 8b3d020f_cfed_25b4_5f08_f8818958ca03
  102f7d62_f771_0080_dd43_d867f5a8bd55["core"]
  c6896d44_e5ce_4c66_954a_6a203b10cde4 --> 102f7d62_f771_0080_dd43_d867f5a8bd55
  ba38a3cc_fa9d_cd5d_0746_ec93bcb397e1["parser"]
  c6896d44_e5ce_4c66_954a_6a203b10cde4 --> ba38a3cc_fa9d_cd5d_0746_ec93bcb397e1
  7b0f5d46_efcb_4a2d_89c1_7cee4a0f9bc8["invariant"]
  c6896d44_e5ce_4c66_954a_6a203b10cde4 --> 7b0f5d46_efcb_4a2d_89c1_7cee4a0f9bc8
  23ce0d0c_7009_482d_b3bb_8436415f28d1["Logger-test.ts"]
  23ce0d0c_7009_482d_b3bb_8436415f28d1 --> c6896d44_e5ce_4c66_954a_6a203b10cde4
  style c6896d44_e5ce_4c66_954a_6a203b10cde4 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.
 */

import type * as BabelCore from '@babel/core';
import {transformFromAstSync} from '@babel/core';
import * as BabelParser from '@babel/parser';
import invariant from 'invariant';
import type {PluginOptions} from '../Entrypoint';
import BabelPluginReactCompiler from './BabelPlugin';

export const DEFAULT_PLUGINS = ['babel-plugin-fbt', 'babel-plugin-fbt-runtime'];
export function runBabelPluginReactCompiler(
  text: string,
  file: string,
  language: 'flow' | 'typescript',
  options: PluginOptions | null,
  includeAst: boolean = false,
): BabelCore.BabelFileResult {
  const ast = BabelParser.parse(text, {
    sourceFilename: file,
    plugins: [language, 'jsx'],
    sourceType: 'module',
  });
  const result = transformFromAstSync(ast, text, {
    ast: includeAst,
    filename: file,
    highlightCode: false,
    retainLines: true,
    plugins: [
      [BabelPluginReactCompiler, options],
      'babel-plugin-fbt',
      'babel-plugin-fbt-runtime',
    ],
    sourceType: 'module',
    configFile: false,
    babelrc: false,
  });
  invariant(
    result?.code != null,
    `Expected BabelPluginReactForget to codegen successfully, got: ${result}`,
  );
  return result;
}

Domain

Subdomains

Dependencies

Frequently Asked Questions

What does RunReactCompilerBabelPlugin.ts do?
RunReactCompilerBabelPlugin.ts is a source file in the react codebase, written in typescript. It belongs to the BabelCompiler domain, Validation subdomain.
What functions are defined in RunReactCompilerBabelPlugin.ts?
RunReactCompilerBabelPlugin.ts defines 1 function(s): runBabelPluginReactCompiler.
What does RunReactCompilerBabelPlugin.ts depend on?
RunReactCompilerBabelPlugin.ts imports 6 module(s): BabelPlugin.ts, BabelPluginReactCompiler, core, index.ts, invariant, parser.
What files import RunReactCompilerBabelPlugin.ts?
RunReactCompilerBabelPlugin.ts is imported by 1 file(s): Logger-test.ts.
Where is RunReactCompilerBabelPlugin.ts in the architecture?
RunReactCompilerBabelPlugin.ts is located at compiler/packages/babel-plugin-react-compiler/src/Babel/RunReactCompilerBabelPlugin.ts (domain: BabelCompiler, subdomain: Validation, directory: compiler/packages/babel-plugin-react-compiler/src/Babel).

Analyze Your Own Codebase

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

Try Supermodel Free