Adapters & runtimes
DaloyJS is a REST API backend framework. The core only ever sees Request → Response. Runtime-specific concerns, sockets, signals, edge handlers, Lambda event shapes, live in thin adapters at the edge. Choose the adapter for the place you want to deploy your API.
web-standard coreYour DaloyJS AppRequest -> Response
runtimeNode.js@daloyjs/core/node
runtimeBun@daloyjs/core/bun
runtimeDeno@daloyjs/core/deno
edgeCloudflare Workers@daloyjs/core/cloudflare
serverlessVercel / Netlify@daloyjs/core/vercel
edge / serverlessFastly / AWS Lambda@daloyjs/core/fastly · /lambda
Pick a target
Runtimes (you own the process)
Node.jsLong-lived process on Node 24 LTS or Node 26+. Sane request/header/keep-alive timeouts and SIGTERM-driven graceful shutdown.BunNative Bun.serve for REST APIs. Fast startup, built-in TLS, Unix sockets, and hot reload in dev.DenoStable Deno.serve with AbortSignal-based shutdown. Runs anywhere, including Deno Deploy.
Edge & serverless (platform owns the process)
Cloudflare WorkersModules-format Worker. wrangler.jsonc, nodejs_compat, and bindings for KV, R2, D1, DO, Queues, Hyperdrive.NetlifyEdge Functions (Deno) and Functions v2 (Node, fetch-style). The v1 lambda shape is legacy.Fastly ComputeJS Compute via @fastly/js-compute and the fetch-event listener model, wrapped by installFastlyListener.AWS LambdaAPI Gateway HTTP API v2.0, REST API v1.0, Function URLs, and streamifyResponse for streaming.
Roll your own
If your runtime exposes the web-standard Request / Response contract and isn't listed above, you don't need an adapter at all, pass the incoming request straight to app.fetch:
See also
- Deployment: Docker, reverse proxies, health checks, and Node platform guides (Fly.io, Render, Railway, Heroku).
- Scaffolder:
pnpm create daloyships runtime-specific templates.