Babel syntax plugin that enables parsing of class properties, private properties, and private methods
94
{
"context": "Evaluates whether the solution wires @babel/plugin-syntax-class-properties into Babel config-based and programmatic transforms so class field syntax parses cleanly without altering class definitions. Scoring focuses solely on correct usage of the syntax plugin alongside @babel/core APIs for the specified functions.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Config wiring",
"description": "parseWithConfig loads the provided Babel config and that config explicitly includes @babel/plugin-syntax-class-properties in its plugins so class fields (public, static, private) and private methods parse without syntax errors.",
"max_score": 35
},
{
"name": "Inline plugins",
"description": "transformSnippetInline calls @babel/core programmatic APIs (e.g., transform/transformSync/transformAsync) with @babel/plugin-syntax-class-properties in the inline plugins array rather than relying on external config files.",
"max_score": 35
},
{
"name": "Class feature coverage",
"description": "Both transform paths demonstrate the syntax plugin accepting public instance fields, static fields, private fields, and private methods within class bodies without falling back to older syntax or throwing.",
"max_score": 20
},
{
"name": "Syntax-only use",
"description": "Solution refrains from using transform plugins (e.g., @babel/plugin-transform-class-properties) and preserves class field syntax in emitted code, reflecting the syntax-only intent of @babel/plugin-syntax-class-properties.",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-babel--plugin-syntax-class-properties