Files
OpenFlare/docs/plan/verify-frontend-build.md
T
2026-06-18 18:05:00 +08:00

138 lines
3.6 KiB
Markdown

# Wavelet Frontend Build Verification
**Date:** 2026-06-18
**Directory:** `/Users/ryan/DEV/Go/OpenFlare/Wavelet/frontend`
**Node/Next:** Next.js 16.2.7 (Turbopack)
## Summary
| Gate | Command | Exit Code | Result |
|------|---------|-----------|--------|
| TypeScript | `pnpm exec tsc --noEmit` | **0** | ✅ Pass |
| Lint | `pnpm lint` | **0** | ✅ Pass |
| Production build | `pnpm build:embed` | **0** | ✅ Pass |
**Overall:** All three gates pass. Static export completed with **47/47** pages generated.
---
## 1. TypeScript (`pnpm exec tsc --noEmit`)
- **Exit code:** `0`
- **Duration:** ~16.2s
- **Errors:** None
- **Warnings:** None
---
## 2. ESLint (`pnpm lint`)
- **Exit code:** `0`
- **Duration:** ~24.4s
- **Command:** `eslint` (no extra args)
- **Errors:** None
- **Warnings:** None
---
## 3. Production Build (`pnpm build:embed`)
**Production target:** `build:embed` — sets `NEXT_STANDALONE_EXPORT=true`, which enables `output: 'export'` in `next.config.ts` for static export embedded in the Go backend.
- **Exit code:** `0`
- **Duration:** ~72s (compile ~44s, TypeScript check ~20.1s, static generation ~2.2s)
### Build progress
- ✅ Compiled successfully
- ✅ TypeScript check passed during build
- ✅ Static page generation completed at **47/47** pages
### Warnings
```
⚠ Statically exporting a Next.js application via `next export` disables API routes and middleware.
This command is meant for static-only hosts, and is not necessary to make your application static.
Pages in your application without server-side data dependencies will be automatically statically exported by `next build`, including pages powered by `getStaticProps`.
Learn more: https://nextjs.org/docs/messages/api-routes-static-export
```
### Static pages (47 routes)
| Route |
|-------|
| `/` |
| `/_not-found` |
| `/admin/database` |
| `/admin/demo` |
| `/admin/files` |
| `/admin/logs` |
| `/admin/push` |
| `/admin/settings` |
| `/admin/system` |
| `/admin/tasks` |
| `/admin/users` |
| `/docs/api` |
| `/docs/how-to-use` |
| `/docs/privacy-policy` |
| `/docs/terms-of-service` |
| `/files` |
| `/home` |
| `/icon` |
| `/login` |
| `/openflare` |
| `/openflare/about` |
| `/openflare/access-logs` |
| `/openflare/apply-logs` |
| `/openflare/config-versions` |
| `/openflare/nodes` |
| `/openflare/nodes/detail` |
| `/openflare/origins` |
| `/openflare/origins/detail` |
| `/openflare/pages` |
| `/openflare/pages/detail` |
| `/openflare/performance` |
| `/openflare/proxy-routes` |
| `/openflare/proxy-routes/detail` |
| `/openflare/waf` |
| `/openflare/waf/ip-groups` |
| `/openflare/websites` |
| `/openflare/websites/certificates` |
| `/openflare/websites/detail` |
| `/openflare/websites/dns-accounts` |
| `/register` |
| `/settings` |
| `/settings/access-token` |
| `/settings/appearance` |
| `/settings/notifications` |
| `/settings/profile` |
| `/settings/security` |
All routes prerendered as static content (`○`). Middleware proxy is present but not exported in static mode (expected).
---
## Notes
- Initial `pnpm build:embed` attempt failed with "Another next build process is already running" due to a stale `.next/lock` from a concurrent build. Lock cleared and build re-run successfully.
- Previous verification on this date documented a `useSearchParams()` / missing `Suspense` failure on `/openflare/nodes`. That issue is no longer present in the current tree.
---
## CI Gate (recommended)
Run all three checks before merge:
```bash
cd Wavelet/frontend
pnpm exec tsc --noEmit
pnpm lint
pnpm build:embed
```
---
## Actions Taken
- Ran all three verification commands on 2026-06-18.
- No code changes applied; documentation updated with results.