SuperAPI AI 工具集

deprecate-cds-api

编程与开发

查看项目

更新于 10-15 20:14

技能介绍

用途:自动化 CDS 标准废弃流程,处理 packages/web、packages/mobile、packages/common 中公开导出的组件、Hook、属性或其他符号。

主要能力:先确认废弃对象、替代方案与 @deprecationExpectedRemoval 目标主版本;随后从各包 package.json 的 exports 映射出发,追踪 barrel/index 与声明或再导出模块,确保每个公开导入路径都带废弃信息。

必要用法:在符号上方添加标准 JSDoc,使用 @deprecated(非 @deprecate),说明替代方案,并以固定句结尾“This will be removed in a future major release.”;同时添加 @deprecationExpectedRemoval v<N>。移除版本遵循“完整主版本不受干扰”策略:当前主版本为 M 时,最早移除版本为 M+2,不得设为 M+1。若符号有现成文档,则在 apps/docs/docs 下更新 webMetadata.json、mobileMetadata.json 或 metadata.json 的 warning 字段,组件用“This component is deprecated.”,Hook 用“This hook is deprecated.”。

限制:仅当符号已有文档时才改文档元数据,不新建文档目录;编辑后必须对每个改动项目运行 yarn nx run <project>:lint,确保 internal/deprecated-jsdoc-has-removal-version 规则通过。若用户要求早于 M+2 的移除版本,需先警告并明确覆盖后才可继续。仓库内参考示例可搜索 packages/web/src 下的 @deprecationExpectedRemoval 及 libs/eslint-plugin-internal 规则。