Babel plugin that compiles ES2015 computed properties to ES5-compatible code
88
{
"context": "This evaluation assesses how well the engineer leverages Babel's scope management APIs to generate unique variable names for AST node transformations, which is a core capability used in @babel/plugin-transform-computed-properties.",
"type": "weighted_checklist",
"checklist": [
{
"name": "generateUidIdentifier usage",
"description": "Uses Babel Scope's `scope.generateUidIdentifier()` method or `scope.generateUidIdentifierBasedOnNode()` method to generate unique identifiers based on the node",
"max_score": 45
},
{
"name": "hasBinding check",
"description": "Uses `scope.hasBinding()` method to check if a variable name already exists in the current scope before using it",
"max_score": 30
},
{
"name": "Identifier name extraction",
"description": "Correctly extracts the name string from the generated Babel Identifier object (using the `.name` property) to return a string as specified in the API",
"max_score": 15
},
{
"name": "Scope-based generation",
"description": "Uses the provided Babel Scope object throughout the implementation rather than manually tracking variable names or implementing custom conflict detection logic",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-babel-plugin-transform-es2015-computed-propertiesdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10