Skip to main content
Resolid Framework supports deployment to multiple platforms out of the box. Choose the platform that best fits your infrastructure needs.

Supported Platforms

Resolid provides built-in presets for the following deployment platforms:

Node.js

Deploy to any Node.js environment

Vercel

Deploy to Vercel serverless functions

Netlify

Deploy to Netlify Functions

Platform Selection

Select your deployment platform in resolid.config.ts using the defineDevConfig function:
resolid.config.ts
import { defineDevConfig } from "@resolid/dev";

export const { vitePluginOptions, reactRouterConfig } = defineDevConfig({
  appDirectory: "src",
  nodeVersion: 22,
  platform: "node", // or "vercel" or "netlify"
});

Configuration Options

All platforms support the following common configuration options:
platform
string
required
The deployment platform: "node", "vercel", or "netlify"
nodeVersion
number
default:"22"
Node.js runtime version (e.g., 18, 20, 22, 24)
appDirectory
string
default:"src"
Directory containing your application code
includeFiles
string[]
Additional files to include in the deployment bundle
entryFile
string
default:"server.ts"
Server entry file path

Dynamic Platform Detection

You can automatically detect the platform based on environment variables:
resolid.config.ts
import { defineDevConfig } from "@resolid/dev";
import { env } from "node:process";

export const { vitePluginOptions, reactRouterConfig } = defineDevConfig({
  appDirectory: "src",
  nodeVersion: 24,
  platform: env.VERCEL == 1 ? "vercel" : env.NETLIFY ? "netlify" : "node",
});

Server Setup

Create a server file that conditionally exports the appropriate server for your platform:
src/server.ts
import {
  createHonoNetlifyServer,
  createHonoNodeServer,
  createHonoVercelServer,
} from "@resolid/dev/http.server";
import { env } from "node:process";

const platform = env.VERCEL ? "vercel" : env.NETLIFY ? "netlify" : "node";

export default platform === "netlify"
  ? await createHonoNetlifyServer()
  : platform === "vercel"
    ? await createHonoVercelServer()
    : await createHonoNodeServer({ port: env.SERVER_PORT });

Build Process

All platforms use the same build command:
npm run build
The build process:
  1. Bundles client-side assets with Vite
  2. Bundles server code with the platform-specific preset
  3. Optimizes and minifies code for production
  4. Generates platform-specific configuration files

Next Steps

Choose your deployment platform to learn more:

Node.js Setup

Traditional server deployment

Vercel Setup

Serverless deployment on Vercel

Netlify Setup

Serverless deployment on Netlify

Build docs developers (and LLMs) love