runReactCompilerImpl() — react Function Reference
Architecture documentation for the runReactCompilerImpl() function in RunReactCompiler.ts from the react codebase.
Entity Profile
Dependency Diagram
graph TD a65ef042_f6cf_f635_9ce4_aa7d8d0ecb18["runReactCompilerImpl()"] 0e801e17_9dc9_7a83_ce0f_d28b56e090f5["RunReactCompiler.ts"] a65ef042_f6cf_f635_9ce4_aa7d8d0ecb18 -->|defined in| 0e801e17_9dc9_7a83_ce0f_d28b56e090f5 a175348c_963a_8fa3_863b_f233ca6a33b6["runReactCompiler()"] a175348c_963a_8fa3_863b_f233ca6a33b6 -->|calls| a65ef042_f6cf_f635_9ce4_aa7d8d0ecb18 14b7faa8_3b52_8cd7_c4d1_996ed950dc7f["push()"] a65ef042_f6cf_f635_9ce4_aa7d8d0ecb18 -->|calls| 14b7faa8_3b52_8cd7_c4d1_996ed950dc7f 3b279355_1122_eec7_78a2_e5c73c152b88["getFlowSuppressions()"] a65ef042_f6cf_f635_9ce4_aa7d8d0ecb18 -->|calls| 3b279355_1122_eec7_78a2_e5c73c152b88 style a65ef042_f6cf_f635_9ce4_aa7d8d0ecb18 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/eslint-plugin-react-hooks/src/shared/RunReactCompiler.ts lines 182–260
function runReactCompilerImpl({
sourceCode,
filename,
userOpts,
}: RunParams): RunCacheEntry {
// Compat with older versions of eslint
const options = 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 packages/eslint-plugin-react-hooks/src/shared/RunReactCompiler.ts.
Where is runReactCompilerImpl() defined?
runReactCompilerImpl() is defined in packages/eslint-plugin-react-hooks/src/shared/RunReactCompiler.ts at line 182.
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