or run

npx @tessl/cli init
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-8/

{
  "context": "Evaluates how well the solution leverages jsx-ast-utils value extraction helpers to resolve JSX attribute values that include optional chaining, optional calls, and TypeScript assertions without custom parsing.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Optional chains",
      "description": "Uses jsx-ast-utils `getPropValue` to evaluate optional member chains in JSX attribute expressions so fallbacks like nullish coalescing are respected without manual AST traversal.",
      "max_score": 30
    },
    {
      "name": "Optional calls",
      "description": "Handles optional call expressions through `getPropValue`, ensuring callable nodes (including optional method calls) resolve to their return values or undefined without executing arbitrary user code.",
      "max_score": 20
    },
    {
      "name": "TS assertions",
      "description": "Relies on `getPropValue` support for TypeScript non-null assertions and `as` casts so asserted values are surfaced directly rather than being stripped or misinterpreted.",
      "max_score": 25
    },
    {
      "name": "Literal extraction",
      "description": "Employs `getLiteralPropValue` for the literal-only resolver, returning primitive values when available and deferring to undefined/null for complex optional chain expressions per library semantics.",
      "max_score": 15
    },
    {
      "name": "Unknown handling",
      "description": "Keeps jsx-ast-utils behavior of returning null (not throwing) for unsupported expression types encountered during value extraction, avoiding bespoke error handling.",
      "max_score": 10
    }
  ]
}