@hanzo/gui 7.3.0 -> 8.0.1, @hanzo/ui 8.0.26 -> 8.0.39, @hanzogui/{config,core,
web,lucide-icons-2} onto 8.x, @hanzo/design 0.3.1 -> 0.3.3. What that broke and
what it fixed:
* Icons move to the package ROOT. @hanzogui/lucide-icons-2@8's ./icons/<Name>
subpath exports carry no `types` condition, so every deep import was an
implicit any under noImplicitAny — nine of them. The root barrel is typed and
the package is sideEffects:false, so Rollup still drops the ~1750 icons this
page does not render (checked in dist/, not assumed).
* `@hanzo/ui/core` and friends resolve now, so mono.ts's stated reason for
going through @hanzo/design was stale. The choice stands on a better one: the
page has ONE token layer, and reaching fontMono would import a second
stylesheet to name one family.
* ThemeToggleNext is its own module in 8.0.39, but product/index.js still
re-exports it statically, so @hanzogui/next-theme is still in every Vite
consumer's graph and the shim stays. Its delete condition is now that one
line, not the chunk.
typecheck runs tsgo (@typescript/native-preview) — the tsconfig was already TS7-
clean, no baseUrl, moduleResolution bundler. tsc 5.9 stays for typescript-eslint
only, and was used to confirm every remaining error is an upstream declaration
break rather than a compiler difference: it reports them identically.
The `sm` override survives, with better evidence. I deleted it first, on the
reading that @hanzogui/config@8 defines `sm` as maxWidth — it does, in media.mjs,
which v5 does not use. v5-media.mjs says minWidth: 640, so SiteNav's `$sm`
(written meaning "phone") is still inverted. Playwright at 390px caught it: the
desktop link row rendered with no menu button and overflowed the viewport by 9px.
Restored, re-measured, 390/390 and a Menu button. The cast the override needs is
now the app's only one, and it dies with the file.
Verified: pnpm typecheck (tsgo, clean), pnpm lint (clean), pnpm build, polyglot
asserts under BOTH dash and bash, `| sh --help` prints the installer usage, and a
Playwright pass over the built bytes at 1280 and 390 — tab strip switches the
command, copy writes the right string and toasts, the phone menu opens, zero
console errors.
Co-authored-by: Hanzo Dev <[email protected]>
44 lines
1.2 KiB
JSON
44 lines
1.2 KiB
JSON
{
|
|
"name": "hanzo-sh",
|
|
"private": true,
|
|
"version": "1.0.2",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "vite build && node scripts/build-polyglot.js",
|
|
"build:dev": "vite build --mode development",
|
|
"lint": "eslint .",
|
|
"typecheck": "tsgo --noEmit -p tsconfig.app.json",
|
|
"preview": "vite preview"
|
|
},
|
|
"dependencies": {
|
|
"@hanzo/data": "^1.2.2",
|
|
"@hanzo/design": "^0.3.3",
|
|
"@hanzo/gui": "8.0.1",
|
|
"@hanzo/products": "^0.2.0",
|
|
"@hanzo/ui": "^8.0.39",
|
|
"@hanzogui/config": "8.0.1",
|
|
"@hanzogui/lucide-icons-2": "8.0.1",
|
|
"react": "^19.0.0",
|
|
"react-dom": "^19.0.0",
|
|
"react-native-web": "^0.21.2"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^9.9.0",
|
|
"@hanzogui/core": "8.0.1",
|
|
"@hanzogui/web": "8.0.0",
|
|
"@types/node": "^22.5.5",
|
|
"@types/react": "^19.0.0",
|
|
"@types/react-dom": "^19.0.0",
|
|
"@typescript/native-preview": "^7.0.0-dev.20260707.2",
|
|
"@vitejs/plugin-react-swc": "^3.5.0",
|
|
"eslint": "^9.9.0",
|
|
"eslint-plugin-react-hooks": "^5.1.0-rc.0",
|
|
"eslint-plugin-react-refresh": "^0.4.9",
|
|
"globals": "^15.9.0",
|
|
"typescript": "^5.5.3",
|
|
"typescript-eslint": "^8.0.1",
|
|
"vite": "^5.4.1"
|
|
}
|
|
}
|