Babel plugin that transforms ECMAScript object rest and spread syntax into ES5-compatible code.
85
Quality
Pending
Does it follow best practices?
Impact
85%
1.06xAverage score across 10 eval scenarios
Pending
The risk profile of this skill
{
"context": "This evaluation assesses the engineer's ability to create a custom Babel plugin using the Path API, visitor pattern, and AST manipulation capabilities. The focus is on proper usage of Babel's plugin development features to traverse and modify the AST.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Plugin structure",
"description": "Plugin exports a function that accepts the babel object and returns an object with a 'visitor' property",
"max_score": 15
},
{
"name": "Visitor pattern usage",
"description": "Uses the visitor pattern with appropriate node type visitors (e.g., ExpressionStatement or CallExpression) to traverse the AST",
"max_score": 25
},
{
"name": "Node type checking",
"description": "Uses babel.types methods (e.g., t.isMemberExpression, t.isIdentifier, t.isCallExpression) or path.node type checking to identify console method calls",
"max_score": 20
},
{
"name": "Path API usage",
"description": "Uses Path API methods (e.g., path.remove()) to remove console statements from the AST",
"max_score": 25
},
{
"name": "Correct identification logic",
"description": "Correctly identifies console method calls by checking that the object is 'console' and the parent/node is a call expression, handling any console method name",
"max_score": 15
}
]
}docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10