@juxtapose / cli
通过URL、Storybook和Ladle对页面进行视觉回归测试。捕获 您需要的页面或故事,将它们与批准的基线进行比较,并进行检查 截图和记录的DOM更改。
需要 Node.js 22.2或更高版本. 本地测试不需要托管帐户:repo 保存配置、哈希和结构;图像保存在本地缓存中。主持 上传和审查是可选的,有单独的审查决定。
pnpm add -D @juxtapose/cli
npx -p @juxtapose/cli jux browser install # once, ~100 MB
npx storybook build --quiet --disable-telemetry --loglevel error # or: npx ladle build
npx -p @juxtapose/cli jux init # writes config, captures and approves initial baselines
git add juxtapose.config.json juxtapose.manifest.json juxtapose.structures/ .gitignore
在将它们作为参考之前,检查初始捕获。后续
jux run 默认情况下捕获所有故事。使用 --since <ref> 选择受影响的
当依赖关系图可用时的故事;不确定的选择回归到
一个完整的运行。
| 命令 | 它是做什么的 |
|---|---|
jux run | 捕获故事并与基线进行比较 |
jux approve --story <id> | 确认捕获并更新本地基线 |
jux check | 退出非零,如果有任何东西仍然需要审查-为CI |
jux handoff <id> | 打印一个提示来调查一个失败的故事 |
jux browser | install, status, path, start 或者 stop |
jux mcp | 用于编码代理的演播室MCP服务器; 文档 |
具有结构化结果支持的命令 --json; jux handoff 产生的文本。
MCP工具在可用的情况下使用结构化结果 run 默认为有界
摘要,而不是完整的CLI运行报告。看到 MCP输出方式.
浏览器是 chrome-headless-shell 151.0.7922.34,安装一次
jux browser install (同一版本的现有剧作家缓存是
重用; JUX_CHROME=<path> 或者 --chrome <path> 使用你自己的)。面具,
--wait-for 选择器是CSS。
CI外, jux snap, jux run 和 jux init 保持一个浏览器的温度
调用之间的后台(10分钟后空闲退出)。重用避免了浏览器
发射;它并没有使改变内容成为确定性的。 --no-daemon 或者 JUX_NO_DAEMON=1 为命令关闭它;它是
在CI和Windows上也是关闭的。 jux browser start|stop|status 管理它,并且
JUX_STATE_DIR 将其套接字和状态移开 JUX_CACHE_DIR。这个
温暖的浏览器保持了系统字体和时区,它开始时,所以你
安装字体或更改系统时区,运行 jux browser stop. 看到
浏览器指南 获取详细信息。
要查看Storybook内部的差异,请添加
@juxtapose/storybook.
完整的文档: 并置在GitHub
MIT©Magic Factory LLC