docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
{
"context": "This evaluation assesses the engineer's proficiency in using MJML's preset system to bundle custom components and dependencies for reusable component libraries. The focus is on proper use of MJML's component registration, preset structure, and the mjml2html compilation API with presets.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Custom Component Classes",
"description": "Each custom component (BrandButton, BrandHeader, AlertBox, AlertButton) properly extends MJML base classes (BodyComponent or HeadComponent) and defines required static properties including componentName and endingTag",
"max_score": 25
},
{
"name": "Component Attributes",
"description": "Components define allowedAttributes and defaultAttributes static properties with appropriate attribute types (e.g., 'color', 'background-color', 'padding')",
"max_score": 15
},
{
"name": "Dependency Declaration",
"description": "Components define valid parent-child relationships using the static dependencies property to specify which MJML components can be used as children",
"max_score": 15
},
{
"name": "Preset Structure",
"description": "Library definitions create proper preset objects with components array and dependencies object following MJML preset format",
"max_score": 20
},
{
"name": "Component Registration",
"description": "Uses registerComponent from mjml-core to register custom components, or uses the preset system to bundle components for registration",
"max_score": 10
},
{
"name": "Preset Compilation",
"description": "The compileWithLibrary function correctly passes presets to mjml2html via the presets option in the options parameter",
"max_score": 15
}
]
}