用途:根据 Plausible 统计的 /docs 页面实际访客占比,重新计算 Storybook 的浏览器支持下限,固化到代码与文档中,并开 PR。仅当人工明确决定执行时才使用。
认证:环境需有 PLAUSIBLE_API_KEY,由操作者自行提供,不得打印该密钥。
查询:向 POST https://plausible.io/api/v2/query 查询,site_id 为 storybook.js.org,date_range 为 "30d",filters 为 [["contains", "event:page", ["/docs"]]],dimensions 为 ["visit:browser", "visit:browser_version"],metrics 为 ["visitors", "percentage"],include 为 { "total_rows": true }。保存请求、解析后的日期范围、获取时间与完整响应;翻页取全后再滚动版本;整轮使用同一固定日期范围。percentage 以匹配 /docs 过滤的全部独立访客为分母。另用 metrics: ["visitors"] 且无 dimensions、相同站点/日期/页面过滤记录分母,不额外加浏览器过滤。
启发式:Chrome/Edge/Firefox/Opera 滚动到主版本,Safari 滚动到主次版本;占比为访客数/总 /docs 访客×100,含多个原始版本的滚动版本需用 is 过滤查询独立访客数再除以分母,不可直接相加。低于 0.5% 的滚动版本丢弃;Opera 仅在某一版本≥0.5%时保留,UC Browser 丢弃;companions 中 android/and_chr 用 Chrome 下限,ios_saf 用 Safari 下限,Node 不变。下限取当前簇中最旧版本。
审批:启发式未定义当前簇与更早孤岛的数值边界,不得擅自推断或写入新下限。需展示保存的查询证据和每浏览器表格(含全部滚动版本及占比、候选簇与被排除的旧孤岛、候选下限及其占比、簇边界与 Opera 取舍理由),记录操作者批准、身份、日期与所选版本。若边界有争议或证据无法区分簇,停止并请 Technical Architect 解决,不得改政策以打破平局。
写入:在 code/core/src/shared/constants/environments-support.ts 的 BROWSER_TARGETS、code/package.json 的 browserslist、docs/get-started/install.mdx(公开列表与旧浏览器回退指引,范围与 MIGRATION.md 一致,保留仅预览限制)、MIGRATION.md(下一个大版本 From X.x to Y.0.0 段,缺失则置顶创建)固定显式版本。若 browserslist 无法解析新固定版本,升级 caniuse-lite(根 resolutions 与 lockfile),仓库有 7 天 npm 年龄门槛。
PR:从 origin/next 拉分支,目标 next,遵循 .github/PULL_REQUEST_TEMPLATE.md,加标签 ci:normal、qa:skip 和 BREAKING CHANGE;What I did 简述前后版本及各下限的 /docs 访客占比。