index.ts — react Source File
Architecture documentation for index.ts, a typescript file in the react codebase. 3 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR b656edc6_fe94_de98_6d14_11431f83e3a2["index.ts"] 102f7d62_f771_0080_dd43_d867f5a8bd55["core"] b656edc6_fe94_de98_6d14_11431f83e3a2 --> 102f7d62_f771_0080_dd43_d867f5a8bd55 6532b592_e173_3956_4bd1_d55d91adeefe["src"] b656edc6_fe94_de98_6d14_11431f83e3a2 --> 6532b592_e173_3956_4bd1_d55d91adeefe 2c31fc2d_8ad7_2757_84a0_d1d78436c41b["prettier"] b656edc6_fe94_de98_6d14_11431f83e3a2 --> 2c31fc2d_8ad7_2757_84a0_d1d78436c41b 18cd5de5_c350_7de1_3060_3c6253caf5c4["index.ts"] 18cd5de5_c350_7de1_3060_3c6253caf5c4 --> b656edc6_fe94_de98_6d14_11431f83e3a2 style b656edc6_fe94_de98_6d14_11431f83e3a2 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 {parseAsync, transformFromAstAsync} from '@babel/core';
import BabelPluginReactCompiler, {
type PluginOptions,
} from 'babel-plugin-react-compiler/src';
import * as prettier from 'prettier';
export let lastResult: BabelCore.BabelFileResult | null = null;
export type PrintedCompilerPipelineValue =
| {
kind: 'hir';
name: string;
fnName: string | null;
value: string;
}
| {kind: 'reactive'; name: string; fnName: string | null; value: string}
| {kind: 'debug'; name: string; fnName: string | null; value: string};
type CompileOptions = {
text: string;
file: string;
options: PluginOptions | null;
};
export async function compile({
text,
file,
options,
}: CompileOptions): Promise<BabelCore.BabelFileResult> {
const ast = await parseAsync(text, {
sourceFileName: file,
parserOpts: {
plugins: ['typescript', 'jsx'],
},
sourceType: 'module',
});
if (ast == null) {
throw new Error('Could not parse');
}
const plugins =
options != null
? [[BabelPluginReactCompiler, options]]
: [[BabelPluginReactCompiler]];
const result = await transformFromAstAsync(ast, text, {
filename: file,
highlightCode: false,
retainLines: true,
plugins,
sourceType: 'module',
sourceFileName: file,
});
if (result?.code == null) {
throw new Error(
`Expected BabelPluginReactCompiler to compile successfully, got ${result}`,
);
}
try {
result.code = await prettier.format(result.code, {
semi: false,
parser: 'babel-ts',
});
if (result.code != null) {
lastResult = result;
}
} catch (err) {
// If prettier failed just log, no need to crash
console.error(err);
}
return result;
}
Domain
Subdomains
Functions
Dependencies
- core
- prettier
- src
Imported By
Source
Frequently Asked Questions
What does index.ts do?
index.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 index.ts?
index.ts defines 1 function(s): compile.
What does index.ts depend on?
index.ts imports 3 module(s): core, prettier, src.
What files import index.ts?
index.ts is imported by 1 file(s): index.ts.
Where is index.ts in the architecture?
index.ts is located at compiler/packages/react-mcp-server/src/compiler/index.ts (domain: BabelCompiler, subdomain: Validation, directory: compiler/packages/react-mcp-server/src/compiler).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free