Skip to content
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
This repository was archived by the owner on Nov 4, 2026. It is now read-only.

[fields] files 去 src(#4851 的 fields 半)—— 先实测 dist map 形态,同形则照 #4847 机械删,异形停手 #4856

Closed

Description

@yinlianghui

从 #4851 拆出的 fields 半(objectui 分片 PM 分诊晋级;types 半承重,留 #4851 走决策箱)。

任务

@object-ui/fields 的 package.json files 仍含整棵 src 树(["dist","src","README.md","CHANGELOG.md","LICENSE"]),exports 全部指 dist。按 #4847 / PR #4852 的同族修法处理,但走向由测量决定:

  1. 前置测量(第一步):干净重建 @object-ui/fields(emitter 是 vite-plugin-dts,与 data-objectstack 的 tsup 不同,finding: @object-ui/fields 与 @object-ui/types 的 files 仍含 src(#4847 同族余下两例;types 那处承重,不是机械删除) #4851 明言未量),实测 dist/ 里:
    • 有没有 .d.ts.map / .js.map;
    • 若有,map 的 sources 指哪里(../src/* 还是自带 sourcesContent)。
  2. 同形分支(无 map,或 map 自带内容不指 ../src):照 finding: @object-ui/data-objectstack 的 files 含 src,38 个测试源码文件随包发布 #4847 机械删 files 里的 "src",npm pack --dry-run 前后清单对照写进 PR 正文;scripts/check-phantom-dependencies.mjs 表头那段(PR chore(data-objectstack): files 不再列 src —— 43 个源码文件(38 个测试)退出发布物 (#4847) #4852 刚更新过,写着「fields/types 仍在」)同步更正为只剩 types;changeset(patch)。
  3. 异形分支(map 按路径指回 ../src 且不自带内容 —— 与 types 同款承重):停手,零改动,把读数回传本卡与 finding: @object-ui/fields 与 @object-ui/types 的 files 仍含 src(#4847 同族余下两例;types 那处承重,不是机械删除) #4851,归入 types 半的同一次取舍。⛔ 留断链 map。

边界

验收判据

测量读数(map 形态)+ 所走分支的依据;同形分支附 pack 清单前后对照(参照 PR #4852 的 51→8 形态);反向验证:把 "src" 加回后 pack 清单恢复、现有四门保持绿(#4851 已实测此盲区,不必假装它们会红 —— 对照表就是判据)。

关联:#4851(来源,types 半在此)、#4847 / PR #4852(同族先例)、#4006(最早记录)、#4846(产物级门,已裁 release 时落地)。

Activity

  1. self-assigned this
    on Aug 16, 2026
  2. yinlianghui commented on Aug 16, 2026

    @yinlianghui
    ContributorAuthor

    认领并开工。

    • session: session_01GTRjn8xBqp75dk7kFupVRt(批次 12 补位)
    • 分支:claude/issue-4856-fields-files-src
    • worktree:/home/user/objectui-4856,基线 origin/main

    按本卡三步走:先干净重建 @object-ui/fields 实测 dist/ 的 map 形态(有无 .d.ts.map / .js.map、sources 指向、sourcesContent),再由读数决定走同形分支(机械删 files 里的 src + pack 前后对照 + phantom-deps 表头更正 + changeset)还是异形分支(零改动、回传读数、归入 #4851 的取舍)。


    Generated by Claude Code

  3. yinlianghui commented on Aug 16, 2026

    @yinlianghui
    ContributorAuthor

    走向:同形(机械删)分支,draft PR #4861

    第一步的读数(决定走向的那一项)

    干净重建 @object-ui/fields 后实测 dist/:78 个文件(75 个 .d.ts + index.js + index.cjs + index.css),其中 .d.ts.map 0 个、.js.map 0 个、任何 .map 0 个,含 sourceMappingURL 的文件 0 处,提到 ../src 的文件 0 处。

    没有 map,所以 sources 指向与 sourcesContent 都无从谈起 —— 不是 types 那种承重形态。原因可查:packages/fields/tsconfig.json 继承的是根 tsconfig.json(noEmit: true,且不设 declarationMap / sourceMap;设这两项的 tsconfig.base.json 不在 fields 的继承链上),vite.config.ts 也没开 build.sourcemap。读数也已回传 #4851,补齐它自己说「没有量」的那一格。

    pack 前后对照

    条目 255 -> 82,unpacked 2265557 -> 841772 B,tarball 629843 -> 252364 B;消失 173(97 个测试 + 76 个实现源码),新增 0,src/ 以外零条目移动,幸存条目除 package.json 自身外逐字节不变。

    一处派发时没预料到的命中,已按范围外纪律另立卡

    #4847 的前置核查 ③ 在 fields 上命中了(在 data-objectstack 上是干净的):三份 skill 指南教消费者写 @source "../node_modules/@object-ui/fields/src/**/*.tsx";。追下去测得这不是保留 src 的理由 —— 同一段样板对 components / layout / react 写了同样三行,而那三个包的 files 只有 dist,四条 glob 里三条今天已经匹配 0 个文件;那三份文件还完全不提 #4059 之后的正路 style.css;仓内两处维护中的答案(packages/components/README.md:64 明确禁止这条 @source、CLI scaffold 扫的是 node_modules/@object-ui/*/dist/**/*.js)说的正相反。指南本身是今天就存在的缺陷,已立 #4858,PR #4861 未修它,但正文标了合并顺序建议(#4858 先落更稳)。

    反向验证(方向如实记录,不是「钉子变红」)

    预判并实测:(a) 把 src 加回后 pack 清单逐条恢复(255 条 path+size 全等,差异集为空);(b) 四门在缺陷态全绿 —— 本卡与 #4851 都已记过这个盲区,「什么都没变红」就是结论本身。

    CI:19 项全部完成,17 success + 2 skipped,零失败。


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions