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 so class field syntax is parseable while remaining a no-op when that syntax is already enabled. Confirms the helpers lean on this syntax-only plugin rather than transform plugins.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Syntax plugin wired",
"description": "Babel configuration used by the helpers explicitly includes @babel/plugin-syntax-class-properties in the plugins array that drives parsing.",
"max_score": 25
},
{
"name": "No transform substitute",
"description": "Implementation avoids using transformation plugins (e.g., @babel/plugin-transform-class-properties) and relies on @babel/plugin-syntax-class-properties as the syntax-only parser hook.",
"max_score": 20
},
{
"name": "Idempotent inclusion",
"description": "ensureClassFieldSyntax recognizes when @babel/plugin-syntax-class-properties is already present and prevents duplicate entries while still returning a usable config.",
"max_score": 20
},
{
"name": "Fallback injection",
"description": "When the base config lacks class field support, the helpers add @babel/plugin-syntax-class-properties so transforms on code with public/private fields succeed.",
"max_score": 15
},
{
"name": "Output preserved",
"description": "Transforms invoked through transformWithClassFields leave class field code unchanged, demonstrating that @babel/plugin-syntax-class-properties operates as a no-op on already supported syntax.",
"max_score": 20
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-babel--plugin-syntax-class-properties