Deploxa auto-detects your framework from your repository and pre-configures the build pipeline. You can override any detected setting in project settings.
How detection works
Deploxa scans your repository's file tree for config files and dependency names in package.json, and reads next.config.* to tell a static-export Next.js app from a server-rendered one. The output directory is auto-detected after the build, so a mismatched setting won't fail your deploy. Python and Dockerfile-based projects aren't supported — Deploxa builds JavaScript and static sites. You can always override the framework in project settings.
| Framework | Detection signal | Build command | Output dir | Notes |
|---|---|---|---|---|
| Next.js (SSR) | next.config.* without output:'export' | OpenNext | server Lambda + S3 assets | Server-rendered via OpenNext: pages/API on a Lambda, assets + images on S3, with a Next.js image-optimization Lambda (falls back to the original image if optimization is unavailable). ISR / on-demand revalidation is in preview. |
| Next.js (static export) | output:'export' in next.config.* | next build | out | Fully static — served directly from S3. No server runtime. |
| Framework | Detection signal | Build command | Output dir | Notes |
|---|---|---|---|---|
| React | react / vite.config.* / react-scripts | npm run build | dist | Any bundled SPA — Vite, Create React App, Vue or a static Astro build all deploy through this preset. The output directory is auto-detected after the build (dist, build, out, …). |
| Static HTML | index.html, no package.json | — | repo root | Plain HTML/CSS/JS — uploaded as-is. |
| Framework | Detection signal | Build command | Output dir | Notes |
|---|---|---|---|---|
| Node.js / Express | express / start script | — | — | Deployed as a Lambda function with a public URL. |
Go to Project → Settings → Build & Output to manually configure: