16 Commits
Author SHA1 Message Date
zeekay f6342587d7 ci(docker): build only threshold + core (app/bridge's transitive workspace deps with dist exports)
pkg/utila has a rollup config issue + isn't in app/bridge's dep graph.
pkg/bridge ships from src/ (no dist), Vite reads its TS directly.
Drop both from the pre-build chain — threshold + core are the only
workspace deps that need to be compiled for Vite to resolve exports.
2026-05-25 09:56:06 -07:00
zeekay af215fe2a0 ci(docker): build workspace dep packages before Vite app build
@luxfi/threshold (and likely @luxfi/{core,utila,bridge}) declare exports
pointing to dist/ which is produced by tsc — pnpm install doesn't run
the build automatically. Build the workspace deps before running the
Vite-driven app/bridge build so its module resolver finds the dist.
2026-05-25 09:47:13 -07:00
zeekay f10df77a5c ci(docker): pin pnpm 8.15.9 + fallback non-frozen (pnpm v9 approve-builds blocks install) 2026-05-25 00:16:13 -07:00
zeekay d2aaf31f96 rewrite(bridge): Next.js → Vite 8 SPA + hanzoai/spa
- Convert app/bridge/ from Next.js 14 app-router to Vite 8 SPA.
- New entry: index.html → src/main.tsx → src/App.tsx (wouter router).
- src/pages/{HomePage,AuthPage,CampaignsPage,CampaignDetailPage,SalonPage,
  SwapPage,TeleporterSwapPage,UtilaSwapPage,TransactionsPage,NotFoundPage}.tsx.
- src/shims/next-{link,image,navigation,dynamic,headers,server,font/google,mdx}
  + sentry-nextjs map Next.js APIs onto wouter + plain DOM so existing
  components compile unchanged. Aliased in vite.config.ts.
- Dockerfile (root + app/bridge): FROM node:22-alpine AS build → vite build →
  FROM ghcr.io/hanzoai/spa COPY dist /public.
- Delete app-router dir, next.config.js, next-env.d.ts, middleware.ts,
  sentry.*.ts. Keep app/explorer/ and docs/ untouched (still Next.js).

Tenant route resolution:
  src/app/api/tenant/route.ts was a 17-line edge handler that called
  lib/tenant.fetchTenant(). fetchTenant() only reads env vars and fetches a
  public IAM /api/get-organization endpoint. No secrets. Moved to client:
  lib/tenant.ts now reads import.meta.env.VITE_* and is called directly from
  main.tsx + TenantProvider. No sidecar needed.

TODO:
  - `pnpm install` in CI to pick up wouter, vite, @vitejs/plugin-react,
    @sentry/browser (added to package.json).
  - Pre-existing viem/teleport tsc errors remain (ignored as before via esbuild).
  - Storybook config still references @storybook/nextjs — rewire to
    @storybook/react-vite separately.
2026-04-19 00:05:10 -07:00
zeekay 7c7817e337 feat: BRAND_PACKAGE env var — white-label via npm brand package at startup 2026-03-29 12:04:06 -07:00
zeekay d5bb9a946e perf: add BuildKit pnpm store cache mount 2026-03-03 05:10:01 -08:00
zeekay 5f365f9ddf fix: add NEXT_PUBLIC build-time env vars for SSR build
Next.js requires NEXT_PUBLIC_* env vars at build time for SSR pages.
These defaults match the production API endpoints and can be overridden
via --build-arg.
2026-03-02 12:18:05 -08:00
zeekay b77710ab4b fix: copy full workspace from deps stage to preserve pnpm links
pnpm workspace creates linked node_modules for each package.
Copying only root node_modules loses the workspace package links,
causing 'next: not found' during build. Copy entire /app from deps
to preserve the full pnpm link structure.
2026-03-02 11:39:55 -08:00
zeekay 4cf599e69a fix: add git to Docker build deps for ethereumjs-abi resolution
pnpm needs git to resolve ethereumjs-abi which is referenced as a
git URL dependency. Without git installed, pnpm install fails with
ENOENT: spawn git.
2026-03-02 11:25:03 -08:00
zeekay 07cfddaf84 fix: use --no-frozen-lockfile for pnpm override resolution 2026-03-02 11:18:19 -08:00
zeekay c6c06ad85f fix: use node:18-alpine for [email protected] V8 API compat 2026-03-02 11:06:49 -08:00
zeekay dc36230999 fix: add python3/build tools for native deps, remove invalid COPY shell syntax 2026-03-02 10:44:51 -08:00
zeekay 6e4c1f65d7 fix: Dockerfile paths match actual repo structure (app/pkg not apps/packages) 2026-03-02 10:30:58 -08:00
zeekay c13cdedf40 Add Dockerfile for bridge deployment 2025-08-16 01:12:09 +00:00
zeekay a1b78ae8cb Integrate new KMS + MPC services 2025-08-03 15:52:32 -05:00
zeekay b1e0a205b5 Update docs 2025-08-02 14:35:25 -05:00