CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-punycode

A robust Punycode converter that fully complies to RFC 3492 and RFC 5891, and works on nearly all JavaScript platforms.

93

1.17x

Quality

Pending

Does it follow best practices?

Impact

93%

1.17x

Average score across 10 eval scenarios

Overview
Eval results
Files

rubric.jsonevals/scenario-5/

{
  "context": "Evaluates how well the solution leverages the punycode package to decode Punycode labels in domains or email addresses. Focus is on case-insensitive handling of punycoded prefixes while leaving already-Unicode or plain ASCII labels untouched.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Domain decoding",
      "description": "Uses punycode.toUnicode (or equivalent package helper) to decode hostnames instead of hand-rolled Punycode parsing.",
      "max_score": 40
    },
    {
      "name": "Prefix casing",
      "description": "Normalizes Punycode labels before decoding so mixed-case xn-- prefixes are accepted (e.g., lowercases the label before punycode.toUnicode/punycode.decode).",
      "max_score": 15
    },
    {
      "name": "Leave ASCII",
      "description": "Relies on punycode.toUnicode behavior to skip labels without the xn-- prefix so existing ASCII/Unicode labels remain unchanged.",
      "max_score": 15
    },
    {
      "name": "Email domains",
      "description": "Applies punycode.toUnicode to only the domain portion of email strings while preserving the local part verbatim.",
      "max_score": 20
    },
    {
      "name": "Idempotent use",
      "description": "Uses punycode APIs in a way that allows repeated calls on already-decoded input without altering non-Punycode labels.",
      "max_score": 10
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-punycode

tile.json