Files
zeekayandHanzo Dev 9500334005 feat: point the Vite plugin at the 8.x stack; drop the unused @hanzo/ui peer
Builds on e22d44f, which removed this package's React surface. Two things
still contradicted that.

The Vite plugin's dep list named packages this repo does not use. `@hanzo/docs`
is the pre-split monolith (16.4.4); every import here is `@hanzo/docs-core`
(16.9.3), so the entry deduped nothing that was actually loaded. And
`@hanzo/docs/openapi` is a subpath of that same absent monolith -- the split
package is `@hanzo/docs-openapi` (10.10.0). Both fixed, matching the sibling
copy of this plugin in hanzo/docs (packages/mdx/src/vite/index.ts), which
already lists the split names.

Added GuiDeps for the 8.x component layer under `@hanzo/ui`: `@hanzo/gui` plus
the `@hanzogui/core` / `@hanzogui/web` it is built from. Two copies of that
core mean two style contexts and unstyled output, so they need `dedupe` and
SSR bundling -- but they are kept out of `optimizeDeps.exclude` on purpose,
because the core has to stay pre-bundled as one unit (the gui repo's own app
config pre-bundles exactly these three for that reason). Splitting the list
is what lets `optimizeDeps.exclude` keep its existing docs-only semantics
instead of being widened onto a framework that must not be excluded.

These are strings merged into the *consumer's* config, never imports, and
entries for packages a consumer lacks are inert.

So the `@hanzo/ui` optional peer was dead: nothing imports it, and LLM.md
already claimed the package depends on no component library. pnpm's
autoInstallPeers was resolving it anyway, dragging @hanzo/ui, 114 `@hanzogui/*`
packages and react-native into every install of an MDX processing library.
Removed -- the claim is now true. Lockfile drops 4670 lines, a clean install
goes from 845 to 452 packages, and the resolved tree still greps zero for
tailwind, radix, shadcn, cva and tamagui.

Also de-forked two public JSDoc strings that still said Fumadocs, and recorded
in LLM.md that `pnpm lint` has never worked here: eslint.config.mjs imports
`eslint-config-custom/library.js`, a workspace-only package that did not come
along in the extraction, and eslint is not a devDependency. The npm package of
that name is an unrelated 0.0.0 placeholder and must not be installed to make
the import resolve. CI runs install + build only, so nothing is gated on it.

Verified from a wiped node_modules: `pnpm install --frozen-lockfile`, `pnpm
build`, `pnpm test` (8/8) and `pnpm types:check` all exit 0. Version stays at
the unpublished 14.2.6 (npm latest is 14.2.5).

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-04 00:57:14 -07:00
..