Repository navigation
Commit efdddc9
chore(ui): retire the zero-consumer root and config orphans (paseo, typedoc, lazy-test, console dead devDeps) (#28298)
<!-- claude-projects-attribution: {"github_login":"os-sales"} -->
_Requested by **Sales** · [project
thread](https://claude.ai/code/project/chan_01D5bWFY3rFzgJcytD5gD4Uu?thread=cmsg_01D5bWFY3rFzgJcytD5gD4UuVH2LGNgHQKK59V3MVareD5)_
Part of #25921
Clause-②: no
Metadata-protocol: none
## 维护者速读
- **改了什么**:删掉 `ui/`
下三个没人用的根配置文件(`paseo.json`、`typedoc.json`、`lazy-test.mjs`),连带 `typedoc` /
`typedoc-plugin-markdown` 两个 devDep、`docs:api` 脚本和 lint 覆盖账本里
`lazy-test.mjs` 那一行;再删 console 的四个死
devDep(`@dnd-kit/core|sortable|utilities`、`autoprefixer`),lockfile
随之重生成(纯删 256 行)。
- **为什么改**:卡 #25921 的「根与配置孤儿」项;每项在 `origin/main`
上重测都是零消费者,留着只会误导(`paseo.json` 还在教 `pnpm i`,违背 frozen-lockfile 规则)。
- **风险与回滚**:低。不改任何源码、不改发布产物;console 的 `vendor-dndkit` 分块照常产出(dnd-kit 经
app-shell 等包传入)。回滚 = revert 本 PR。
- **先看**:`ui/apps/console/package.json`(删的四个
devDep)、`ui/scripts/check-lint-rule-coverage.mjs`(删一行豁免)、`pnpm-lock.yaml`。
- **两分钟验证**:`pnpm install --frozen-lockfile && git grep -n -E
"typedoc|paseo|lazy-test" -- ui` —— 安装成功,grep 零命中。
- **需要你做的**:无,席位落地。
## What changes
- Deleted `ui/paseo.json`, `ui/typedoc.json`, `ui/lazy-test.mjs`.
- `ui/package.json`: dropped the `docs:api` script and the `typedoc` and
`typedoc-plugin-markdown` devDependencies. `typedoc-plugin-markdown` is
named only by `typedoc.json`'s `plugin` list, so it goes with the
typedoc item.
- `ui/scripts/check-lint-rule-coverage.mjs`: dropped the `lazy-test.mjs`
row from the vacuous-group list (its only reference).
- `ui/apps/console/package.json`: dropped the `@dnd-kit/core`,
`@dnd-kit/sortable`, `@dnd-kit/utilities` and `autoprefixer`
devDependencies.
- `pnpm-lock.yaml`: regenerated with `pnpm install`; the diff is
deletions only (the two importers' entries plus typedoc's private
closure: typedoc, typedoc-plugin-markdown, `@gerrit0/mini-shiki`, four
`@shikijs/*`, lunr, markdown-it, linkify-it, mdurl, punycode.js,
uc.micro, entities 4).
## Why
Zero-consumer measurement on `origin/main` `69ce01d7` (the claim's
base), `git grep` over the whole tree, lockfile and CHANGELOGs excluded:
| Item | Hits outside itself | Verdict |
| --- | --- | --- |
| `paseo.json` | 1, a hypothetical example in a comment in
`scripts/check-ci-filter-parity.mjs` (not a reader) | dead |
| `typedoc` / `typedoc.json` / `docs:api` | only `ui/package.json`
itself, plus a historical comment in `pnpm-workspace.yaml` (see
Acceptance notes) | dead |
| `lazy-test.mjs` | only the exemption row in
`check-lint-rule-coverage.mjs` | dead |
| console `autoprefixer` | 0 in `ui/apps/console`; its
`postcss.config.js` loads only `@tailwindcss/postcss` | dead |
| console `@dnd-kit/*` | 0 imports in console source, tests or config |
dead as a console declaration |
Positive control for the same grep: `@dnd-kit` hits 45 files on
`origin/main`, 39 of them under `ui/packages/` (app-shell 11,
plugin-kanban 17, layout 3, plugin-dashboard 3, plugin-view 3,
components 1, react 1). `app-shell`, `layout`, `plugin-kanban` and
`plugin-dashboard` each declare all three `@dnd-kit` packages
themselves.
**Kept: the `vendor-dndkit` entry in `ui/apps/console/vite.config.ts`.**
It is a real consumer of the bundle, not of the console's declaration:
`@dnd-kit` still reaches the console build through the workspace
packages above. Measured: the console build on this branch still emits
`assets/vendor-dndkit-*.js`. So `vite.config.ts` is not touched.
**Excluded, left on the card:** the two playwright import-harness
configs (the docs/qa checklist's knownGaps names them), the
providers/upload fold, the two remaining reset helpers
(`resetActionKeyWarnings` sits behind open PR #28188), the msw text in
`skills/**` (governed), i18n keys, and the per-package barrel batches.
**No changeset (`skip-changeset`):** nothing a released package ships
changes. `ui/package.json` is the private workspace root.
`@object-ui/console` only loses devDependencies, which an installer
never reads, and its built `dist/` keeps the same `@dnd-kit` resolution
through `app-shell`.
## Acceptance notes
- `pnpm-workspace.yaml` keeps the override `'markdown-it@>=14.0.0
<14.3.3': '^14.3.3'` and its comment ("pulled 14.3.0 through typedoc and
@vscode/vsce"). After this PR `markdown-it` is gone from the lockfile
entirely, so the override matches nothing. That file is outside this
claim's surface, so it is left as it is: dropping the override and its
comment is a one-line follow-up for the seat to route.
`check:override-consistency` exits 0 on this head.
- Branch `claude/project-thread-u9x8uu` is the platform-assigned
card-thread branch (the claim records it), not `claude/issue-N-slug`.
## Verification
- Gates: `node scripts/pm/dispatch-gates.mjs --commands --repo
objectstack-ai/objectstack` derived 36 commands on `8fe61662`; all 36
ran, and `--ran` reports `36 derived, 36 run, 0 NOT-MEASURED, 0 UNRUN`.
On the first pass, three were prerequisite readings, not verdicts on the
diff: `vitest run scripts/` exit 1 (two suites could not resolve unbuilt
`@objectstack/client` / `@objectstack/spec`), `check:dts-closure` exit 1
(missing `.d.ts`), and `check:dual-build-cjs-loads` exit 3. After
building (console closure 71/71, `./packages/**` 76/76), all three exit
0. `vitest run scripts/` then gave 169 files passed, 2 skipped; 4901
tests passed. After merging `origin/main` (4 commits, none touching
these files), the re-derived list is identical.
- Also run: `node scripts/check-sdui-manifest.mjs` exit 0; `eslint
scripts/check-lint-rule-coverage.mjs` (in `ui/`) exit 0; `node
scripts/check-lint-rule-coverage.mjs` exit 0; `pnpm install
--frozen-lockfile` exit 0 on the regenerated lockfile.
- Console build: `turbo run build --filter=@object-ui/console...` 71/71,
`os-verify-lock` VERDICT command-exit 0;
`ui/apps/console/dist/assets/vendor-dndkit-*.js` emitted.
- `git merge-tree --write-tree` against every open PR: clean (exit 0)
for all 19. Only the mailbox PRs #27357, #27309 and #27523 and the
Version Packages PR #26517 touch any of these files, and each merges
clean.
- No ablation: nothing here changes a behaviour that a test pins
(configs and manifests only).
---
_Generated by [Claude
Code](https://claude.ai/code/session_01L6bhgUoyJkVmoaxp9BeAHY)_
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01L6bhgUoyJkVmoaxp9BeAHY
Co-authored-by: Claude <noreply@anthropic.com>1 parent 00a350f commit efdddc9
7 files changed
Lines changed: 0 additions & 256 deletions
File tree
- ui
- apps/console
- scripts
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | 59 | | |
63 | 60 | | |
64 | 61 | | |
| |||
104 | 101 | | |
105 | 102 | | |
106 | 103 | | |
107 | | - | |
108 | 104 | | |
109 | 105 | | |
110 | 106 | | |
| |||
0 commit comments