CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-tiptap--extension-link

Link extension for tiptap rich text editor providing automatic link detection, paste handling, click behavior, and XSS protection.

88

1.23x
Overview
Eval results
Files

rubric.jsonevals/scenario-5/

{
  "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-link

tile.json