getEvaluatorPresets() — react Function Reference
Architecture documentation for the getEvaluatorPresets() function in compiler.ts from the react codebase.
Entity Profile
Dependency Diagram
graph TD 1364609b_5dc3_c860_738c_b048b34ae63f["getEvaluatorPresets()"] f294d5ab_dd3b_6bca_e120_e970909a7dc8["compiler.ts"] 1364609b_5dc3_c860_738c_b048b34ae63f -->|defined in| f294d5ab_dd3b_6bca_e120_e970909a7dc8 style 1364609b_5dc3_c860_738c_b048b34ae63f fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
compiler/packages/snap/src/compiler.ts lines 129–196
function getEvaluatorPresets(
language: 'typescript' | 'flow',
): Array<BabelCore.PluginItem> {
const presets: Array<BabelCore.PluginItem> = [
{
plugins: [
'babel-plugin-fbt',
'babel-plugin-fbt-runtime',
'babel-plugin-idx',
],
},
];
presets.push(
language === 'typescript'
? [
'@babel/preset-typescript',
{
/**
* onlyRemoveTypeImports needs to be set as fbt imports
* would otherwise be removed by this pass.
* https://github.com/facebook/fbt/issues/49
* https://github.com/facebook/sfbt/issues/72
* https://dev.to/retyui/how-to-add-support-typescript-for-fbt-an-internationalization-framework-3lo0
*/
onlyRemoveTypeImports: true,
},
]
: '@babel/preset-flow',
);
presets.push({
plugins: ['@babel/plugin-syntax-jsx'],
});
presets.push(
['@babel/preset-react', {throwIfNamespace: false}],
{
plugins: ['@babel/plugin-transform-modules-commonjs'],
},
{
plugins: [
function BabelPluginRewriteRequirePath() {
return {
visitor: {
CallExpression(path: NodePath<t.CallExpression>) {
const {callee} = path.node;
if (callee.type === 'Identifier' && callee.name === 'require') {
const arg = path.node.arguments[0];
if (arg.type === 'StringLiteral') {
// rewrite to use relative import as eval happens in
// sprout/evaluator.ts
if (arg.value === 'shared-runtime') {
arg.value = './shared-runtime';
} else if (arg.value === 'ReactForgetFeatureFlag') {
arg.value = './ReactForgetFeatureFlag';
} else if (arg.value === 'useEffectWrapper') {
arg.value = './useEffectWrapper';
}
}
}
},
},
};
},
],
},
);
return presets;
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does getEvaluatorPresets() do?
getEvaluatorPresets() is a function in the react codebase, defined in compiler/packages/snap/src/compiler.ts.
Where is getEvaluatorPresets() defined?
getEvaluatorPresets() is defined in compiler/packages/snap/src/compiler.ts at line 129.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free