Framework guides
Deploy frontend and full-stack frameworks to Easel.
Each guide covers the setup a framework needs on Easel, what its build deploys, which framework features work, and its known limitations. Shared build mechanics live in build configuration.
Full-stack frameworks
These frameworks produce static assets and server code. Easel serves the assets from the CDN and runs the server code in Easel Functions.
Next.js
App Router and Pages Router with server rendering, streaming, Server Actions, ISR, middleware, and image optimization.
Production-ready · Automatic setup
TanStack Start
Full-stack React with server functions, streaming, server routes, and prerendering through Nitro.
Production-ready · Nitro plugin required
Nuxt
Vue with server rendering, prerendering, Nitro server routes, middleware, and route rules.
Production-ready · Automatic setup
React Router
React Router v7 framework mode with loaders, actions, server rendering, resource routes, and streaming.
Production-ready · Deployment preset required
SvelteKit
Svelte with server rendering, endpoints, form actions, hooks, streaming, and prerendering.
Production-ready · Adapter required
Static and client-rendered applications
Vite
Static sites and single-page applications built with React, Vue, Preact, Solid, Svelte, and other Vite integrations.
Production-ready · Automatic setup
Compare frameworks
| Framework | Rendering | Required setup | Server runtime |
|---|---|---|---|
| Next.js | Static, SSR, streaming, ISR, PPR | None | Node.js |
| TanStack Start | SSR, streaming, prerendering | Nitro plugin | Node.js |
| Nuxt | Static, SSR, Nitro routes | None | Node.js |
| React Router | SSR, loaders, actions | Deployment preset | Node.js |
| SvelteKit | Static, SSR, endpoints | Adapter | Node.js |
| Vite | Static and client-rendered | None | None |
Support levels
Production-ready means Easel maintains and tests the documented path for production use. Each guide rates individual capabilities with these statuses:
| Capability status | Meaning |
|---|---|
| Supported | Works without framework-specific limitations |
| Supported with configuration | Works after the documented setup |
| Partial | Only the documented subset works |
| Experimental | Works through an evolving framework or platform interface |
| Unsupported | Not available through the current deployment path |
A capability isn't partial just because it needs configuration.
Using an unlisted framework
Build settings offer detection presets for more frameworks than these guides cover. A preset isn't a documented path: there's no tested version, capability table, or published limitations behind it.
A project whose build produces only static HTML, JavaScript, CSS, and assets can usually follow the Vite guide. For a framework that produces server output, check the generated deployment in a preview deployment and contact us before relying on it in production.
Moving from another platform
To bring an existing app from another host, see the migration guide.
Compatibility policy
Easel tests each documented framework against representative applications that cover the capabilities in its guide. The Most recently tested with version in a guide's At a glance table is the latest verified baseline. Nearby stable releases usually work, but new or experimental framework features can need an Easel update.
Before upgrading a framework or adapter in production:
- Deploy the upgrade to a preview deployment.
- Check builds, dynamic routes, caching, middleware, and environment variables.
- Check the framework guide for new limitations or setup changes.
- Promote only after testing your app.
Material compatibility changes appear in Easel release notes and in the matching guide.
Troubleshooting
Fix deployments that don't start, fail to build, or don't serve what you expect.
Next.js
Deploy App Router and Pages Router applications to Easel with support for server rendering, streaming, Server Actions, route handlers, proxy (middleware), image optimization, and framework-native caching.