Deploying
Take your PledgeJS application to production.
TL;DR
Deploy PledgeJS apps anywhere: Node.js servers, Docker containers, static exports, or edge runtimes. Run pledge build then pledge serve, or use pledge docker --optimized for a Rust-addon-aware multi-stage build.
Last updated: August 22, 2026
Production Build
Running the build command compiles and optimizes your app for production using the PledgePack bundler, generating static assets and server bundles where applicable.
pledge build
pledge serveDocker
Use pledge docker to generate a Dockerfile, .dockerignore, and docker-compose.yml tailored to your PledgeJS project. Add --optimized for a Rust-addon-aware multi-stage build that compiles the native addons in a dedicated stage and ships only the resulting .node/.so files, rather than a Rust toolchain, in the runtime image.
pledge docker
pledge docker --optimizedHosting Options
A PledgeJS app can be deployed to any Node.js server, a Docker container, or a static export, depending on which features your routes rely on. The standalone output mode produces a self-contained server bundle.
standalone — self-contained server bundle for any Node.js hostexport — fully static output for CDN/static hostingDocker — containerized deployment with generated Dockerfile
Edge Runtime
PledgeJS supports edge runtime deployment. Multi-region edge caching with invalidation is built in. Not every workload is a good fit for the edge — routes with heavy, region-locked dependencies are often better left on a traditional server runtime.
Deployment Adapters
Platform adapters wrap the PledgeJS edge handler for each deployment target. Every adapter runs the same edge security pipeline — rate limiting, bot detection, geo restriction, and config-driven CSP — so a request is treated identically regardless of platform. Secrets resolve through the platform's native store: Cloudflare env bindings, Vercel Edge Config, or Deno KV.
| Platform | Entry Point | Import Path |
|---|---|---|
| Cloudflare Workers / Pages | createCloudflareAdapter | pledgestack/adapters/cloudflare |
| Vercel Edge | createVercelEdgeHandler | pledgestack/adapters/vercel |
| Deno Deploy | createDenoHandler | pledgestack/adapters/deno |
| Netlify Functions | createNetlifyHandler | pledgestack/adapters/netlify |
| AWS Lambda / API Gateway | createLambdaHandler | pledgestack/adapters/lambda |
| Azure Functions / Static Web Apps | createAzureHandler | pledgestack/adapters/azure |
| Google Cloud Functions | createGcloudHandler | pledgestack/adapters/gcloud |
| Fastly Compute | createFastlyHandler | pledgestack/adapters/fastly |
| Supabase Edge Functions | createSupabaseHandler | pledgestack/adapters/supabase |
// Vercel Edge — export as the edge entry
import { createVercelEdgeHandler } from 'pledgestack/adapters/vercel';
export default createVercelEdgeHandler({ config });
// Deno Deploy
import { createDenoHandler } from 'pledgestack/adapters/deno';
Deno.serve(createDenoHandler({ config }));Health Checks
Before deploying, run pledge doctor to verify your Rust toolchain, Cargo, environment, and production readiness.
pledge doctor