index.ts — react Source File
Architecture documentation for index.ts, a typescript file in the react codebase. 6 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR 4a067d5c_bbcb_c424_2a8c_331d08f994f4["index.ts"] 102f7d62_f771_0080_dd43_d867f5a8bd55["core"] 4a067d5c_bbcb_c424_2a8c_331d08f994f4 --> 102f7d62_f771_0080_dd43_d867f5a8bd55 33e3aca7_66ee_ce27_72ad_b6d7fb17e06c["babel-plugin-react-compiler"] 4a067d5c_bbcb_c424_2a8c_331d08f994f4 --> 33e3aca7_66ee_ce27_72ad_b6d7fb17e06c 37f720e4_fff3_ae37_6209_c9a4d57720ea["babel.js"] 4a067d5c_bbcb_c424_2a8c_331d08f994f4 --> 37f720e4_fff3_ae37_6209_c9a4d57720ea 2fb395b5_83d7_bd84_f6d4_e6eb93d46cbe["estree"] 4a067d5c_bbcb_c424_2a8c_331d08f994f4 --> 2fb395b5_83d7_bd84_f6d4_e6eb93d46cbe c8164626_5f31_06be_8d18_f60b20438832["typescript"] 4a067d5c_bbcb_c424_2a8c_331d08f994f4 --> c8164626_5f31_06be_8d18_f60b20438832 cf4e707f_7fdd_6e90_ffb8_10ca93718846["standalone"] 4a067d5c_bbcb_c424_2a8c_331d08f994f4 --> cf4e707f_7fdd_6e90_ffb8_10ca93718846 45729896_cc85_f8cb_a3e3_efc08e3b01a6["index.ts"] 45729896_cc85_f8cb_a3e3_efc08e3b01a6 --> 4a067d5c_bbcb_c424_2a8c_331d08f994f4 style 4a067d5c_bbcb_c424_2a8c_331d08f994f4 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';
import * as babelParser from 'prettier/plugins/babel.js';
import estreeParser from 'prettier/plugins/estree';
import * as typescriptParser from 'prettier/plugins/typescript';
import * as prettier from 'prettier/standalone';
export let lastResult: BabelCore.BabelFileResult | null = null;
type CompileOptions = {
text: string;
file: string;
options: PluginOptions | null;
};
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
Functions
Types
Dependencies
- babel-plugin-react-compiler
- babel.js
- core
- estree
- standalone
- typescript
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 6 module(s): babel-plugin-react-compiler, babel.js, core, estree, standalone, typescript.
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-forgive/server/src/compiler/index.ts (domain: BabelCompiler, subdomain: Validation, directory: compiler/packages/react-forgive/server/src/compiler).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free