web-docs: fix the docs build properly - #122
Merged
Merged
Conversation
The build has been failing with 'Base UI error #41'. I previously called it a platform race, on the evidence that the failing page moved between runs and that the container built fine. That was wrong, and the actual answer took thirty seconds: run the dev server, read the unminified message. Base UI: NavigationMenuRootContext is missing. Navigation Menu parts must be placed within <NavigationMenu.Root>. Two copies of @base-ui/react were installed. The app had 1.2.0 hoisted; fumadocs-ui, needing ^1.7.0, carried its own nested 1.7.0. NavbarMenu provides the root context from one copy, our NavigationMenuContent consumes it from the other, and two module instances mean two contexts. Nothing to do with workers or platform. Three changes, and they only work together: fumadocs-ui was pinned at 16.6.8 against fumadocs-core 16.14.2. It is aliased as npm:@fumadocs/base-ui@latest — a floating tag, which resolves once and then never moves, so the alias said latest and meant eight minors ago. Now pinned to 16.14.2 explicitly, matching core. @base-ui/react 1.2.0 -> 1.7.0, with an override forcing a single copy. This is exactly what Dependabot asked for in #115, which I closed claiming it broke the build. It did — on its own, against fumadocs-ui 16.6.8. The bump was right; it just could not travel alone. fumadocs-ui/components/toc/index -> fumadocs-ui/components/toc, since 16.14 exports the directory rather than the index subpath. Same file, same named exports, checked against the package's own export map. 223/223 pages twice locally on eleven workers, the configuration that supposedly could not work, and 223/223 in the container. Lint clean, catalogue in sync.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
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.
The docs build has been failing with
Base UI error #41. I previously diagnosed that as a platform race — the failing page moved between runs, the container built fine — and rejected Dependabot #115 on the strength of it.That was wrong, and the real answer took thirty seconds: run the dev server, where the message is not minified.
Root cause
Two copies of
@base-ui/react. The app had 1.2.0 hoisted;fumadocs-ui, requiring^1.7.0, carried its own nested 1.7.0. fumadocs'sNavbarMenuprovides the root context from one copy, ourNavigationMenuContentconsumes it from the other, and two module instances are two contexts. Nothing to do with workers, parallelism, or macOS.Three changes, and they only work together
fumadocs-ui16.6.8 → 16.14.2. It is aliased asnpm:@fumadocs/base-ui@latest— a floating tag, which resolves once at first install and then never moves. So the alias saidlatestand meant eight minors ago, againstfumadocs-core16.14.2. Now pinned explicitly, matching core. Same class of trap as theoven/bun:1tag that broke the Dockerfile.@base-ui/react1.2.0 → 1.7.0, with an override forcing a single copy. This is precisely what Dependabot asked for in #115, which I closed claiming it broke the build. It did — on its own, againstfumadocs-ui16.6.8. The bump was correct; it simply could not travel alone.fumadocs-ui/components/toc/index→fumadocs-ui/components/toc. 16.14 exports the directory, not the index subpath. Same file, same named exports — verified against the package's ownexportsmap rather than guessed.Evidence
next buildlocally, ×2docker buildbun run lintbun run catalogue:checkWorth fixing next
docs-ci.ymlstill never builds the site. Every failure in this chain — this one, and the Dockerfile break before it — was invisible to CI because it only runs content checks. Anext buildstep would have caught both on the commit that introduced them.