opine

Fast, minimalist web framework for Deno ported from ExpressJS.

Test deno doc

import opine from "https://deno.land/x/opine@master/mod.ts";

const app = opine();

app.use((req, res) => {
  res.send("Hello World");
});

app.listen({ port: 3333 });

Installation

This is a Deno module available to import direct from this repo and via the Deno Registry.

Before importing, download and install Deno.

You can then import Opine straight into your project:

import opine from "https://deno.land/x/opine@master/mod.ts";

Features

  • Robust routing
  • Focus on high performance
  • HTTP helpers

And more to come as we achieve feature parity with ExpressJS.

Docs

Philosophy

The Express philosophy is to provide small, robust tooling for HTTP servers, making it a great solution for single page applications, web sites, hybrids, or public HTTP APIs.

Opine will aim to achieve these same great goals, focussing first on developing robust tooling and features before moving onto accelerating performance and becoming super lightweight.

As time passes, Opine's goals may naturally diverge from ExpressJS and this will be reflected here.

Examples

To view the examples, clone the Opine repo:

git clone git://github.com/asos-craigmorten/opine.git --depth 1
cd opine

Then run whichever example you want:

deno --allow-net --allow-read ./example/hello-world/index.ts

Contributing

Contributing guide

Developing

Run Tests

make test

Run Benchmarks

make benchmark

Format Code

make fmt

Generate Documentation

make typedoc