Headless rich text editor built on ProseMirror with extensible architecture for building custom editors
94
{
"context": "This criteria evaluates how well the engineer uses @tiptap/core's content validation and error handling capabilities to build a robust document import system. The focus is on proper use of validation configuration options, error event handling, and graceful failure recovery mechanisms.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Editor validation configuration",
"description": "Uses `enableContentCheck: true` in the Editor constructor options to enable content validation on initialization",
"max_score": 15
},
{
"name": "Error emission configuration",
"description": "Uses `onContentError` event handler in Editor options to capture validation errors instead of letting them throw exceptions",
"max_score": 20
},
{
"name": "Content import wrapping",
"description": "Wraps `editor.commands.setContent()` calls in try-catch blocks to handle validation failures during content import",
"max_score": 20
},
{
"name": "HTML format handling",
"description": "Correctly uses `setContent()` to import HTML content and handles validation errors for invalid HTML structures",
"max_score": 15
},
{
"name": "JSON format handling",
"description": "Correctly uses `setContent()` to import JSON content and handles validation errors for malformed JSON structures",
"max_score": 15
},
{
"name": "Error reporting structure",
"description": "Returns structured error information with `{ success: boolean, error?: string }` format from importDocument function",
"max_score": 10
},
{
"name": "Extension registration",
"description": "Properly registers required extensions from @tiptap/starter-kit (Document, Paragraph, Text) to define the editor schema",
"max_score": 5
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-tiptap--coredocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10