Home / Function/ compile() — react Function Reference

compile() — react Function Reference

Architecture documentation for the compile() function in index.ts from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  7de81da8_4c64_d7e3_9e79_4b022a251d41["compile()"]
  4a067d5c_bbcb_c424_2a8c_331d08f994f4["index.ts"]
  7de81da8_4c64_d7e3_9e79_4b022a251d41 -->|defined in| 4a067d5c_bbcb_c424_2a8c_331d08f994f4
  style 7de81da8_4c64_d7e3_9e79_4b022a251d41 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

compiler/packages/react-forgive/server/src/compiler/index.ts lines 25–70

export async function compile({
  text,
  file,
  options,
}: CompileOptions): Promise<BabelCore.BabelFileResult | null> {
  const ast = await parseAsync(text, {
    sourceFileName: file,
    parserOpts: {
      plugins: ['typescript', 'jsx'],
    },
    sourceType: 'module',
    configFile: false,
    babelrc: false,
  });
  if (ast == null) {
    return null;
  }
  const plugins =
    options != null
      ? [[BabelPluginReactCompiler, options]]
      : [[BabelPluginReactCompiler]];
  const result = await transformFromAstAsync(ast, text, {
    filename: file,
    highlightCode: false,
    retainLines: true,
    plugins,
    sourceType: 'module',
    sourceFileName: file,
    configFile: false,
    babelrc: false,
  });
  if (result?.code == null) {
    throw new Error(
      `Expected BabelPluginReactCompiler to compile successfully, got ${result}`,
    );
  }
  result.code = await prettier.format(result.code, {
    semi: false,
    parser: 'babel-ts',
    plugins: [babelParser, estreeParser, typescriptParser],
  });
  if (result.code != null) {
    lastResult = result;
  }
  return result;
}

Domain

Subdomains

Frequently Asked Questions

What does compile() do?
compile() is a function in the react codebase, defined in compiler/packages/react-forgive/server/src/compiler/index.ts.
Where is compile() defined?
compile() is defined in compiler/packages/react-forgive/server/src/compiler/index.ts at line 25.

Analyze Your Own Codebase

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

Try Supermodel Free