Skip to main content

Cav

Full stack web primitives for Deno.

Guiding principles:

  • Least Astonishment
  • Modular, schema-like server definitions
  • No-fuss data serialization
  • End-to-end typesafety
  • Developer independence
  • Use the platform
  • Have fun 🌈

Status: Ready to play with, but not ready for production.

Index:

Goals

  • It should do the basics
    • Routing
    • Static asset serving
    • Signed cookies
    • Web sockets
    • Form and JSON parsing
    • De/serialization of most JS data types, including Dates, Maps, Files…
    • Runtime bundling for browser-side TypeScript
    • Works with frontend frameworks like Preact
  • It shouldn’t require special configs, setups, or tooling
    • No CLI or config files
    • No dictated project structures
  • The client function should use types imported from the server to fully type requests and responses
  • Its syntax should be functional and declarative
    • Immutable, schema-like Router and Endpoint definitions
    • No middleware patterns
    • Functions all the way down
  • It should be as independent as possible
    • No third-party dependencies
  • Production deployments should be a simple git-commit-push

Inspirations

Cav’s description on GitHub is inspired by the Weird Wide Webring 🤙

Setup

TODO

Getting started

TODO

Examples

TODO

Docs

TODO