Babel syntax plugin that enables parsing of class properties, private properties, and private methods
94
{
"context": "Evaluates whether the solution configures Babel with @babel/plugin-syntax-class-properties to parse public class fields and builds both exported APIs directly on that parser output. Checks focus on registering the syntax plugin, reusing the parser configuration, and using the resulting AST to surface field data and errors.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Plugin registered",
"description": "Imports or requires @babel/plugin-syntax-class-properties and passes it into Babel (e.g., via the plugins array) so public class fields parse without syntax errors.",
"max_score": 35
},
{
"name": "Shared parser setup",
"description": "parseWithClassFields and listPublicFields both invoke the same Babel parsing configuration that includes @babel/plugin-syntax-class-properties instead of divergent or manual parsing paths.",
"max_score": 20
},
{
"name": "AST field extraction",
"description": "Public field details are read from Babel AST nodes produced with the syntax plugin (ClassProperty/PropertyDefinition nodes using node.static, node.key, node.value) rather than string matching.",
"max_score": 25
},
{
"name": "Error surfacing",
"description": "Invalid class field syntax results in Babel parse errors from the plugin-enabled parser, without swallowing or bypassing errors through custom fallbacks that skip @babel/plugin-syntax-class-properties.",
"max_score": 20
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-babel--plugin-syntax-class-properties