Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .changeset/5753-providers-drop-spec-dep.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
'@object-ui/providers': patch
---

`@object-ui/providers` no longer declares `@objectstack/spec` as a dependency. Nothing
in the package imports it, so consumers stop installing it on this package's account
(objectui#5753).

The edge was live for exactly one release cycle. It was promoted from `devDependencies`
to `dependencies` when `ThemePreference` was derived from the spec's `ThemeMode` union,
because the package's public `.d.ts` then referenced the spec. objectui#5716 re-pointed
that derivation at `@object-ui/types` (`ThemeMode` / `THEME_MODES`), which removed the
last three import sites — `src/types.ts` and the two retirement-era test files — and
left the declaration behind with no reader.

Re-measured on `origin/main` at `ad0f5f11f` before removal, with a positive control so
the empty result is a real absence rather than a broken command: the import-shaped grep
(`from` / `require(` / `import(` / `vi.mock(` against `@objectstack/spec`, bare name and
every subpath) returns **0** hits under `packages/providers/` and **434** across
`packages/` + `apps/` — same command, same invocation. The only surviving mentions in
the package are the declaration itself, immutable `CHANGELOG.md` history, and a prose
comment in `tsconfig.test.json` that this change corrects.

No API change and no behaviour change: `dist/types.d.ts` imports only `react` and
`@object-ui/types`, and no emitted file references a spec symbol. Consumers on an
isolated `node_modules` (pnpm) never had supported access to the spec through this
package, so nothing they could legitimately import goes away — the change is to the
install graph only, which is why it is scored `patch` rather than `minor`.
3 changes: 1 addition & 2 deletions packages/providers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,7 @@
"lint": "eslint ."
},
"dependencies": {
"@object-ui/types": "workspace:*",
"@objectstack/spec": "^17.0.0"
"@object-ui/types": "workspace:*"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0",
Expand Down
6 changes: 3 additions & 3 deletions packages/providers/tsconfig.test.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
// The package build emits `dist`; this project emits nothing, so it must
// not inherit `composite` / `declaration` from the build config.
"composite": false,
// Drop the root tsconfig's source-tree `paths` so `@object-ui/*` and
// `@objectstack/spec` resolve through the workspace dependency's built
// `.d.ts` instead of pulling sibling sources in as program inputs (TS6059).
// Drop the root tsconfig's source-tree `paths` so `@object-ui/*` resolves
// through the workspace dependency's built `.d.ts` instead of pulling
// sibling sources in as program inputs (TS6059).
"paths": {}
},
"include": ["src/**/*.test.ts", "src/**/*.test.tsx"]
Expand Down
3 changes: 0 additions & 3 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading