Repository navigation
refactor(primitives): forward @tangle-network/ui/primitives with export *, deprecate the subpath - #448
Conversation
…rt *, deprecate the subpath ./primitives and the root entry re-exported ui's primitives through two hand-typed lists of ~240 names each, copies of ui's own export list that drifted on every ui release (MISSING_EXPORT on 11.40, new names absent on 11.42). Both now forward ui with export *; Sandbox's Logo, TangleKnot, LogoProps, HeadingProps and SectionTitle shadow ui's by explicit export, and the root keeps the workspace TerminalLine type by name. No public name is removed. The parity test's primitives case and the root omission pin checked the hand lists; a star subpath is complete by construction, so those assertions are retired. ./primitives is now documented as a deprecated compatibility re-export.
|
Independent review (read-only, export graph resolved against @tangle-network/ui@11.42.0 at 294232c): SHIP.
The gate covers the open build risk: |
…eexports # Conflicts: # src/index.ts # src/primitives/index.ts
tangletools
left a comment
There was a problem hiding this comment.
✅ Auto-approved PR — e7bd20ee
Blanket team auto-approval is intentional. This is not a code review.
No automated review runs on this PR. This approval rests on the rule above alone.
tangletools · auto-approval · reason: blanket_auto_approve · 2026-10-25T11:45:17Z
|
Gate receipt: beelink2 beelink2-74dc2639534ca987b056843f59639734 exit 0 on e7bd20e (typecheck, build, test, test:package, test:bridge; before/after story screenshots under ~/reviews/collapse-receipts/2026-10-25-ui-xrepo-shots on drew-gtr-pro). |
…declares (#449) fix(release): Auto Release fails at startup; give the prepare call the ceiling its called file declares **Problem.** Every Auto Release & Publish run since c16c5f9 (10-23) ends in `startup_failure` (runs on 1419d6b, edd99e4, 421586a). `package.json` on main says 0.137.0; npm latest is 0.136.1, so #447 and #448 never shipped. Run ID: run_369e8dcc6188e337ad6eda9097f3a5e9
Problem.
src/primitives/index.tsandsrc/index.tseach re-export about 240@tangle-network/ui/primitivesnames through hand-typed lists. They are copies of ui's own export list (dotfiles census xrepo rank 3, brand~sandbox-ui), and they drift on every ui release: MISSING_EXPORT on ui 11.40, and the names ui 11.42.0 added (MetricChart, series helpers; HoverCard/Breadcrumb at root) are absent until someone types them in (#447 adds 48 lines for that).Change.
./primitivesisexport * from "@tangle-network/ui/primitives"plus Sandbox's ownLogo,TangleKnot,LogoProps,HeadingProps,SectionTitle,SectionTitleProps. A named export takes precedence over the star, so these shadow ui's exactly as before.export * from "./primitives"plusexport type { TerminalLine } from "./workspace", which keeps the rootTerminalLinethe workspace type (it was the one collision)../primitivesand root;Breadcrumb*,HoverCard*,TerminalInput,TerminalCursoron root../primitivesis documented as a deprecated compatibility re-export (README, file header, changeset); new code imports@tangle-network/ui/primitives. agent-container has 0 importers; 11 org repos still import it, so every name stays.ui-export-parity.test.ts: the primitives parity case and the root omission pin checked the hand lists; a star subpath is complete by construction, so those assertions are retired. Shadow checks stay.Why long-term right. One owner of the primitive export list (ui); sandbox-ui stops shipping a copy that needs a PR per ui release.
Proof. Beelink gate:
pnpm typecheck && pnpm build && pnpm test && pnpm test:package && pnpm test:bridge(bridge = built-bundle identity of forwarded bindings; package = packed consumer importing./primitivesand root,scripts/presentation-consumer.tsx). Receipt posted below.Cost. Minor release; additive.
Overlap. #447 edits the same two lists (adds the 11.42.0 names). This PR makes those edits unnecessary; whichever lands second takes this side of
src/index.tsandsrc/primitives/index.ts.Run ID: run_9600d4f3ec2a3cd6b350309083c935e5