typescript 7.0.2 is the native compiler, so this is a pin and not a second
toolchain. tsc --noEmit on tsconfig.json: 15 diagnostics before and after, the
same pre-existing set on both compilers.
TypeScript 7 checks strictly by default, which surfaced 24 real gaps this
tsconfig had been hiding. No compiler setting moved to quiet them: the query
callbacks in adminAnalytics and adminInvoiceActions now name the row each select
projects, request headers are a Record<string, string> rather than a HeadersInit
that cannot be indexed, an optional amountPaid is checked before it is read, a
quote passes undefined rather than null for its optional columns, and sign-up no
longer probes an identities field that IAM never returns.
Co-authored-by: Hanzo Dev <[email protected]>
TypeScript 7 is the native Go compiler; the npm package is a thin shim
that resolves a platform-specific native binary.
Safe here because the build does not emit through tsc — the bundler does,
so tsc is typecheck-only and the built artifact is unaffected. Gated on a
measured comparison of both compilers against this same config: TS7
introduces no errors TS 5.9 did not already report.
typescript now ~5.8.2
Co-authored-by: Hanzo Dev <[email protected]>
- Replace Supabase auth with hanzo.id OAuth 2.0 PKCE flow (src/lib/auth.ts)
- Replace Supabase database queries with Commerce API client (src/lib/commerce.ts)
- Add OAuth callback page (src/pages/AuthCallback.tsx)
- Update all 19 files importing from supabase to use auth/commerce modules
- Remove @supabase/supabase-js dependency from package.json
- Delete src/lib/supabase.ts (422 lines)
- Update .env.example with IAM and Commerce API vars
- Build verified: zero Supabase imports remain
Major Updates:
- Full shopping cart with image display and quantity controls
- Stripe checkout integration for DGX Spark ($4,000)
- Sales contact flow for GPU On-Demand and Enterprise products
- 5-item purchase limit enforcement with UI feedback
- Cart persistence using LocalStorage
- Account page with order history
UI Improvements:
- Products dropdown navigation with hover functionality
- Cmd+K search modal with keyboard navigation
- DGX Spark highlight section after hero
- Mobile-responsive design (tested on 375x667)
- Updated branding from "Hanzo.Computer" to "Hanzo"
- Links to Hanzo AI ecosystem in footer
Testing & CI:
- Comprehensive Playwright MCP testing completed
- E2E test suite with 8 test suites covering:
- Full purchase flow
- 5-item limit enforcement
- Sales contact verification
- Navigation and dropdown
- Search functionality (Cmd+K)
- Mobile responsiveness
- Cart persistence
- GitHub Actions CI workflow with:
- Automated E2E tests on all PRs
- Build verification
- GitHub Pages deployment on main branch
Technical:
- React Router v7 for client-side routing
- Stripe Elements for secure payment
- Context API for cart state management
- Tailwind CSS v4 for styling
- TypeScript for type safety
- Playwright for E2E testing
- Add favicon.svg to resolve 404 error
- Replace Tailwind CDN with proper PostCSS setup
- Remove import maps causing MIME type errors
- Install @tailwindcss/postcss for Tailwind v4 compatibility
- Ensure proper bundling with Vite for production
Build tested locally and working properly with correct base paths.
Sets up the project structure, dependencies, and initial configuration for the Hanzo Computer landing page. This includes:
- Project initialization with Vite and React.
- Configuration for TypeScript, Tailwind CSS, and API key handling.
- Basic HTML structure with meta tags and font links.
- Initial React component structure for the application.
- A placeholder README with local run instructions.
- A placeholder metadata file defining the application name and description.