Files
zooqueen b605993234 Zen is the family across every app, example and static page
The docs estate declared its typeface in 30 root layouts and one linked
stylesheet, each pulling a third-party family off a hosted font CDN on the
critical path of every route. Two of those surfaces also self-hosted the
faces, so the same bytes were vendored by hand in the repo.

@hanzo/font 1.8.8 is where Zen is authored. It is now mounted the way this
repo already mounts every other package stylesheet — `@import '@hanzo/font/css'`
at the top of the app's own sheet — which declares the @font-face rules and
publishes --font-zen-sans / --font-zen-mono. A single :root block per app binds
those to --font-sans / --font-mono, the pair every rule and every font-*
utility already read, so the variable contract is untouched and the next face
swap is two lines rather than a sweep. Genuine system fallbacks stay.

Mounting through the sheet rather than a JS side-effect import also drops the
untyped bare subpath TypeScript could not resolve, so no per-app declaration
shim is needed.

public/reference/ is static HTML with no bundler, so it keeps its own
@font-face; scripts/sync-reference-fonts.ts copies the two variable faces out
of the installed package on each build and the directory is ignored, the same
rule public/openapi/ already follows. The hand-vendored faces are deleted.

Also corrects the brand typography table, which still named a face Hanzo does
not ship, and the three sample configs and two skill pages that repeated it.
2026-08-24 13:20:49 -07:00

41 lines
1.1 KiB
JSON

{
"name": "example-tanstack-start-openapi",
"private": true,
"type": "module",
"sideEffects": false,
"scripts": {
"dev": "vite dev",
"build": "vite build",
"start": "vite preview",
"preview": "vite preview",
"types:check": "@hanzo/docs-mdx && tsc --noEmit"
},
"dependencies": {
"@hanzo/docs-core": "workspace:*",
"@hanzo/docs-mdx": "workspace:*",
"@hanzo/docs-openapi": "workspace:*",
"@hanzo/docs-ui": "workspace:*",
"@hanzo/font": "^1.8.8",
"@tanstack/react-router": "1.170.8",
"@tanstack/react-router-devtools": "1.167.0",
"@tanstack/react-start": "1.168.14",
"lucide-react": "^1.17.0",
"react": "^19.2.6",
"react-dom": "^19.2.6",
"shiki": "^4.1.0",
"tailwind-merge": "^3.6.0",
"vite": "^8.0.14"
},
"devDependencies": {
"@tailwindcss/vite": "^4.3.0",
"@types/mdx": "^2.0.13",
"@types/node": "^25.9.1",
"@types/react": "^19.2.15",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^6.0.2",
"nitro": "3.0.260522-beta",
"tailwindcss": "^4.3.0",
"typescript": "^6.0.3"
}
}