Babel plugin that compiles ES2015 default and rest parameters to ES5-compatible code
91
{
"context": "This criteria evaluates the engineer's ability to use Babel's experimental features API to build a plugin that parses and transforms cutting-edge JavaScript proposals. It focuses on proper usage of parser plugins, plugin development patterns, AST transformation, and configuration options.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Parser plugin configuration",
"description": "Uses @babel/parser with experimental syntax plugins (e.g., 'pipelineOperator', 'decorators', 'doExpressions') configured via parserOpts to enable parsing of proposal syntax",
"max_score": 25
},
{
"name": "Babel plugin structure",
"description": "Returns a proper Babel plugin object from the main function with a 'visitor' property containing visitor methods for AST traversal, following the plugin API pattern",
"max_score": 20
},
{
"name": "AST node transformation",
"description": "Uses @babel/types builders (e.g., t.identifier, t.callExpression, t.blockStatement) and visitor methods to transform experimental syntax AST nodes into backward-compatible JavaScript",
"max_score": 30
},
{
"name": "Plugin options handling",
"description": "Accepts and uses the options parameter to conditionally enable/disable experimental features, allowing configuration of which syntax proposals to support",
"max_score": 15
},
{
"name": "@babel/core integration",
"description": "Uses transformSync or transform from @babel/core to process source code with the plugin, properly passing the plugin and its configuration through Babel's transformation pipeline",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-babel--plugin-transform-parametersdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10