transformProgram() — react Function Reference
Architecture documentation for the transformProgram() function in ValidateNoUntransformedReferences.ts from the react codebase.
Entity Profile
Dependency Diagram
graph TD 6c6008c2_2667_c1e0_d0ae_ea81069aa361["transformProgram()"] 93f3a2c7_a7ce_3c94_87fe_ee7d66d9b64b["ValidateNoUntransformedReferences.ts"] 6c6008c2_2667_c1e0_d0ae_ea81069aa361 -->|defined in| 93f3a2c7_a7ce_3c94_87fe_ee7d66d9b64b e9305144_35b9_6cfd_0fec_af0783a96987["validateNoUntransformedReferences()"] e9305144_35b9_6cfd_0fec_af0783a96987 -->|calls| 6c6008c2_2667_c1e0_d0ae_ea81069aa361 a4f6bed9_c265_4ac2_4912_8b61d4121efb["validateImportSpecifier()"] 6c6008c2_2667_c1e0_d0ae_ea81069aa361 -->|calls| a4f6bed9_c265_4ac2_4912_8b61d4121efb 7ba64864_37b8_333a_82c1_22a93c4b5c66["validateNamespacedImport()"] 6c6008c2_2667_c1e0_d0ae_ea81069aa361 -->|calls| 7ba64864_37b8_333a_82c1_22a93c4b5c66 style 6c6008c2_2667_c1e0_d0ae_ea81069aa361 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
compiler/packages/babel-plugin-react-compiler/src/Entrypoint/ValidateNoUntransformedReferences.ts lines 270–315
function transformProgram(
path: NodePath<t.Program>,
moduleLoadChecks: Map<string, Map<string, CheckInvalidReferenceFn>>,
filename: string | null,
logger: Logger | null,
compileResult: CompileProgramMetadata | null,
): void {
const traversalState: TraversalState = {
shouldInvalidateScopes: true,
program: path,
filename,
logger,
transformErrors: compileResult?.retryErrors ?? [],
inferredEffectLocations:
compileResult?.inferredEffectLocations ?? new Set(),
};
path.traverse({
ImportDeclaration(path: NodePath<t.ImportDeclaration>) {
const importSpecifierChecks = moduleLoadChecks.get(
path.node.source.value,
);
if (importSpecifierChecks == null) {
return;
}
const specifiers = path.get('specifiers');
for (const specifier of specifiers) {
if (specifier.isImportSpecifier()) {
validateImportSpecifier(
specifier,
importSpecifierChecks,
traversalState,
);
} else {
validateNamespacedImport(
specifier as NodePath<
t.ImportNamespaceSpecifier | t.ImportDefaultSpecifier
>,
importSpecifierChecks,
traversalState,
);
}
}
},
});
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does transformProgram() do?
transformProgram() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/Entrypoint/ValidateNoUntransformedReferences.ts.
Where is transformProgram() defined?
transformProgram() is defined in compiler/packages/babel-plugin-react-compiler/src/Entrypoint/ValidateNoUntransformedReferences.ts at line 270.
What does transformProgram() call?
transformProgram() calls 2 function(s): validateImportSpecifier, validateNamespacedImport.
What calls transformProgram()?
transformProgram() is called by 1 function(s): validateNoUntransformedReferences.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free