Link extension for tiptap rich text editor providing automatic link detection, paste handling, click behavior, and XSS protection.
88
{
"context": "This criteria evaluates how well the engineer uses @tiptap/extension-link's custom protocol registration feature to enable deep linking for an internal application ecosystem. The focus is on proper registration, lifecycle management, and integration with the link extension.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Protocol Registration",
"description": "Uses the Link extension's `protocols` configuration option to register the three custom protocols (workspace, task, meeting). Each protocol should be registered either as a simple string or as an object with scheme and optionalSlashes properties.",
"max_score": 30
},
{
"name": "Link Extension Import",
"description": "Correctly imports and configures the Link extension from @tiptap/extension-link using the .configure() method or inline configuration when adding to extensions array.",
"max_score": 15
},
{
"name": "Editor Configuration",
"description": "Creates an Editor instance from @tiptap/core with the configured Link extension included in the extensions array, along with necessary extensions like StarterKit.",
"max_score": 15
},
{
"name": "Autolink Enabled",
"description": "Ensures the Link extension has autolink option enabled (either explicitly set to true or left as default) so custom protocols are automatically detected as users type.",
"max_score": 15
},
{
"name": "Click Handling",
"description": "Ensures the Link extension has openOnClick option enabled (either explicitly set to true or left as default) so custom protocol links are clickable.",
"max_score": 10
},
{
"name": "Lifecycle Management",
"description": "Properly destroys the editor instance using the .destroy() method in the cleanup function to prevent memory leaks and clean up registered protocols.",
"max_score": 10
},
{
"name": "Element Binding",
"description": "Correctly binds the editor to the provided HTML element using the element option in the Editor constructor configuration.",
"max_score": 5
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-tiptap--extension-linkdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10