Files
hanzo.sh-native/package.json
zeekayandHanzo Dev 32b5125259 8.x: latest @hanzo/ui + @hanzo/gui, and typecheck on the native compiler
@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]>
2026-08-03 17:59:56 -07:00

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"
}
}