Skip to content

finding: @object-ui/providers declares an @objectstack/spec dependency that nothing in the package imports once #5716 lands #5753

Description

@os-zhuang

Found while executing #5716 (session session_01EuPCi56cnGyykygi3z9w4m, PR #5752). Observation class — no runtime defect.

Blocked-by: PR #5752 (the premise holds only once it lands).

Measurement (branch claude/issue-5716-localize-theme-types at cf05dd125)

Before #5716, packages/providers imported @objectstack/spec/ui in exactly three places: src/types.ts:2 (the ThemeModeSchema type carrier behind ThemePreference) and the two retirement-era test files. The #5716 ruling re-pointed all three at @object-ui/types (ThemeMode / THEME_MODES), so after PR #5752 a grep for objectstack/spec across packages/providers/ returns only:

  • package.json:34 — the dependency declaration itself (caret 17.0.0), and
  • a prose comment in tsconfig.test.json:13.

Zero import sites. check:phantom-deps guards the inverse direction (import without a declaration), so nothing mechanical reddens on a declared-but-unimported dependency: it ships as dead weight in the published package's dependency tree and, more practically, keeps @object-ui/providers on the spec's install/refresh treadmill for no reader.

Why not fixed in PR #5752

packages/providers/package.json is outside that card's granted write surface, and removing a published package's dependency is its own reviewable decision (it changes the install graph for consumers). Natural landing spot: the post-release spec-pin refresh chain (the #5668Restart-when: exit), which touches every spec dependency declaration anyway — whoever executes the refresh can drop the entry instead of bumping it, with this issue as the reason. The tsconfig.test.json comment can be updated in the same stroke.

Metadata

Metadata

Assignees

No one assigned

    Labels

    domain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repopm:queue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions