Babel syntax plugin that enables parsing of class properties, private properties, and private methods
94
{
"context": "Evaluates whether the solution configures @babel/core with @babel/plugin-syntax-class-properties to accept private method syntax and uses Babel APIs to parse the source. Also checks that private method metadata and Babel error output are surfaced from the AST without bypassing the syntax plugin.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Syntax plugin",
"description": "Includes @babel/plugin-syntax-class-properties in the Babel plugins list so classPrivateMethods/classPrivateProperties/classProperties syntax is enabled during parsing.",
"max_score": 30
},
{
"name": "Babel parsing",
"description": "Uses a @babel/core parsing entrypoint (e.g., parse/parseSync/transformSync) with the syntax plugin applied instead of manual string handling or alternate parsers.",
"max_score": 20
},
{
"name": "Private AST handling",
"description": "Traverses Babel AST nodes such as ClassPrivateMethod (and their key.id.name/static flags) to identify private methods and distinguish static versus instance declarations.",
"max_score": 20
},
{
"name": "Error capture",
"description": "Catches Babel parsing errors raised when private method syntax is invalid and returns them with the original message referencing private-method syntax and line information rather than letting them propagate uncaught.",
"max_score": 15
},
{
"name": "Ordering and loc",
"description": "Relies on Babel-provided node ordering and loc metadata to preserve source order and include line/column coordinates for each reported private method.",
"max_score": 15
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-babel--plugin-syntax-class-properties