diff --git a/.changeset/5753-providers-drop-spec-dep.md b/.changeset/5753-providers-drop-spec-dep.md new file mode 100644 index 0000000000..eb0756fe59 --- /dev/null +++ b/.changeset/5753-providers-drop-spec-dep.md @@ -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`. diff --git a/packages/providers/package.json b/packages/providers/package.json index 8f4c97516c..2c698bed77 100644 --- a/packages/providers/package.json +++ b/packages/providers/package.json @@ -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", diff --git a/packages/providers/tsconfig.test.json b/packages/providers/tsconfig.test.json index 1edf1cd83f..b1db1dad27 100644 --- a/packages/providers/tsconfig.test.json +++ b/packages/providers/tsconfig.test.json @@ -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"] diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index deb53ec2fe..2f3855c124 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2656,9 +2656,6 @@ importers: '@object-ui/types': specifier: workspace:* version: link:../types - '@objectstack/spec': - specifier: ^17.0.0 - version: 17.2.0(ai@7.0.65(zod@4.4.3)) react: specifier: 19.2.8 version: 19.2.8