Skip to content

Commit bdbdebf

Browse files
committed
feat(types)!: drop the Cloud namespace re-export from the root entry (objectui#8225)
`@object-ui/types` re-exported the whole `@objectstack/spec/cloud` subpath as the `Cloud` type namespace. The objectstack#16325 ruling (director batch #62, option B) takes the cloud control-plane contracts out of `@objectstack/spec`, and the spec's `./cloud` subpath is deleted upstream once cloud and objectui stop importing it. This is step 2 of 3: the single import in this repository. - `packages/types/src/index.ts`: the `export type * as Cloud` line is removed and the gap in the 15-line namespace family is marked in place so it reads as deliberate (14 re-exports remain) - changeset (`@object-ui/types` minor, breaking spelled out): the `Cloud` namespace is gone, no alias and no deprecation window - measured at `289d14687`: 0 `Cloud.` member accesses and 0 named `Cloud` imports from `@object-ui/types` across 4106 tracked ts/tsx files under `packages/**` and `apps/**` (PCRE census; the same regex fires on the consumed siblings `UI.` and `Data.`), 0 star re-exports of `@object-ui/types` in other packages, and 0 imports of the spec's cloud subpath outside that line
1 parent 289d146 commit bdbdebf

2 files changed

Lines changed: 30 additions & 1 deletion

File tree

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
'@object-ui/types': minor
3+
---
4+
5+
**Breaking for `@object-ui/types` consumers:** the `Cloud` type namespace is
6+
REMOVED from the package's root entry. `export type * as Cloud from
7+
'@objectstack/spec/cloud'` is gone, so `import type { Cloud } from
8+
'@object-ui/types'` and every `Cloud.X` member access now fail to compile
9+
(TS2305 / TS2694). No alias and no deprecation window are left — the maintainer's
10+
standing posture is immediate removal (objectui#8225; step 2 of 3 of the
11+
objectstack#16325 ruling, option B: the cloud control-plane contracts leave
12+
`@objectstack/spec`, and the spec's `./cloud` subpath is deleted upstream once
13+
cloud and objectui stop importing it).
14+
15+
The rest of the namespace family — `Data`, `UI`, `System`, `AI`, `API`,
16+
`Automation`, `Shared`, `QA`, `Kernel`, `Contracts`, `Integration`, `Studio`,
17+
`Identity`, `Security` (14 re-exports) — is unchanged; the gap in that block is
18+
deliberate and is marked in place.
19+
20+
Measured in this repository at `289d14687`: zero consumers of the `Cloud`
21+
namespace across `packages/**` and `apps/**` (a `Cloud.` member-access census
22+
plus a named-import census, both 0 against a control of 15 namespace re-export
23+
lines in the same file), and zero imports of the spec's cloud subpath outside
24+
that one line — the three cloud-shaped types objectui does use
25+
(`PackageTranslation`, `resolvePackageL10n`'s result, `PackageManifest`) were
26+
already declared inline in `app-shell` rather than imported. No runtime
27+
behaviour changes; the emitted JavaScript is identical.

‎packages/types/src/index.ts‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1117,7 +1117,9 @@ export type * as UI from './spec-ui-namespace.js';
11171117
export type * as System from '@objectstack/spec/system';
11181118
export type * as AI from '@objectstack/spec/ai';
11191119
export type * as API from '@objectstack/spec/api';
1120-
export type * as Cloud from '@objectstack/spec/cloud';
1120+
// `Cloud` is deliberately absent from this family since objectui#8225: the
1121+
// cloud control-plane contracts leave the spec's public surface (objectstack#16325,
1122+
// option B), so nothing here re-exports that subpath and no consumer reads it.
11211123
export type * as Automation from '@objectstack/spec/automation';
11221124
export type * as Shared from '@objectstack/spec/shared';
11231125
export type * as QA from '@objectstack/spec/qa';

0 commit comments

Comments
 (0)