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 criteria evaluates how effectively an engineer uses @babel/types package to create, validate, and manipulate AST nodes. The focus is on correct usage of builder functions, type validators, and cloning utilities provided by @babel/types.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Function Declaration Builder",
"description": "Uses t.functionDeclaration() to create function declaration nodes with proper identifier and parameter nodes created using t.identifier()",
"max_score": 25
},
{
"name": "Block Statement Creation",
"description": "Uses t.blockStatement() to create the function body and t.returnStatement() for return statements",
"max_score": 15
},
{
"name": "Expression Node Building",
"description": "Uses appropriate @babel/types builders for expressions such as t.binaryExpression(), t.templateLiteral(), or other expression builders",
"max_score": 15
},
{
"name": "Type Validation",
"description": "Uses @babel/types type validator functions (e.g., t.isFunctionDeclaration(), t.isIdentifier()) to check node types",
"max_score": 20
},
{
"name": "Node Cloning",
"description": "Uses t.clone() or t.cloneDeep() or t.cloneNode() to create deep copies of AST nodes",
"max_score": 15
},
{
"name": "Proper Import Usage",
"description": "Correctly imports and uses @babel/types package (e.g., const t = require('@babel/types') or import * as t from '@babel/types')",
"max_score": 10
}
]
}docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10