Tech Preview
EkkoJS mascotEkkoJS mascotEkkoJSEkkoJS

The Modern JavaScript Runtime

Pure ESM. Native performance. Batteries included.

Born from the Norwegian word for echo. Write once, resonate everywhere.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Kestrel-backed HTTP server, Express-style routing + built-in security middleware.
import { createServer, cors, helmet, rateLimit } from "ekko:web";
 
const server = createServer({ port: 3000, compression: true });
 
server.use(cors());
server.use(helmet());
server.use(rateLimit({ max: 100, window: 60_000 }));
 
server.get("/", (req, res) => {
res.json({ message: "Hello from EkkoJS!" });
});
 
// :id is a path param, req.params is parsed for you.
server.get("/users/:id", (req, res) => {
res.json({ userId: req.params.id });
});
 
server.start(); // -> http://0.0.0.0:3000