Well designed web framework for Deno. similar to Fastify. Uses Deno native http server. (which is unstable right now)
app.ts
import {
Denzo,
listenAndServe,
printRoutes,
} from "https://deno.land/x/denzo/mod.ts";
const app = new Denzo();
interface RouteTypes {
Response: {
hello: string;
};
}
app.route<RouteTypes>({
method: "GET",
url: "/hi",
handler() {
return { hello: "world!" };
},
});
listenAndServe(3000, app);
printRoutes(app);
console.log("listening on port 3000");
deno run --allow-net --unstable app.ts
See examples
Well and Reliable design: Denzo follows Fastify design which benefit large projects. Fast: Denzo uses brand new Deno native http server which is faster and better for http/2 protocol. First-Class validation: Like Fastify, Denzo support JSON schemes (also fluent-json-schema). Safe: Plugins are limited to their scope, unless you grant access.
Denzo is inspired by Fastify, but it doesn't mean it's a Fastify port for Deno. There's some differences that we prefer:
Callbacks are fast, but supporting callbacks and promises together is
troublesome. so you should always use async
function or return a Promise
for
your async code.
Keys
instead of decorators
Fastify decorators design is not Typescript friendly, You can use our Keys
design to safely pass data between hooks. see examples/keys.ts.
We would love to hear your feedback and questions! https://discord.gg/YP5TgWbd2C