Skip to content

Framework tiers (detail)

How cellp classifies front-end stacks relative to Cloudflare Workers.

Tier 1 — first-class

cellp documents, recommends, and validates these stacks when they deploy as one Worker + assets per version (one celld process per version):

StackCloudflarecellp
React + Vite SPAReact + Vite guideDefault for new apps
Vue + Vite SPAVue guideSame SPA + Worker pattern
AstroAstro guideSingle Worker / static + server
SvelteKitSvelteKit guideSingle Worker only
RemixRemix / React Router on Workers@remix-run/cloudflare bundle
NuxtNuxt on WorkersNitro cloudflare preset

What “first-class” means

  • Documented on this site and in Supported stacks.
  • Expected path: CI builds the framework output → you upload the wrangler bundle → cellp runs one celld per version.
  • Not a guarantee that every GitHub template works without a project-specific overlay or prepare-artifact script.

What it does not mean

  • Multi-Worker apps (wrangler [[services]] binding other Workers) — not supported on cellp today.
  • SvelteKit “platform” templates that rely on separate auth/DB Workers — treat as unsupported until multi-worker orchestration exists.

Default recommendation

For new projects on cellp, start with:

text
Vite (React or Vue)  →  static dist/
Thin Worker          →  API, auth, bindings
wrangler assets      →  SPA fallback

This matches Cloudflare’s Workers + Static assets model and avoids celld re-bundling large framework graphs.

Next.js — experimental, not tier 1

Cloudflare documents Next.js via OpenNext (and related tooling). cellp:

  • Does not list Next as tier 1.
  • Does not use Next for the Dashboard (web/ is a Vite SPA, not Next.js).
  • Allows experimental OpenNext artifacts if you pre-build a single Worker entry and static assets.
  • Lab only: minimal OpenNext and pinned App Router fixtures have passed lab fixture checks (static assets, dynamic SSR route, Route Handler, 404). That is not tier-1 support or a promise that arbitrary Next/OpenNext versions work unchanged.
  • Pinned official corpus: @opennextjs/cloudflare@1.14.0 (commit a644ee1597de577632a29af9a005684554607b2f) has a real preview harness in dev/scripts/run-opennext-official-e2e.sh. The latest measured App Router runtime result is 55 passed / 3 failed / 3 skipped out of 58 runnable tests (after R2 incremental-cache import and localhost preview Host; remaining failures are data/tag/fetch cache semantics). OpenNext remains experimental / not tier 1.
Approachcellp
Next on Node (Vercel-style SSR)Out of scope
OpenNext Worker bundle + assetsExperimental; prebuild required
Next Edge Middleware as Next defines itNot a goal

Other CF frameworks (Solid, Waku, Hono, Qwik, …)

Cloudflare may publish guides for additional frameworks. cellp assigns tier 1 only to the table above. Hono, SolidStart, Qwik City, and Waku have passed community validation as single-Worker deploys — see Supported stacks. Others may still work if the output is a standard Workers bundle; judge against celld compatibility.

Self-hosted Workers control plane. Not affiliated with Cloudflare or Vercel.