/hydra

Web framework for Deno which is both fast and fun to use

Primary LanguageTypeScriptMIT LicenseMIT

๐ŸŒ Hydra

Keep in mind that Hydra is still under heavy development and things might drastically change!

Hydra logo, three headed Deno mascot

Web framework for Deno which strives to balance performance and feature richness.

๐Ÿ”ฉ Features

  • ๐Ÿ’– Ease of use
  • ๐Ÿš€ Really, really high performancce
  • ๐Ÿ“ Built-in file-server
  • ๐ŸŒ Fully supported URL Pattern API
  • ๐Ÿ›ก๏ธ Type safety
    • ๐Ÿ“„ Type-first
    • ๐Ÿฅ‡ First framework1 to have fully type-safe URL Patterns!
    • ๐Ÿชฝ Middlewares can switch response type on the fly
  • ๐Ÿ–‡๏ธ No dependencies

1 โ€“ Hydra is the first web framework to support automatic typing of non-capturing and regex groups

๐Ÿฅ… Goals

These goals are pinpoints that need to be achieved before 1.0!

  • โš–๏ธ Strike the right balance Developer Experience and Speed
    • ๐Ÿง‘โ€๐Ÿ’ผ Don't compromise on DX just to make things faster
  • ๐Ÿงช Have 100% test coverage, make sure things are stable
  • ๐Ÿ“ Have great documentation
  • ๐Ÿ”‹ Have all batteries included
    • Create first-party middlewares to make development a walk in the park

Get started

Remember to change VERSION to latest version of Hydra`

import { Hydra } from "https://deno.land/x/hydra@VERSION/mod.ts";

const app = new Hydra("127.0.0.1", 8000);

app.get("/", () => {
  return "Hello world!";
});

await app.serve();

๐Ÿค Contributing

Hydra is open for any contributions.
If you feel like you can enhance this project - please open an issue and/or pull request.
Code should be well document and easy to follow what's going on.

This project follows conventional commits spec.
If your pull request's code can be hard to understand, please add comments to it.

๐Ÿ“ Licensing

This project is available under MIT License conditions.