Common utilities for error handling within Backstage with structured error classes and serialization functions
63
{
"context": "Evaluates how effectively the solution leverages @backstage/errors to turn Error instances into JSON-safe payloads, restore them, and render unknown error inputs. Scoring focuses solely on correct use of the library's serialization, deserialization, and stringification helpers as required by the spec.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Default serialization",
"description": "Uses serializeError to build the base payload while respecting the default behavior of omitting stack traces when stack capture is not requested.",
"max_score": 20
},
{
"name": "Stack opt-in",
"description": "Invokes serializeError with includeStack: true to attach stack strings when requested, including for nested causes.",
"max_score": 15
},
{
"name": "Cause capture",
"description": "Serializes nested causes via serializeError rather than manual property copying so the payload preserves the full cause chain.",
"max_score": 25
},
{
"name": "Error rehydration",
"description": "Restores errors from payloads using deserializeError, yielding Error instances with the expected names, messages, and cause links.",
"max_score": 25
},
{
"name": "Unknown stringify",
"description": "Uses stringifyError to produce human-readable strings for non-Error inputs instead of ad-hoc formatting.",
"max_score": 15
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-backstage--errorsevals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10