Files
zeekayandGitHub 5631dbe739 decouple @hanzogui, standardize on 'pkgs/', etc (#228)
* refactor: decouple @hanzo/ui from hanzogui

  Make @hanzo/ui shadcn-only — no hanzogui/Tamagui coupling.

  - remove primitives/bases (gui/admin/svelte/vue) re-exports
  - drop @hanzogui peerDependencies + peerDependenciesMeta entries
  - add check-no-hanzogui guard, wired into build
  - fix latent NodeJS.Timeout types to keep the build green

* refactor: remove duplicate @hanzo/brand from the monorepo

  @hanzo/brand is owned by the standalone hanzoai/brand (the npm-canonical
  source); this monorepo's copy was unused and had drifted.

  - delete pkg/brand
  - add check-no-brand-pkg guard (wired into `check`) so it can't reappear

* refactor(ui): stop importing from the app; use own cn util

  pkg/ui pulled `cn` from @/lib/utils (../../app) — an inverted dependency on
  the consuming app. Point the animation components at pkg/ui's own cn and
  drop the @/app, @/registry, @/lib tsconfig path aliases.

* fix(ui): type errors; stop tracking the root lockfile

  - ModelCard: lucide-react dropped the Github icon → use Code
  - drawer: annotate DrawerTrigger/DrawerClose (radix type portability)
  - untrack root pnpm-lock.yaml; CI → --no-frozen-lockfile

* release: bump @hanzo/ui to 5.7.0

* refactor: rename pkg/ → pkgs/, merge packages/ into it

  standardize on 'pkgs/': move pkg/* and packages/* into pkgs/.
  Update workspace globs, CI, scripts, and config references accordingly.
2026-06-19 15:30:30 -10:00

37 lines
1.4 KiB
JavaScript

#!/usr/bin/env node
// Test that all @hanzo/ui imports work correctly
console.log('Testing @hanzo/ui package imports...\n');
async function testImports() {
try {
// Test 1: Top-level import with cn utility
const { Button, Card, cn } = await import('./pkgs/ui/components/index.ts');
console.log('✅ Top-level import works:');
console.log(' - Button:', typeof Button === 'object' ? 'loaded' : 'missing');
console.log(' - Card:', typeof Card === 'object' ? 'loaded' : 'missing');
console.log(' - cn:', typeof cn === 'function' ? 'function' : 'missing');
// Test 2: Utils import
const utils = await import('./pkgs/ui/src/utils.ts');
console.log('\n✅ Utils import works:');
console.log(' - cn from utils:', typeof utils.cn === 'function' ? 'function' : 'missing');
// Test 3: Check cn utility functionality
const testClasses = cn('text-red-500', { 'bg-blue-500': true }, 'p-4');
console.log('\n✅ cn utility functionality:');
console.log(' - Result:', testClasses);
console.log('\n🎉 All imports working correctly!');
console.log('\nSupported import patterns:');
console.log(' import { Button, cn } from "@hanzo/ui"');
console.log(' import { Button, cn } from "@hanzo/ui/components"');
console.log(' import { cn } from "@hanzo/ui/lib/utils"');
} catch (error) {
console.error('❌ Import test failed:', error.message);
process.exit(1);
}
}
testImports();