CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-hoist-non-react-statics

Copies non-react specific statics from a child component to a parent component

95

1.09x
Overview
Eval results
Files

rubric.jsonevals/scenario-2/

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

tile.json