SuperAPI AI 工具集

use-component-explorer

测试与质量

查看项目

更新于 10-16 00:32

技能介绍

用途:当项目使用组件浏览器且需要处理 UI(fixtures、截图、可视化测试,或在新增/修改 UI 时)阅读本技能。fixture 文件以 .fixture.ts 或 .fixture.tsx 结尾,由 Vite 插件自动发现。

主要能力:

  • 核心模式:每个 fixture 提供 render 函数,接收容器 DOM 元素与 RenderContext,返回含 dispose 的清理对象,如 defineFixture({ render: (container) => ({ dispose: ... }) })。
  • RenderContext 的 signal 为 AbortSignal,用于取消。
  • React fixtures:用 createRoot 渲染并在 dispose 中 root.unmount()。
  • 分组:用 defineFixtureGroup 组织相关 fixtures,可带路径前缀与标签等元数据。
  • 变体:defineFixtureVariants 可并排渲染紧密相关的变体。
  • 背景:设置 background: 'dark' 适配深色背景组件。

使用方式:可提取具名 render 函数、设置明确的容器宽高以便确定性截图、编写参数化渲染函数、异步渲染并加载服务。建议创建项目本地包装器(如 fixtureUtils.ts)集中应用主题变体、共享样式、DI 与清理管理,fixture 文件从本地模块导入。文件可放在组件旁或独立测试目录。

限制:fixtures 必须无副作用,不得修改全局状态,只能改动传入容器并完整清理,禁止写入 document.body、全局变量、localStorage、共享单例等。不得使用 :root、html、body、* 等全局样式,所有样式须限定到类名。应用级 CSS 不得被组件或 fixture 文件导入。不要直接在 fixture 文件中使用 @vscode/component-explorer 的 defineFixture/defineFixtureGroup,而应通过项目本地包装器使用。官方文本暂未提供。