- @hanzo/gui + whole @hanzogui/* graph 7.3.0 -> 8.0.0, @hanzo/ui -> 8.0.38,
@hanzo/design -> 0.3.3; [email protected].5 declared directly
([email protected] imports it but no longer declares the peer).
- Icons from the package root, not /icons/* subpaths: 8.0.0's per-icon exports
entries carry no types condition, so subpaths typecheck as any. Root export
is typed and sideEffects:false tree-shakes — JS bundle 647 kB -> 531 kB.
- gui base sheet as a REAL cacheable stylesheet: scripts/gen-gui-css.mjs
(first step of pnpm build) writes config.getCSS() to src/gui.css, main.tsx
imports it, GuiProvider renders disableInjectCSS. ~43 kB gzip, fingerprinted.
- TypeScript 7.0.2 for tsc; .pnpmfile.cjs gives @typescript-eslint/* their own
[email protected] (side-by-side per typescript-eslint#10940) so lint runs.
- next-theme shim STAYS: 8.0.38 lazily code-splits ThemeToggleNext, but Rollup
still follows the dynamic import and the optional peer breaks the build
(measured). SiteNav still authors $sm as phone, so the sm override stays too.
- Measured: typecheck 0, lint 0, build 0, polyglot bash -n OK + --help prints
usage, page verified at 1280px and 390px.
Co-authored-by: Hanzo Dev <[email protected]>