CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-babel--plugin-proposal-object-rest-spread

Babel plugin that transforms ECMAScript object rest and spread syntax into ES5-compatible code.

85

1.06x

Quality

Pending

Does it follow best practices?

Impact

85%

1.06x

Average score across 10 eval scenarios

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

rubric.jsonevals/scenario-6/

{
  "context": "This criteria evaluates how effectively an engineer uses @babel/types package to create, validate, and manipulate AST nodes. The focus is on correct usage of builder functions, type validators, and cloning utilities provided by @babel/types.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Function Declaration Builder",
      "description": "Uses t.functionDeclaration() to create function declaration nodes with proper identifier and parameter nodes created using t.identifier()",
      "max_score": 25
    },
    {
      "name": "Block Statement Creation",
      "description": "Uses t.blockStatement() to create the function body and t.returnStatement() for return statements",
      "max_score": 15
    },
    {
      "name": "Expression Node Building",
      "description": "Uses appropriate @babel/types builders for expressions such as t.binaryExpression(), t.templateLiteral(), or other expression builders",
      "max_score": 15
    },
    {
      "name": "Type Validation",
      "description": "Uses @babel/types type validator functions (e.g., t.isFunctionDeclaration(), t.isIdentifier()) to check node types",
      "max_score": 20
    },
    {
      "name": "Node Cloning",
      "description": "Uses t.clone() or t.cloneDeep() or t.cloneNode() to create deep copies of AST nodes",
      "max_score": 15
    },
    {
      "name": "Proper Import Usage",
      "description": "Correctly imports and uses @babel/types package (e.g., const t = require('@babel/types') or import * as t from '@babel/types')",
      "max_score": 10
    }
  ]
}

tile.json