- Date: 2026-05-20
- Status: Accepted
- Phase: 0 → 8
Context
apps/web хостится на Cloudflare Pages. На Phase 0 нужен landing с минимумом инфры. Master spec §III.2 предполагает edge runtime (@cloudflare/next-on-pages или Workers Static Assets + OpenNext) для production-сценариев с Auth/API.
Edge adapter setup сейчас:
- complex (specific Next.js version constraints, runtime polyfills)
- избыточен для Phase 0-7 (нет server actions, нет API routes)
Decision
output: "export" в next.config.mjs → static HTML/JS deploy. CF Pages раздаёт через global CDN.
Переезд на edge adapter откладывается до Phase 8-9 — когда появятся Auth.js routes и tRPC backend. Тогда оценим экосистему 2026 (next-on-pages vs OpenNext Cloudflare adapter).
Consequences
Pros:
- 5-минутный deploy setup, никакого debugging Edge runtime quirks для Phase 0-7
- CDN-кэширование агрессивное, latency ~0ms на edge
useSearchParams(сSuspenseboundary) даёт query-driven dynamic UI без[id]routes
Cons:
- Нет SSR — initial HTML минимальный, контент гидрируется на клиенте (для xyflow это нормально — он всё равно client-only)
- Нет API routes — Phase 8 потребует отдельный Hono Worker
- При переезде на adapter некоторые routes (где сейчас
?id=) можно мигрировать на[id]dynamic
CF Pages gotcha (записано отдельно)
public/ assets держатся в edge cache 7 дней (s-maxage=604800). Removed files (Phase 5 snapshot) остаются live до cache expiry. Не блокирует, но fyi.
Related files
apps/web/next.config.mjswrangler.jsonc(pages_build_output_dir)docs/cloudflare-pages.md