CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-babel--plugin-syntax-class-properties

Babel syntax plugin that enables parsing of class properties, private properties, and private methods

94

1.04x
Overview
Eval results
Files

rubric.jsonevals/scenario-6/

{
  "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

tile.json