Repository navigation
fix(web): use portable BaseUI package entrypoints - #906
Merged
Merged
Conversation
mnoah1
requested review from
a team,
behinddwalls and
sbalabanov
as code owners
October 21, 2026 17:39
prathshenoy
approved these changes
Oct 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why?
Built UI packages import paths such as
baseui/block/index.js, which assume BaseUI ships component directories. Hosts that expose flat BaseUI entry points cannot resolve those paths and must patch each library release.What?
Use public BaseUI entry points (
baseui,baseui/block, etc.) across the shared platform and both domain UIs. The host continues to supply BaseUI, React, and Styletron providers and processes the ESM UI entries with its bundler for SSR and browser rendering. The separate/serverentries remain directly executable in Node.Run packaged UI consumer checks through Vite, preserve React 18 SSR/hydration coverage across light, dark, and custom themes, and add direct-Node checks for both server entries. Package archive checks reject layout-specific BaseUI imports in all three libraries.
Test Plan
Passed locally:
make web-check: all 33 checks and both reference-host image builds.make web-e2e-test: both real-stack Playwright suites, including Stovepipe ingestion, project results, and refresh.make lint(includesmake fmt),make check-tidy,make gazelle, andmake check-gazelle.Also validated the unmodified Bazel package JavaScript in a host with flat BaseUI entry points: production SSR/client build and both browser integration tests passed (styling, results, refresh, and a mounted route prefix).