Babel syntax plugin that enables parsing of class properties, private properties, and private methods
94
{
"context": "Evaluates whether the solution uses @babel/plugin-syntax-class-properties to enforce Babel core version compatibility (7+) and to enable class field/private member parsing without emitting transforms. Checks correct use of api.assertVersion, parser plugin registration, and that the plugin shape works in both config-based and programmatic Babel flows.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Version assertion",
"description": "Plugin factory invokes api.assertVersion(7) (or an equivalent semver range) before any other work to gate Babel core compatibility at 7+.",
"max_score": 35
},
{
"name": "Unsupported fail-fast",
"description": "Plugin surfaces a compatibility error for Babel core <7 via the assertVersion guard rather than attempting to parse.",
"max_score": 20
},
{
"name": "Parser plugins",
"description": "manipulateOptions (or equivalent hook) pushes classProperties, classPrivateProperties, and classPrivateMethods into parserOpts.plugins so public, static, and private class members parse successfully.",
"max_score": 25
},
{
"name": "Syntax-only",
"description": "Plugin introduces no visitors or transforms; running it without other transforms leaves the compiled code identical to the input.",
"max_score": 10
},
{
"name": "Config ready",
"description": "Exported plugin object (name plus manipulateOptions) functions in both Babel config plugin arrays and direct transformSync calls while preserving the version guard.",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-babel--plugin-syntax-class-properties