SuperAPI AI 工具集

test-studio-script-runner

测试与质量

查看项目

更新于 10-16 16:18

技能介绍

用途:Test Studio Script Runner 是注册在 Sanity Studio home 工作区中的自定义工具,用于管理 dev/test-studio 的脚本。首页路由为 <studio>/home/scripts,具体脚本路由为 <studio>/home/scripts/<script-name>。

主要能力:脚本是以 Vite import.meta.glob 在构建时发现的浏览器端 TypeScript 模块,在 Studio 内以登录用户权限运行,并接收 Studio client。脚本 run() 接收 client(按脚本 apiVersion 或 runner 默认配置)、inputs(运行界面按输入名传入的字符串值)、log(info、success、warning、error,输出显示在 UI)以及 signal(保留给支持取消的代码使用)。

必要用法:新增脚本时,在 dev/test-studio/src/script-runner/scripts/ 下建立与脚本名同名的文件夹,入口写在 index.ts,辅助文件可放在旁边;仅 scripts/*/index.ts 会在构建时被发现。脚本名须唯一,使用小写字母、数字和连字符,并与文件夹名保持一致,且成为 URL 段。输入项字段有 name、title、description、defaultValue、placeholder、required,均渲染为文本框,所有传入值都是字符串,必填项为空时禁用运行按钮。修改 runner 或新增脚本前应先阅读 README.md 和 types.ts。

限制:脚本在浏览器中运行,禁止使用 fs、path 等 Node 内置模块、process.exit、直接读取环境变量或 SANITY_AUTH_TOKEN,也不要从环境变量创建单独的 Sanity client;需要 Node 专用 API 或基于 token 的 CLI 行为时,应放在 dev/test-studio/scripts/。改动后运行 pnpm lint 与 pnpm --filter test-studio build;若因工作区包 dist 缺失导致构建失败,改用 pnpm --filter test-studio... build。