用途:评估 CDS 已弃用成员在客户仓库中的使用程度,输出尽量准确的信息,用于决定是否可在某个版本中安全移除某些导出,还是保留到下一个主版本。
移除就绪策略:已弃用 API 必须完整保留一个主版本不受干扰才能移除。若在 major M 中弃用,则必须在 M+1 全部存活,最早可在 M+2 移除(见 @deprecationExpectedRemoval 与 .claude/skills/deprecate-cds-api/SKILL.md)。
使用方式:先确定研究范围。可针对单个具体弃用项,也可全面审计所有 CDS 弃用项。全面审计需额外执行 yarn node scripts/findDeprecations.mjs --json,从所有 CDS 包中以 JSON 提取带元数据的弃用项。
再判断弃用类型,常见两类:React 组件单个 prop,或整个 React 组件、函数或常量。研究单个弃用项时,直接在本 monorepo 源码中查找(不要用 Sourcegraph),其带 @deprecated 标注;查看周围代码判断属于哪类;若存在于多个 CDS 包可请用户澄清。全面审计时,第 1 步脚本输出已自动分类。
随后用 Sourcegraph MCP 服务器逐项关键词搜索(一次只搜一个)。组件、函数、常量使用查询:NOT repo:frontend/cds(-(internal|public|next))?$ file:..(t|j)sx?$ /import[^;'"]?\bNAME_HERE\b[^;'"]?from\s+['"][^'"](?:cds-web|cds-mobile)[^'"]['"]/;React prop 使用:NOT repo:frontend/cds(-(internal|public|next))?$ file:..(t|j)sx?$ /<\sNAME_HERE\b[^>]?\s+PROP_HERE[\s=/>]/。将 NAME_HERE、PROP_HERE 替换为待查名称。
输出:单个弃用项时给出总使用次数,并输出含 Repo、Hits、Search Link 三列的 markdown 表格,Search Link 使用完整 Sourcegraph URL 定向到对应仓库的正则搜索。多个弃用项时,逐项列出每个弃用项及其 Sourcegraph 查询返回的总匹配数。