Getting Started
Build web-standard servers with context-based handlers, middleware, and runtime adapters.
Install
npm i sevo
yarn add sevo
pnpm i sevo
bun i sevo
deno i npm:sevo
Quick Start
Create a server entry:
server.ts
import { serve } from "sevo";
import { NodeRuntimeAdapter } from "sevo/node";
serve({
adapter: new NodeRuntimeAdapter(),
fetch() {
return Response.json({ hello: "world" });
},
});
Run it with Node.js:
node --experimental-strip-types server.ts
Quick Start with CLI
Create a default entry file:
server.ts
export default {
fetch() {
return new Response("Hello from sevo");
},
};
Then run:
npx sevo
yarn dlx sevo
pnpm dlx sevo
bunx sevo
deno run -A npm:sevo
Or after installation, run the installed binary directly:
sevo
The CLI will look for common entry names such as:
server.tsserver.mjssrc/server.tssrc/server.mjs
If your entry uses another name or extension, pass it explicitly:
sevo --entry ./server.tsx --import jiti/register
Runtime Adapters
sevo keeps request handling runtime-agnostic. You provide an adapter for the
host environment you want to run on.
sevo/nodesevo/bunsevo/denosevo/stream
Main Exports
import {
Server,
ServerServeEvent,
ServerCloseEvent,
ServerErrorEvent,
serve,
createContextKey,
} from "sevo";
import { log } from "sevo/log";
import { serveStatic } from "sevo/static";
import { StreamRuntimeAdapter } from "sevo/stream";
Examples
The repository includes runnable examples under examples/:
examples/basic/node.tsexamples/basic/bun.tsexamples/basic/deno.tsexamples/basic/stream.tsexamples/jsx/server.tsx