Repository
Current version released
2 years ago
Versions
- 0.6.2Latest
- 0.6.0
- 0.5.1
- 0.5.0
- 0.4.0
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2.0
- 0.2.0-alpha.15
- 0.2.0-alpha.14
- 0.2.0-alpha.13
- 0.2.0-alpha.12
- 0.2.0-alpha.11
- 0.2.0-alpha.10
- 0.2.0-alpha.9
- 0.2.0.alpha-9
- 0.2.0-alpha.8
- 0.2.0-alpha.7
- 0.2.0-alpha.6
- 0.2.0-alpha.5
- 0.2.0-alpha.4
- 0.2.0-alpha.3
- 0.2.0-alpha.2
- 0.2.0-alpha.1
- 0.2.0-alpha
- 0.1.0
- 0.0.24
- 0.0.23
- 0.0.22
- 0.0.21
- 0.0.20
- 0.0.19
- 0.0.18
- 0.0.17
- 0.0.16
- 0.0.15
- 0.0.14
- 0.0.13
- 0.0.12
- 0.0.11
- 0.0.10
- 0.0.9
- 0.0.8
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- 0.0.0
Cav
A collection of primitives for building full-stack web apps with Deno.
Status: Ready to play with, but not ready for production.
Index
Guiding principles
- Least Astonishment
- Modular, schema-like server definitions
- No-fuss data serialization
- End-to-end typesafety
- Developer independence
- Use the platform
- Have fun 🌈
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 config files
- No CLI
- No dictated project structures
- The client function should use types imported from the server to fully type
requests and responses
- End-to-end typesafety
- Compatible with Zod
- 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
- Zero third-party dependencies (just Deno)
- Production deployments should be a simple git-commit-push
- Deno Deploy without a build step
Inspirations
Cav’s description on GitHub is inspired by the Weird Wide Webring 🤙
Examples
TODO
Setup
TODO
Getting started
TODO
Conventions
TODO