runReactCompilerImpl() — react Function Reference
Architecture documentation for the runReactCompilerImpl() function in RunReactCompiler.ts from the react codebase.
Entity Profile
Dependency Diagram
graph TD f669130d_1dfd_ce21_6e6c_fdd29cff29f1["runReactCompilerImpl()"] 93161a4a_8836_f386_2264_41352eee2303["RunReactCompiler.ts"] f669130d_1dfd_ce21_6e6c_fdd29cff29f1 -->|defined in| 93161a4a_8836_f386_2264_41352eee2303 d4cd9aad_c1ae_8b32_c4af_ba2106ad7951["runReactCompiler()"] d4cd9aad_c1ae_8b32_c4af_ba2106ad7951 -->|calls| f669130d_1dfd_ce21_6e6c_fdd29cff29f1 82cff55e_c62f_83e0_0695_7a9f132d4b4e["push()"] f669130d_1dfd_ce21_6e6c_fdd29cff29f1 -->|calls| 82cff55e_c62f_83e0_0695_7a9f132d4b4e f662ed1a_260d_752c_d423_1b4a995b2f6b["getFlowSuppressions()"] f669130d_1dfd_ce21_6e6c_fdd29cff29f1 -->|calls| f662ed1a_260d_752c_d423_1b4a995b2f6b style f669130d_1dfd_ce21_6e6c_fdd29cff29f1 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
compiler/packages/eslint-plugin-react-compiler/src/shared/RunReactCompiler.ts lines 80–157
function runReactCompilerImpl({
sourceCode,
filename,
userOpts,
}: RunParams): RunCacheEntry {
// Compat with older versions of eslint
const options: PluginOptions = parsePluginOptions({
...COMPILER_OPTIONS,
...userOpts,
environment: {
...COMPILER_OPTIONS.environment,
...userOpts.environment,
},
});
const results: RunCacheEntry = {
sourceCode: sourceCode.text,
filename,
userOpts,
flowSuppressions: [],
events: [],
};
const userLogger: Logger | null = options.logger;
options.logger = {
logEvent: (eventFilename, event): void => {
userLogger?.logEvent(eventFilename, event);
results.events.push(event);
},
};
try {
options.environment = validateEnvironmentConfig(options.environment ?? {});
} catch (err: unknown) {
options.logger?.logEvent(filename, err as LoggerEvent);
}
let babelAST: ParseResult<File> | null = null;
if (filename.endsWith('.tsx') || filename.endsWith('.ts')) {
try {
babelAST = babelParse(sourceCode.text, {
sourceFilename: filename,
sourceType: 'unambiguous',
plugins: ['typescript', 'jsx'],
});
} catch {
/* empty */
}
} else {
try {
babelAST = HermesParser.parse(sourceCode.text, {
babel: true,
enableExperimentalComponentSyntax: true,
sourceFilename: filename,
sourceType: 'module',
});
} catch {
/* empty */
}
}
if (babelAST != null) {
results.flowSuppressions = getFlowSuppressions(sourceCode);
try {
transformFromAstSync(babelAST, sourceCode.text, {
filename,
highlightCode: false,
retainLines: true,
plugins: [[BabelPluginReactCompiler, options]],
sourceType: 'module',
configFile: false,
babelrc: false,
});
} catch (err) {
/* errors handled by injected logger */
}
}
return results;
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does runReactCompilerImpl() do?
runReactCompilerImpl() is a function in the react codebase, defined in compiler/packages/eslint-plugin-react-compiler/src/shared/RunReactCompiler.ts.
Where is runReactCompilerImpl() defined?
runReactCompilerImpl() is defined in compiler/packages/eslint-plugin-react-compiler/src/shared/RunReactCompiler.ts at line 80.
What does runReactCompilerImpl() call?
runReactCompilerImpl() calls 2 function(s): getFlowSuppressions, push.
What calls runReactCompilerImpl()?
runReactCompilerImpl() is called by 1 function(s): runReactCompiler.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free