SuperAPI AI 工具集

migrate-breadcrumb-list

前端与建站

查看项目

更新于 10-15 21:51

技能介绍

用途:把 Sentry 页面面包屑从旧组件 sentry/components/breadcrumbs 迁移到 @sentry/scraps/breadcrumbList。旧 API 传入一个扁平数组,最后一项即当前页;新 API 将其拆到 TopBar 的两个插槽:breadcrumbs 放父级链接,title 放当前页标题。

主要能力:按调用点形态分类处理(A1 标题插槽内的 Breadcrumbs、A2 包装组件、B 与 Layout.Title 并列、C 导出包装、E 与原生 h1 并列);构建 items 与标题项;替换 preservePageFilters;迁移测试;按视图区域分批提交。

必要用法:导入为 import {BreadcrumbList} from '@sentry/scraps/breadcrumbList'。items 接受 'link'(label、to、可选 leadingGraphic)与 'select-projects' 数组;BreadcrumbList.Title 接受单个 'page-title' 或 'editable-title' 对象。BreadcrumbList.Title 不渲染标题,title 插槽已包 Heading as="h1",不要再用 Heading 包裹,也不要把 breadcrumbs 插槽嵌进 title。preservePageFilters 不在 BreadcrumbItemLinkProps 上,直接字面量会报 TS2353,但经展开可编译并静默丢弃筛选,应显式解构并用 extractSelectionParameters 重建 query。

限制:无功能开关,合并即对所有用户生效;旧组件仍有 4 个导入方(含自身 spec 与需 nav 地标的调用点)刻意不迁移,计数下限为 4;路由驱动的 SettingsBreadcrumb 不在范围内。验证用 pnpm run typecheck、.venv/bin/prek run -q --files <files>、pnpm test-ci <spec>,并确认计数下降且不低于 4。