docs
evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "Evaluates whether the child entry uses @ice/plugin-icestark's basename rewrites, lifecycle registration, and container safeguards to mount safely inside or outside a host. Focuses on host interoperability rather than general React quality.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Lifecycle wiring",
"description": "Exposes mount/unmount (and optional bootstrap) through @ice/plugin-icestark's defineChildConfig so hosts receive the expected lifecycle object instead of ad-hoc exports.",
"max_score": 20
},
{
"name": "Basename bridge",
"description": "Derives the rendered basename from window.ICESTARK?.basename or mount props rather than a hardcoded string, passing it into the icestark child render flow before React mounts.",
"max_score": 25
},
{
"name": "single-spa container",
"description": "When props.singleSpa is set, uses the icestark child safeguard of creating or selecting a #ice-container inside props.container before calling render, mirroring the package's container adaptation logic.",
"max_score": 20
},
{
"name": "Remount guard",
"description": "Caches the React root (or window.ICESTARK.root) so repeated script execution or multiple mount calls avoid creating a new root when one already exists.",
"max_score": 20
},
{
"name": "Custom props context",
"description": "Wraps the rendered tree with FrameworkContext.Provider using the customProps provided by the host container when rendering into a container-driven root.",
"max_score": 15
}
]
}