Copies non-react specific statics from a child component to a parent component
95
{
"context": "Evaluates whether the wrapper HOC correctly leverages hoist-non-react-statics to mirror non-React statics while honoring React blacklists, user omit maps, prototype traversal, and intrinsic component safeguards. Emphasizes relying on the library for descriptor/symbol preservation instead of manual copying.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Uses hoist",
"description": "Imports and calls `hoistNonReactStatics` to mirror statics instead of manually copying properties.",
"max_score": 25
},
{
"name": "React blacklist",
"description": "`hoistNonReactStatics` call allows default React exclusions so statics like `displayName`/`propTypes` are not copied onto the wrapper.",
"max_score": 20
},
{
"name": "Omit map",
"description": "Merges the provided `omit` map into the exclusions passed to `hoistNonReactStatics`, skipping only the user-specified statics while hoisting others.",
"max_score": 20
},
{
"name": "Prototype support",
"description": "Relies on `hoistNonReactStatics` to traverse the wrapped component’s prototype chain (excluding `Object.prototype`) so inherited statics become available on the wrapper.",
"max_score": 15
},
{
"name": "Descriptors & symbols",
"description": "Uses `hoistNonReactStatics` so symbol-named statics and getter/setter descriptors are preserved on the wrapper without redefinition via plain assignment.",
"max_score": 10
},
{
"name": "Intrinsic guard",
"description": "Skips calling `hoistNonReactStatics` when the wrapped component is a string intrinsic (e.g., `'div'`), returning the target untouched.",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-hoist-non-react-staticsdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10