Skip to content

Commit efdddc9

Browse files
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

‎pnpm-lock.yaml‎

Lines changed: 0 additions & 132 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎ui/apps/console/package.json‎

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,6 @@
5656
"prepublishOnly": "pnpm build"
5757
},
5858
"devDependencies": {
59-
"@dnd-kit/core": "^6.3.1",
60-
"@dnd-kit/sortable": "^10.0.0",
61-
"@dnd-kit/utilities": "^3.2.2",
6259
"@object-ui/app-shell": "workspace:*",
6360
"@object-ui/auth": "workspace:*",
6461
"@object-ui/collaboration": "workspace:*",
@@ -104,7 +101,6 @@
104101
"@types/react-dom": "19.3.0",
105102
"@vitejs/plugin-react": "^6.0.5",
106103
"@vitest/ui": "^4.1.10",
107-
"autoprefixer": "^10.5.4",
108104
"happy-dom": "^20.11.2",
109105
"lucide-react": "^1.43.0",
110106
"postcss": "^8.5.26",

0 commit comments

Comments
 (0)